def run(load,check): d=load('C378_DATA.json');cum=d['menus']['cumulative'];reg=d['menus']['regular'];ce=next(f for f in d['fields'] if f['field']=='cumulative')['hits'];re=next(f for f in d['fields'] if f['field']=='regular')['hits'];states=[] for c in ce: i=cum[c['J_pivot_record_indices'][0]]['annual_index'] for r in re: x=reg[r['input_record_indices'][0]];full=x['full430'];g=x['gear'];S=c['input']-460;q=c['J_pivot'];R=r['J_pivot'];N=r['input']+460;delta=R-S-17*529 states.append({'key':f'{full}:{g}:{i}','full430':full,'regular_input_Gear':g,'cumulative_index':i,'input_pair':[c['input'],r['input']],'output_pair':[c['output'],r['output']],'corners':[S,q,R,N],'corner_sum':S+N,'cross_span':R-S,'deviation_from17K':delta,'original_rectangle':delta==0,'cumulative_edge':c,'regular_edge':r}) at={tuple(s['input_pair']):s for s in states};successors=[] check('all24 paired source configurations',len(at)==len(states)==24) for s in states: t=at.get(tuple(s['output_pair'])) if t: label=s['key']+' -> '+t['key'];S,q,R,N=s['corners'];SS,qq,RR,NN=t['corners'] check('typed source path directions '+label,t['full430']==s['full430'] and t['regular_input_Gear']==s['regular_input_Gear']+1 and t['cumulative_index']==s['cumulative_index']-2) check('outer corner displacement '+label,[SS-S,qq-q,RR-R,NN-N]==[-2,-2,2,2]) check('cross span drifts by4 '+label,t['cross_span']-s['cross_span']==4 and t['deviation_from17K']==s['deviation_from17K']+4) check('endpoint sum and2K sides survive '+label,t['corner_sum']==s['corner_sum'] and qq-SS==NN-RR==q-S==N-R==1058) successors.append({'from_key':s['key'],'to_key':t['key'],'from_input_pair':s['input_pair'],'intermediate_pair':s['output_pair'],'final_pair':t['output_pair'],'old_corners':s['corners'],'new_corners':t['corners'],'old_deviation_from17K':s['deviation_from17K'],'new_deviation_from17K':t['deviation_from17K'],'same_corner_sum':s['corner_sum'],'both_original_rectangles':s['original_rectangle'] and t['original_rectangle']}) good=[s for s in states if s['original_rectangle']];out=[r for r in successors if r['from_key'] in {s['key'] for s in good}] check('two original rectangles',[s['key'] for s in good]==['1:1:3','1:2:5']) check('eight complete paired two-step paths',len(successors)==8) check('no two-step path inside original529 conditions',not any(r['both_original_rectangles'] for r in successors)) check('only first original rectangle continues',len(out)==1 and out[0]['from_key']=='1:1:3' and out[0]['to_key']=='1:2:1' and out[0]['old_deviation_from17K']==0 and out[0]['new_deviation_from17K']==4) check('no source path enters an original rectangle',not any(r['to_key'] in {s['key'] for s in good} for r in successors)) return {'step':'C381','paired_states':states,'two_step_paths':successors,'original_rectangle_states':good,'continuations_from_original':out,'counts':{'paired_source_configurations':24,'paired_two_step_paths':8,'original_rectangle_states':2,'two_step_paths_preserving17K':0,'continuations_from_original17K_state':1},'obstruction':'A forward paired step moves cumulative source corners by−2 and regular corners by+2; their cross separation necessarily rises4. Preserving the corner sum is compatible with this drift, preserving17K is not.','interpretation':'The original529-coupled source configurations are not closed under repeated forward common repairs. One can continue the first source pair only by entering a17K+4 frame. No branch switch, missing cumulative annual member or Gear4 is supplied to repair the obstruction.'}