{"item":"rep-a","status":"complete; replica only; no native entry selection","finding":{"neural_minus_unchanged_mixture_table":{"n":256,"mean":1.7926145412391432,"se":0.06329710261879753,"ci95":[1.6685522201063,1.9166768623719863]},"remaining_oracle_deficit":{"n":256,"mean":4.495096980563429,"se":0.08476358101237634,"ci95":[4.328960361779171,4.661233599347686]},"uncertainty_on_minus_zero_first64":{"n":64,"mean":0.6106975629323923,"se":0.10292857542689392,"ci95":[0.4089575550956802,0.8124375707691044]},"interpretation":"Positive paired replica improvement; less than a two-point gain. Frozen-policy test only; no native entry selection."},"provenance":{"input_sha256":{"https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/filter-brief.md":"0ef2200226b68aa58de6aad268442ba09ada710c54b3fb0ec35c77b491f78a4b","https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/oracle_table.json":"3e9d1fc8874c6d796d4c26948d486b587f2a6b5610b20fba99923a60954cf4b5","https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/replica.py":"d079712fa1f4850ad8337e656e7ee8dbdde806cd4762d597fae50f547ef9c7c4","https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/setup.sh":"dc7fa6a1e59f5b043d3954cf68d538318b7affaf5c0db3ca69a1822680f300d4","https://api.imd.fun/artifacts/827590bb235808bd3789c89ad42e5038d2733d133c744455327a3e4275089b26":"827590bb235808bd3789c89ad42e5038d2733d133c744455327a3e4275089b26","https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/pyproject.toml":"40e2e1534d21ebd915a6350c9e3c75c5e74ed703a339a9df65a6c1e56f961865"},"frozen_embedded_source_sha256":{"mf.py":"8adbd509efdac3e77ccde38d07a7272e9706b42ea4ecc926f77963e2a332445e","run.py":"7d7026c48cea6901ff3debebe5f552a7c263fa330a7f14448338a3df41837d33","agg.py":"d0e2f71bb48ab1467ca63d3af31d63f739678ce839408712f0165a3e69f77479","test_mf.py":"4192217a4bc758a6c0e5308d59224ea02a24dd217da012bd13fe5df824782ddc","sweep.py":"8e6613ef40efa930307bbea6a95acf4c438c15ce26b89afab127ee1b49b6efe5"},"all_embedded_hashes_verified":true,"engine_commit":"6b6921f8d463314aa7c96234e1be25a25245f704","setup":"setup.sh passed wheel hash and StarterStrategy validation; no native scoring."},"policy":{"weights":[0.34585756863130634,0.006358929751509147,-0.11731314570488456,0.5803970934363543,-0.01857139493174426,-0.16531016256981193,1.4842701087958423,0.05359054865756596,0.028332569618677195,1.0106112299959134,0.12018334487789613,0.07886867653934189,0.968771174276211,0.25429938503604516,0.011903592894055619,1.2448772858963244,0.04018087789759721,0.0773429508065127,0.7594639164740339,-0.21557696054652417,0.031301505662080314,0.6310769494005306,0.19750902623445415,-0.17885605941878635,2.7748947607495555,1.9119069374533324,2.3825852196633894,-1.0894300930420089,-1.8653249740718723,-2.899991860658842,-2.882048326156361,-2.851073478518613,-0.9585634166817707,-0.4295597437044266,0.41650395806267815,0.27563590112564545,-1.1175038520059886,1.4250056599788778,-1.5824452576696362,1.9048324937281649,-1.6004090133385098,-1.2610331843129097,-0.01764271555070331,-0.29297988770865424,-0.6610891552449035,0.14270492132789958,0.03519144730709689,-0.157830963081129,2.9137428043325224,3.0999281281301414,0.3609661832802835,-0.023554471537434278,0.02620049023411406,-0.004124955368442339,-0.22276906855098755,0.03583588918099161],"initial_weights":[0.35709316604121577,0.0,0.0,0.5824444102382871,0.0,0.0,1.4982799054350977,0.0,0.0,1.0258056287721926,0.0,0.0,1.014417124472214,0.0,0.0,1.235402161958389,0.0,0.0,0.7257950372308744,0.0,0.0,0.5834704821009574,0.0,0.0,2.7298538521405513,1.8389181433491535,2.341012694177627,-1.077301334898309,-1.8078221341048308,-2.9565240746757593,-2.8375996293142696,-2.8761188768546857,-0.9631800392215452,-0.41557630279412583,0.5165288087428185,0.22651617787808428,-1.0537956046235932,1.3789565218459192,-1.5452568309944108,1.8492048852800775,-1.634900532889989,-1.3167530975489226,0.05641834852182549,-0.2891700347504026,-0.7966886703523273,0.2134902686925236,-0.007801703626389816,-0.0987081010374515,2.8528469375570116,3.1377491374442945,0.36632417929060007,0.0,0.1463,-0.01729320859122605,0.0,0.1463],"weight_sha256":"378bcf5e37226c88d4467f4979368278f20865fe6db535e169e260f8d7a0df09","hidden_units":8,"activation":"tanh","architecture":"3 -> 8 tanh -> 2 offsets, with 3 -> 2 affine connections; 56 trainable scalars. Outputs ordered ask,bid.","features":"z=posterior E[ln(p/spot)] (natural log); own estimated displacement d=-z, exactly redundant with mean. Inputs u=clip(d/.003,-8,8), v=clip(sd/.003,0,4), q=clip(inferred arb probability,0,1). .003 is 30 log bps. Absolute p_hat is unused; no hidden labels, true price, rival state, sampled parameters.","normalization":"See policy.py. Sd is posterior sqrt(Var ln(p/spot)); arb probability is continuous, not a true event flag. Fees use unclipped d=-z, even when u saturates.","layout":"W1=w[0:24] row-major (8,3); b1=w[24:32]; W2=w[32:48] row-major (2,8); b2=w[48:50]; direct=w[50:56] row-major (2,3).","clipping":"Clip each output offset to [-16,16] in 30bps units. askFee=clip(1-exp(d-.003*ask),0,.1); bidFee=clip(1-exp(-.003*bid-d),0,.1). Init .003/.003. Every returned fee is stored with frozen MixFilter.set_fees before the next event.","estimator":"mf.py matches frozen hash; fixed-array accelerator specializes ROUTER=1. Oracle shadow filter is diagnostic only.","inference_api":"NeuralArm.observe(is_buy,ax,ay,t,x,y). is_buy means AMM bought X. Observable callbacks only. Diagnostics in on_trade do not feed policy/filter."},"distillation":{"offset_mse_log":[[1000,0.0013343652617762302],[2000,0.0006903725692610387],[3000,0.0006496430672376515],[4000,0.0006294984308092223],[5000,0.0006245701790290434],[6000,0.0006166032411744832]],"fee_rmse_bps":0.37398665469308257,"fee_max_abs_bps":1.7302627570225937,"grid":"4001 displacements -8..8 in 30bps, flag 0/1, sd=10bps ignored by initial net","seconds":5.61618709564209},"optimizer":{"method":"CMA-ES via cma 4.5.0; all 56 weights; common random numbers on every fitness evaluation","seed":3000030255,"population":16,"initial_sigma":0.055,"cma_stds":[0.15,1.0,1.0,0.15,1.0,1.0,0.15,1.0,1.0,0.15,1.0,1.0,0.15,1.0,1.0,0.15,1.0,1.0,0.15,1.0,1.0,0.15,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0.35,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0],"generation_budget":140,"generations_completed":140,"candidate_evaluations":2243,"training_market_runs":574720,"initial_training_edge":517.8641193250369,"unchanged_table_training_edge":517.9590626147826,"final_training_edge":519.7720856063046,"training_finalists":{"sample_best":519.7720856063046,"cma_final_mean":519.7595613038122,"half_mean_half_best":519.7630828035615},"training_selection":"sample_best","true_p_training":{"oracle_training_edge":524.1572901954079,"retail":550.662862065637,"arb":-26.50557187022912,"seconds":16.96736741065979},"initial_training_oracle_deficit":6.293170870371,"final_training_oracle_deficit":4.385204589103296,"final_minus_table":1.8130229915219616,"checkpoint":"Optimizer/RNG, best weights and full log checkpointed each generation; segments <410s, timeout 470s.","log_columns":["generation","generation_best","population_mean","best_so_far","sigma","seconds"],"log":{"file":"train_log.json","location":"decoded source archive","precision":"exact JSON checkpoint log, all generations and fitness values"}},"experiment":{"training_seeds":[30000,30255],"validation_seeds":[32000,32255],"validation_n":256,"steps":10000,"ablation_seeds":[32000,32063],"forbidden_seeds_used":false,"freeze":{"weight_sha256":"378bcf5e37226c88d4467f4979368278f20865fe6db535e169e260f8d7a0df09","generations":140,"training_score":519.7720856063046,"frozen_before_validation":true},"stream":"RNGs: price Random(seed), retail Random(seed+1), config Random(10000000+seed). Identical streams across arms/ablation.","configs":"size_mean~U[19,21], lambda~U[.6,1], sigma~U[.000882,.001008], in that order. Retail lognormal sd=1.2, mu=ln(size)-.72; GBM drift=-sigma\u00b2/2. Pools start (100,10000), K=1e6, rival fee=.003. Exact draws: streams.py.","no_validation_selection":true},"aggregate":{"neural":{"edge":{"n":256,"mean":519.5923841679812,"se":5.51427992768925,"ci95":[508.7843955097103,530.4003728262521]},"retail_mean":547.512586536057,"arb_mean":-27.920202368075888,"retail_volume_y":78022.85628989637,"arb_volume_y":24931.14813947782,"squared_log_error_sum":5.318446690031066,"error_count":2740232,"pooled_price_rms_bps":13.9315275585271,"coverage":0.9469081450037807,"flag_error_rate":0.10441670632267633,"bid_fee_bps":33.624829028170055,"ask_fee_bps":36.01557502575247,"max_components":4,"merge_count":1716438},"table":{"edge":{"n":256,"mean":517.799769626742,"se":5.534999415637378,"ci95":[506.9511707720927,528.6483684813912]},"retail_mean":546.7312730651407,"arb_mean":-28.931503438398796,"retail_volume_y":74846.55427084591,"arb_volume_y":24522.08008322725,"squared_log_error_sum":6.073210728985771,"error_count":2614859,"pooled_price_rms_bps":15.24000247450349,"coverage":0.9474476444045358,"flag_error_rate":0.10264874702613028,"bid_fee_bps":37.23132531266927,"ask_fee_bps":35.83741749264021,"max_components":4,"merge_count":1656318},"oracle":{"edge":{"n":256,"mean":524.0874811485446,"se":5.554180130793661,"ci95":[513.2012880921891,534.9736742049001]},"retail_mean":549.5630220218419,"arb_mean":-25.475540873297454,"retail_volume_y":75840.0383478259,"arb_volume_y":23759.464026420046,"squared_log_error_sum":5.3048362865174274,"error_count":2622519,"pooled_price_rms_bps":14.22252386404024,"coverage":0.9462806561172674,"flag_error_rate":0.09508987351473908,"bid_fee_bps":36.82953994986816,"ask_fee_bps":35.51707914552905,"max_components":4,"merge_count":1664802},"uncertainty_zero":{"edge":{"n":64,"mean":510.7747022556972,"se":11.990270959225196,"ci95":[487.2737711756158,534.2756333357786]},"retail_mean":536.1709638019028,"arb_mean":-25.39626154620585,"retail_volume_y":75038.61948170161,"arb_volume_y":22952.863624581747,"squared_log_error_sum":1.4886556208185457,"error_count":657852,"pooled_price_rms_bps":15.042950315208346,"coverage":0.9442564588995701,"flag_error_rate":0.10784796580385862,"bid_fee_bps":37.93341589923423,"ask_fee_bps":35.07790523025195,"max_components":4,"merge_count":417442}},"paired":{"neural_minus_table":{"n":256,"mean":1.7926145412391432,"se":0.06329710261879753,"ci95":[1.6685522201063,1.9166768623719863]},"oracle_minus_neural":{"n":256,"mean":4.495096980563429,"se":0.08476358101237634,"ci95":[4.328960361779171,4.661233599347686]},"oracle_minus_table":{"n":256,"mean":6.2877115218025725,"se":0.08046421284287077,"ci95":[6.130001664630546,6.445421378974599]},"uncertainty_on_minus_zero_first64":{"n":64,"mean":0.6106975629323923,"se":0.10292857542689392,"ci95":[0.4089575550956802,0.8124375707691044]}},"statistics":"SE is sample SD of paired per-seed delta divided by sqrt(n); normal 95% CI=mean+/-1.96*SE. Paired comparisons authoritative, not board levels. RMS pools squared log errors and own callback counts before sqrt; bps=1e4*ln(price ratio). Callbacks differ by arm because execution is closed loop. Oracle price RMS shown is its shadow estimator, not the true-p policy error (zero).","per_seed":{"columns":["seed","neural_edge","table_edge","oracle_edge","neural_minus_table","oracle_minus_neural","neural_retail","neural_arb","table_retail","table_arb","oracle_retail","oracle_arb"],"precision":"Edge/delta/split columns are integers in 0.001 Y units; divide by 1000. Aggregate/error statistics use unrounded values.","rows":[[32000,520037,517531,526663,2506,6626,547938,-27901,546583,-29053,551828,-25165],[32001,550504,551497,558675,-993,8171,577302,-26798,579768,-28271,583919,-25244],[32002,409848,408125,413265,1722,3417,435680,-25832,434007,-25881,436722,-23458],[32003,375406,374425,378919,980,3514,396453,-21048,396087,-21662,397893,-18974],[32004,394882,393250,398188,1632,3306,416773,-21891,415497,-22246,417653,-19465],[32005,385753,382781,389200,2972,3447,407547,-21794,404520,-21739,408350,-19150],[32006,435159,432636,440664,2522,5505,459601,-24442,457877,-25241,462578,-21915],[32007,451782,450332,455978,1450,4196,476435,-24653,475471,-25139,478062,-22084],[32008,603294,602822,609887,473,6593,630780,-27486,631818,-28996,635545,-25658],[32009,613725,611843,618502,1882,4777,644946,-31220,644787,-32943,646567,-28065],[32010,444016,439032,446056,4983,2040,467056,-23040,462611,-23578,466452,-20396],[32011,649379,646896,658416,2483,9037,721497,-72117,719694,-72797,725450,-67034],[32012,674096,675441,680978,-1345,6883,706818,-32722,710095,-34654,711333,-30354],[32013,449854,448056,453000,1797,3147,472263,-22409,471552,-23495,473613,-20613],[32014,436354,432565,440175,3789,3821,461341,-24987,458350,-25786,462456,-22282],[32015,443853,441878,447051,1976,3198,467611,-23757,466292,-24414,467948,-20897],[32016,483273,481566,486029,1707,2757,507260,-23987,506407,-24841,507787,-21758],[32017,425970,425152,429192,818,3223,450892,-24923,451009,-25857,451344,-22151],[32018,595350,593541,599780,1809,4430,623695,-28346,622953,-29413,625496,-25717],[32019,486825,485355,490582,1469,3757,512550,-25725,511897,-26542,513757,-23176],[32020,624229,623186,631858,1042,7629,652860,-28632,653944,-30758,659315,-27458],[32021,556004,554377,558851,1628,2847,582688,-26684,581758,-27381,583069,-24218],[32022,666229,664853,670860,1376,4631,694677,-28448,695199,-30346,697799,-26939],[32023,574693,573409,580584,1284,5891,605823,-31131,605599,-32189,608131,-27547],[32024,556103,555997,562792,106,6689,583769,-27666,584625,-28627,587613,-24821],[32025,552304,550488,558449,1816,6145,577314,-25011,576511,-26023,581581,-23132],[32026,437653,436478,440202,1174,2549,459849,-22196,459682,-23204,459970,-19768],[32027,522040,521220,528034,820,5994,549737,-27697,549983,-28763,553433,-25399],[32028,634324,633391,639883,933,5558,665221,-30896,665706,-32315,667979,-28097],[32029,414185,411572,417239,2614,3054,435623,-21438,433293,-21722,436279,-19039],[32030,383606,382829,388186,777,4579,407020,-23414,407121,-24291,409537,-21351],[32031,459106,455950,464762,3156,5656,484469,-25363,481594,-25644,487059,-22297],[32032,626837,624772,631768,2064,4931,656863,-30026,656245,-31473,659237,-27469],[32033,437467,435507,440141,1960,2675,461017,-23550,459362,-23854,461176,-21034],[32034,594979,594004,602809,975,7830,625523,-30544,626053,-32049,630592,-27783],[32035,554388,551917,558158,2471,3771,581252,-26864,580155,-28238,582025,-23866],[32036,416370,414320,418972,2050,2602,439232,-22862,437811,-23490,439274,-20302],[32037,407778,405712,410942,2066,3164,431113,-23335,429290,-23578,431515,-20573],[32038,530788,529666,534696,1122,3908,557677,-26889,558104,-28438,559043,-24347],[32039,413927,411320,415155,2607,1228,434772,-20844,432858,-21538,433841,-18686],[32040,446368,444469,449758,1899,3390,469807,-23439,468706,-24237,471154,-21397],[32041,807136,806627,811968,509,4832,898741,-91605,901049,-94422,902174,-90206],[32042,535660,534622,541020,1038,5360,561820,-26160,562568,-27946,565395,-24374],[32043,372249,368891,375917,3358,3668,393205,-20956,390383,-21492,394235,-18318],[32044,522431,521288,525968,1144,3536,547923,-25491,548119,-26831,549282,-23314],[32045,654442,653924,658069,518,3627,682270,-27827,683891,-29967,684932,-26863],[32046,637827,636262,643515,1565,5688,666433,-28606,666333,-30071,669887,-26371],[32047,434256,432876,436835,1379,2579,457104,-22848,456237,-23361,457064,-20229],[32048,501616,500093,506142,1523,4526,528619,-27003,528257,-28164,530450,-24308],[32049,599625,598794,605715,831,6090,628996,-29371,629654,-30860,632726,-27011],[32050,479507,477846,487043,1661,7537,506011,-26504,505236,-27390,510147,-23104],[32051,634214,634298,640521,-84,6307,663530,-29316,665627,-31329,668006,-27485],[32052,634368,634161,638282,207,3913,662264,-27895,663587,-29426,664036,-25754],[32053,472498,470926,477056,1572,4557,497416,-24918,496507,-25581,499002,-21946],[32054,383753,381583,386299,2170,2546,404664,-20911,402877,-21294,404236,-17936],[32055,545305,543723,549853,1581,4548,572722,-27417,572226,-28503,575158,-25305],[32056,569662,568050,574840,1613,5178,596995,-27332,596846,-28797,600179,-25339],[32057,485435,482459,489638,2976,4203,513409,-27974,510772,-28313,514785,-25147],[32058,472191,470098,476886,2093,4694,496956,-24764,495273,-25174,498436,-21550],[32059,578111,577161,581981,951,3870,605286,-27174,606308,-29147,607540,-25560],[32060,414420,411746,418248,2674,3828,436160,-21740,434795,-23049,437938,-19691],[32061,471245,469353,475639,1892,4394,496699,-25454,495684,-26332,498840,-23201],[32062,522754,522852,528558,-97,5804,547568,-24813,548965,-26113,551200,-22642],[32063,361223,359632,364259,1591,3036,380502,-19279,379768,-20136,381526,-17267],[32064,601477,601444,607004,33,5527,629846,-28369,631657,-30213,632770,-25766],[32065,517029,515310,523407,1719,6378,544174,-27145,543153,-27843,548040,-24633],[32066,688436,686836,694013,1600,5577,720078,-31642,720169,-33333,723609,-29596],[32067,628941,627451,634184,1489,5243,657720,-28779,657667,-30216,660516,-26332],[32068,521484,520792,525804,692,4321,547881,-26398,548486,-27694,549660,-23855],[32069,460793,459418,464128,1375,3335,485476,-24683,484876,-25458,486428,-22299],[32070,627799,624656,631687,3143,3888,658636,-30837,656610,-31954,659546,-27859],[32071,362385,361024,367249,1361,4863,384220,-21834,382615,-21591,386237,-18988],[32072,651613,650273,656627,1339,5015,681526,-29914,682307,-32034,684398,-27771],[32073,606273,604291,612488,1982,6215,637142,-30868,636385,-32093,640435,-27947],[32074,609716,608549,614519,1168,4803,639990,-30274,640262,-31713,642256,-27737],[32075,398451,395321,400271,3130,1819,419702,-21251,416785,-21464,418696,-18426],[32076,462107,459103,465732,3004,3624,487604,-25497,485312,-26209,488723,-22991],[32077,349515,347881,354401,1634,4885,369981,-20466,368813,-20931,372724,-18324],[32078,589871,588268,596833,1603,6962,619189,-29318,618886,-30618,623092,-26260],[32079,544479,543746,550689,733,6210,572025,-27546,573217,-29471,576214,-25525],[32080,588926,587313,594169,1614,5242,619588,-30661,618851,-31539,621764,-27595],[32081,473856,471450,477864,2406,4008,498736,-24880,496958,-25508,499589,-21724],[32082,552117,550364,554925,1754,2808,585109,-32992,584150,-33786,586061,-31136],[32083,479969,477064,484691,2905,4723,506332,-26363,504220,-27156,507723,-23032],[32084,453985,451871,458345,2114,4360,479237,-25252,477723,-25853,480648,-22303],[32085,622315,620015,627220,2299,4906,655670,-33356,655088,-35073,657746,-30526],[32086,560313,556789,563519,3524,3206,587049,-26736,584275,-27485,588133,-24614],[32087,480416,477893,482659,2523,2243,503441,-23025,501986,-24093,504061,-21402],[32088,421266,418923,425769,2343,4504,446796,-25530,444764,-25842,448086,-22317],[32089,543258,541580,549975,1678,6717,572491,-29233,571782,-30202,576578,-26603],[32090,479334,476632,483944,2702,4609,501948,-22613,500283,-23651,504778,-20834],[32091,396850,394367,400961,2483,4112,417066,-20217,415427,-21061,419334,-18372],[32092,661000,657565,665303,3435,4303,690663,-29663,688428,-30863,692920,-27618],[32093,403384,401348,406646,2036,3262,427046,-23662,425080,-23732,427207,-20561],[32094,460197,458386,464991,1812,4793,483626,-23429,482617,-24231,486463,-21473],[32095,533965,531698,537538,2268,3573,563344,-29379,562215,-30517,563974,-26436],[32096,544958,541133,549261,3824,4303,570603,-25646,567837,-26704,572953,-23692],[32097,617562,615189,623328,2374,5765,695834,-78272,695934,-80746,700281,-76953],[32098,501854,500474,506615,1380,4761,525960,-24106,525372,-24898,528550,-21935],[32099,631216,630073,637550,1144,6333,660881,-29665,661464,-31391,664673,-27123],[32100,421602,420007,425711,1594,4109,446905,-25303,446398,-26390,449017,-23306],[32101,676874,675356,680766,1518,3893,709712,-32838,709705,-34350,710311,-29545],[32102,486003,484077,491085,1926,5082,512027,-26024,510689,-26611,514934,-23849],[32103,584578,583370,591562,1208,6984,611330,-26752,611623,-28253,616497,-24934],[32104,497835,497481,500132,354,2298,526421,-28586,527534,-30053,527361,-27228],[32105,488208,486311,492375,1896,4167,512870,-24663,511711,-25400,514328,-21954],[32106,569739,568184,572646,1555,2908,606132,-36393,605091,-36907,607202,-34555],[32107,360966,356609,363257,4357,2291,381274,-20308,377149,-20540,380653,-17396],[32108,403461,399462,406181,3999,2720,424730,-21269,421005,-21543,425207,-19026],[32109,597345,594819,604164,2527,6819,627536,-30191,626601,-31782,632114,-27950],[32110,535185,533059,540281,2127,5096,565595,-30410,564474,-31416,567353,-27072],[32111,440886,439251,444726,1635,3840,462420,-21534,461863,-22612,464666,-19940],[32112,355558,353727,360785,1832,5227,376496,-20938,374921,-21195,378823,-18038],[32113,361029,357987,364828,3042,3798,382774,-21745,380230,-22243,384100,-19272],[32114,557029,554868,562025,2161,4996,585090,-28061,583712,-28845,587344,-25319],[32115,385185,382896,387554,2288,2369,406270,-21086,404876,-21980,406238,-18684],[32116,481216,479000,485260,2216,4044,505655,-24439,504738,-25738,508007,-22748],[32117,494084,491739,496664,2345,2580,551968,-57884,549987,-58248,552158,-55494],[32118,415712,411738,418723,3974,3010,437601,-21889,434111,-22373,437968,-19245],[32119,539122,537663,543689,1459,4566,566552,-27430,565862,-28199,568219,-24531],[32120,423233,420943,427283,2290,4051,445959,-22726,444075,-23132,447577,-20294],[32121,423854,421054,429014,2800,5160,445676,-21822,443528,-22474,448952,-19938],[32122,505538,502622,510117,2916,4579,531835,-26297,529408,-26786,533790,-23673],[32123,597251,595599,602540,1652,5289,627734,-30483,627111,-31512,630402,-27862],[32124,648397,648568,655355,-171,6958,680176,-31780,681658,-33090,685785,-30430],[32125,445110,441264,448117,3846,3006,469518,-24407,466484,-25220,470183,-22067],[32126,635963,634699,641412,1265,5448,664787,-28824,665020,-30321,667360,-25949],[32127,591436,590276,596723,1160,5288,620383,-28948,619799,-29522,622877,-26153],[32128,626444,625024,630798,1420,4354,758874,-132430,758331,-133308,761111,-130312],[32129,544746,544410,552164,335,7419,572679,-27933,573435,-29025,577224,-25060],[32130,520737,517379,523595,3358,2858,547962,-27226,545366,-27988,548689,-25094],[32131,441860,441313,445326,547,3466,465614,-23754,465890,-24577,466743,-21418],[32132,434711,432752,439248,1959,4537,457447,-22736,456300,-23548,459826,-20578],[32133,598876,596677,602439,2199,3563,628650,-29774,628113,-31437,629569,-27130],[32134,503633,503818,509974,-185,6341,530454,-26821,531041,-27222,534086,-24112],[32135,536530,536063,540343,467,3813,560869,-24339,561938,-25875,563202,-22859],[32136,529941,526633,533113,3307,3173,557773,-27833,555218,-28585,558061,-24948],[32137,557390,557790,563503,-401,6113,586093,-28703,588438,-30648,590041,-26538],[32138,544666,544679,551259,-13,6593,571493,-26827,572653,-27974,575868,-24608],[32139,394545,392644,397974,1902,3428,415450,-20904,414162,-21519,416803,-18829],[32140,463242,461182,466515,2060,3273,485666,-22424,484421,-23238,486175,-19660],[32141,392342,390095,395565,2247,3223,414505,-22163,412812,-22717,415212,-19646],[32142,616525,613824,620520,2701,3996,649614,-33089,648290,-34466,651727,-31206],[32143,589974,589743,595028,232,5053,619974,-30000,621371,-31628,622330,-27302],[32144,494033,492910,499349,1122,5316,527619,-33586,527199,-34289,530258,-30909],[32145,579719,578305,585452,1414,5733,608516,-28797,608269,-29964,611200,-25748],[32146,626803,627000,632575,-197,5772,656453,-29650,658117,-31117,659366,-26792],[32147,438703,436754,441756,1949,3053,460927,-22224,459670,-22916,461859,-20104],[32148,618175,615985,622734,2190,4559,646617,-28442,646376,-30391,649237,-26504],[32149,581704,580531,587536,1173,5832,611204,-29500,610773,-30242,613688,-26152],[32150,596952,596478,601785,474,4833,628511,-31559,629357,-32880,629856,-28071],[32151,623922,623490,630017,432,6095,653199,-29277,654112,-30622,656877,-26860],[32152,592332,590481,596532,1851,4200,620672,-28340,620237,-29756,622773,-26240],[32153,376325,375232,380141,1093,3816,399779,-23454,398941,-23709,400861,-20720],[32154,415167,411048,419309,4119,4142,437061,-21894,433631,-22583,438766,-19456],[32155,499043,496341,502942,2702,3899,525014,-25971,523251,-26910,526166,-23224],[32156,389994,388761,396226,1233,6232,412023,-22029,411601,-22840,415665,-19439],[32157,497305,496746,502465,560,5159,522797,-25492,523019,-26274,525150,-22685],[32158,506500,504317,510332,2183,3833,531720,-25220,530563,-26246,533155,-22823],[32159,441301,438502,444986,2798,3685,464206,-22905,461839,-23336,465289,-20303],[32160,536986,534903,540745,2083,3759,563269,-26283,563010,-28107,564758,-24013],[32161,493294,490242,496088,3052,2794,516651,-23357,514785,-24543,517747,-21658],[32162,469898,468921,473981,977,4083,495689,-25791,495406,-26485,497479,-23498],[32163,466859,465427,470272,1433,3413,492188,-25328,491366,-25939,493089,-22817],[32164,454184,451983,456481,2201,2298,477602,-23418,476514,-24531,477980,-21499],[32165,564062,563020,567713,1042,3650,592596,-28533,592454,-29434,593496,-25783],[32166,592121,591958,599063,163,6942,620456,-28335,621397,-29439,624909,-25846],[32167,495637,493279,499537,2359,3900,521449,-25812,519754,-26475,522246,-22709],[32168,684501,681505,689224,2996,4724,723719,-39218,721586,-40081,725428,-36204],[32169,558417,556960,564810,1456,6394,587711,-29295,587227,-30267,590777,-25967],[32170,492797,490619,496601,2177,3804,521230,-28434,519933,-29313,522382,-25781],[32171,492924,491877,496623,1047,3699,517498,-24574,517767,-25890,519091,-22469],[32172,587060,584006,589341,3054,2281,616996,-29937,615359,-31354,617976,-28636],[32173,571734,570427,577804,1307,6070,600142,-28408,600406,-29979,603546,-25742],[32174,365073,363234,367644,1839,2571,385136,-20063,383940,-20706,385527,-17883],[32175,454495,450836,457855,3660,3359,479752,-25257,477086,-26250,480713,-22859],[32176,409724,405987,412646,3738,2922,431076,-21352,427852,-21865,431355,-18708],[32177,425372,423526,431919,1846,6548,447338,-21966,446379,-22853,452373,-20454],[32178,458261,456335,462718,1926,4457,482210,-23949,480791,-24456,484037,-21319],[32179,601775,599943,606832,1833,5056,630413,-28638,630162,-30219,633514,-26682],[32180,440100,439024,444033,1077,3932,462603,-22502,462378,-23354,464476,-20444],[32181,507087,505538,510882,1548,3796,532583,-25496,531400,-25862,533253,-22370],[32182,597973,597584,601854,389,3881,625789,-27816,626946,-29362,627401,-25547],[32183,597011,595835,601863,1176,4852,631714,-34703,631334,-35499,633617,-31754],[32184,537158,535390,540080,1768,2922,564599,-27441,563327,-27937,564897,-24817],[32185,424021,420883,426722,3138,2701,449794,-25773,447207,-26324,448969,-22248],[32186,473695,471802,479152,1893,5458,500757,-27063,499796,-27995,503278,-24126],[32187,750174,749528,756483,647,6308,785203,-35028,785898,-36371,788564,-32081],[32188,567118,564147,569890,2971,2772,594077,-26959,592060,-27913,594325,-24435],[32189,486884,485835,489278,1049,2394,512591,-25707,512117,-26282,512143,-22865],[32190,462730,461168,468604,1562,5874,488255,-25524,487679,-26511,491731,-23127],[32191,393528,391726,396397,1802,2869,412735,-19207,411384,-19659,413280,-16883],[32192,492206,489295,496743,2911,4537,517478,-25271,515133,-25838,519528,-22785],[32193,442434,440181,447801,2253,5366,466129,-23694,464583,-24402,469344,-21544],[32194,498358,495517,502451,2841,4093,525393,-27035,523034,-27516,526654,-24203],[32195,701992,700748,708619,1244,6627,731405,-29413,731726,-30978,735906,-27287],[32196,441839,441306,445190,533,3351,464753,-22914,465326,-24020,465606,-20417],[32197,709766,708298,715856,1469,6089,743771,-34005,744200,-35903,748042,-32186],[32198,592903,589972,596270,2931,3367,620255,-27352,619324,-29352,621502,-25232],[32199,516905,514790,520442,2114,3537,543505,-26600,543303,-28512,545246,-24804],[32200,488889,487926,493883,962,4994,520423,-31534,520361,-32435,523729,-29846],[32201,392697,391112,396166,1585,3470,413793,-21096,413065,-21953,415046,-18880],[32202,617159,616398,623180,761,6021,646653,-29495,647130,-30733,650186,-27007],[32203,522947,520284,527323,2663,4376,550130,-27184,548386,-28102,551721,-24398],[32204,592389,591997,596975,392,4585,621838,-29449,622815,-30818,623537,-26562],[32205,532690,531441,538044,1248,5355,559683,-26994,559884,-28443,563022,-24978],[32206,434194,432558,437951,1636,3757,458404,-24210,457323,-24765,460085,-22134],[32207,513346,511870,517289,1476,3943,541044,-27698,540380,-28510,542055,-24766],[32208,461199,458312,465013,2886,3814,485261,-24062,483354,-25042,486767,-21754],[32209,592220,590399,595528,1820,3309,622032,-29812,620948,-30548,622281,-26753],[32210,498675,497595,504126,1080,5451,524308,-25633,524044,-26449,527069,-22943],[32211,492736,490082,497301,2655,4565,517219,-24483,516603,-26522,520366,-23065],[32212,430457,428484,433362,1973,2905,454320,-23863,452582,-24098,454530,-21168],[32213,541113,538543,546113,2570,5001,567144,-26031,565968,-27425,570733,-24619],[32214,572569,570288,575876,2281,3307,602708,-30139,601909,-31620,603588,-27713],[32215,661791,659770,665795,2021,4004,693874,-32083,692708,-32938,694859,-29064],[32216,482419,479216,485376,3202,2958,512397,-29978,509846,-30630,512077,-26700],[32217,597293,596450,602033,843,4740,626265,-28972,626880,-30429,628472,-26439],[32218,465111,463669,469614,1442,4503,487898,-22787,487087,-23419,490387,-20774],[32219,618871,617423,625781,1448,6910,647693,-28821,647865,-30441,652378,-26597],[32220,524832,521927,529856,2905,5024,552463,-27631,550625,-28699,554181,-24325],[32221,463789,462897,467217,892,3428,488647,-24858,488896,-25999,489658,-22441],[32222,446296,444976,451011,1321,4715,469448,-23152,469177,-24201,472444,-21433],[32223,435453,432733,440421,2719,4968,459855,-24402,458025,-25291,462015,-21594],[32224,495475,494169,500728,1306,5254,521904,-26429,520967,-26798,524669,-23941],[32225,667529,666522,673559,1006,6030,697065,-29537,697699,-31177,700975,-27416],[32226,508912,507423,512696,1489,3784,536487,-27575,535590,-28167,537395,-24699],[32227,427176,425201,431636,1975,4460,450713,-23537,449607,-24405,452964,-21328],[32228,572532,568410,577973,4122,5441,602544,-30013,599205,-30795,605156,-27183],[32229,586346,582130,587456,4217,1109,613331,-26984,610342,-28213,611880,-24424],[32230,526013,524555,530847,1458,4834,552200,-26186,551611,-27056,554431,-23584],[32231,561776,560550,566624,1227,4848,628839,-67063,628595,-68045,632120,-65496],[32232,553331,550638,558203,2692,4872,581425,-28094,579965,-29327,584006,-25803],[32233,720161,719249,725560,913,5399,761080,-40919,761997,-42749,763763,-38203],[32234,678626,677986,682656,641,4029,710789,-32162,712364,-34378,712749,-30094],[32235,525373,522325,530315,3048,4943,552410,-27037,549641,-27317,554213,-23897],[32236,679809,677743,686089,2067,6280,715410,-35600,714599,-36857,718903,-32814],[32237,403769,402943,407458,825,3689,425141,-21372,425308,-22365,426730,-19272],[32238,505811,502773,509821,3038,4010,534520,-28709,532334,-29561,535146,-25325],[32239,534318,533310,539371,1009,5052,561867,-27549,561511,-28201,563840,-24469],[32240,545492,543380,551210,2112,5717,572062,-26570,571291,-27911,575861,-24651],[32241,621491,619955,625716,1535,4225,656902,-35412,656107,-36152,658129,-32413],[32242,497191,494584,502069,2607,4878,522002,-24811,519998,-25415,524062,-21993],[32243,484597,480833,488161,3764,3564,509648,-25051,506662,-25829,510700,-22538],[32244,532131,530590,537138,1541,5007,560151,-28020,559872,-29282,562160,-25022],[32245,572771,571823,578170,948,5399,600081,-27310,600948,-29125,604174,-26004],[32246,660627,659664,666232,963,5605,693416,-32789,692995,-33331,695825,-29593],[32247,393412,392003,397711,1409,4298,417802,-24390,416555,-24552,419113,-21403],[32248,607214,606323,615691,891,8477,635979,-28765,636796,-30473,642326,-26635],[32249,497896,498224,503956,-328,6060,523179,-25283,524526,-26302,526824,-22867],[32250,463706,460051,469055,3655,5349,488730,-25025,485998,-25948,491017,-21962],[32251,385966,383345,389416,2621,3450,406409,-20444,404150,-20805,408053,-18638],[32252,575962,575571,578897,391,2935,602433,-26471,603212,-27641,604350,-25453],[32253,618617,617117,624114,1500,5497,648880,-30263,648430,-31313,651493,-27379],[32254,591774,588963,595153,2811,3379,625031,-33257,623292,-34328,626517,-31364],[32255,579342,577036,582638,2306,3296,607276,-27934,606266,-29230,608545,-25906]]},"ablation":{"definition":"Set only sd input v to 0 on every decision; no refit, same frozen weights/filter/constants; changed policy fees feed filter. All other inputs retain normal inference.","paired_on_minus_zero":{"n":64,"mean":0.6106975629323923,"se":0.10292857542689392,"ci95":[0.4089575550956802,0.8124375707691044]},"columns":["seed","zero_sd_edge","on_minus_zero"],"rows":[[32000,517.8139,2.223],[32001,550.8203,-0.3165],[32002,409.7074,0.1402],[32003,375.5925,-0.1868],[32004,392.4984,2.3839],[32005,384.707,1.0463],[32006,433.422,1.7369],[32007,450.9442,0.8376],[32008,603.29,0.0042],[32009,612.8201,0.9054],[32010,441.4831,2.5326],[32011,648.5531,0.8264],[32012,674.4051,-0.3094],[32013,449.3278,0.5257],[32014,434.6773,1.6766],[32015,444.4822,-0.6289],[32016,482.6369,0.6357],[32017,425.3631,0.6065],[32018,595.6513,-0.3016],[32019,486.3615,0.4633],[32020,623.8272,0.4013],[32021,555.0409,0.9634],[32022,664.6557,1.5738],[32023,575.4753,-0.7825],[32024,556.2082,-0.1053],[32025,550.3473,1.9565],[32026,437.0352,0.6176],[32027,522.4445,-0.4048],[32028,634.7442,-0.4197],[32029,412.7969,1.3885],[32030,382.6978,0.9086],[32031,457.6537,1.4522],[32032,625.8559,0.9807],[32033,437.3263,0.1405],[32034,595.7352,-0.7563],[32035,554.7553,-0.3675],[32036,415.7794,0.5908],[32037,407.0136,0.7641],[32038,531.2991,-0.5109],[32039,413.0742,0.8532],[32040,445.451,0.9171],[32041,806.7166,0.4198],[32042,534.7713,0.8888],[32043,371.4311,0.8178],[32044,522.9166,-0.4851],[32045,654.324,0.1182],[32046,637.1922,0.6349],[32047,433.5486,0.7071],[32048,500.6751,0.9412],[32049,599.8455,-0.2205],[32050,479.2666,0.2402],[32051,635.1168,-0.9031],[32052,634.2577,0.1107],[32053,471.9484,0.5499],[32054,383.3406,0.4124],[32055,544.0418,1.2628],[32056,567.5948,2.0675],[32057,484.0608,1.374],[32058,471.8934,0.2978],[32059,577.8357,0.2756],[32060,413.0799,1.3396],[32061,469.0821,2.1626],[32062,522.5724,0.182],[32063,360.2948,0.9281]]},"checks":{"initial":{"fee_cases":2000,"max_fee_difference":1.1102230246251565e-16,"markets_three_arms":12,"hidden_input_replayed_callbacks":38152,"max_neural_edge_difference":1.516525571787497e-09,"max_neural_se_difference":1.3444662050332568e-12},"final":{"fee_cases":2000,"max_fee_difference":1.1102230246251565e-16,"markets_three_arms":12,"hidden_input_replayed_callbacks":40248,"max_neural_edge_difference":3.5925040720030665e-11,"max_neural_se_difference":2.857783454324192e-14},"checkpoint":{"generation":140,"two_checkpoint_reloads_next_population_identical":true,"population_sha256":"ae205ad87d14f626ad167a9925391f57d2d949896cdd903593f580d484decbb3","sampler_rng_is_serialized_private_instance":true},"offline_replay":{"seed":32000,"arms":3,"site_packages_disabled":true,"exact_reference_match":true},"stdlib_vs_accelerated_max_edge_difference":{"neural":0.09401813055228558,"table":0.013021278391988744,"oracle":0.0,"ablation":0.061823419206575636},"stdlib_vs_accelerated_max_any_metric_difference":{"neural":24.1669310430334,"table":4.0,"oracle":1.0408340855860843e-17,"ablation":16.692436413053656},"authoritative_validation":"Original frozen mf.py + original replica.py + stdlib NeuralArm; full 832 markets. Optional accelerated results cross-checked, source included.","source_hashes":"SHA256 of decoded exact UTF-8 source; verified on extraction."},"runtime":{"cma_fitness_seconds":2409.1711025238037,"distill_seconds":5.61618709564209,"accelerated_validation_seconds":41.137386322021484,"stdlib_validation_seconds":105.4906759262085,"overall_seconds":3307.469},"cost":{"policy_weights":56,"net_operations":"46 multiply-add connections + 10 biases + 8 tanh + 2 exp per callback; 3 input clips + 2 offset clips + 2 fee clips; constant memory.","filter_bound":"At most 4 mixture components after callback, 5 before merge. Fixed accelerator stores two 5x3 double buffers (240 bytes), plus scalar fields; fixed net weights 448 bytes. Runtime/Python object overhead excluded.","worst_callback":"Silent gap: min(gap,400) diffuse+band iterations plus at most one remaining chunk, each <=4 components. One arb/retail update, optional router update, prune and at most one merge of 5 components (10 pair costs). Counters and posterior scalar state are O(1).","gas":"Not measured; no Solidity port or gas claim."},"numeric_dead_ends":[{"case":"Oracle-table distillation on unchanged filter","training_neural_minus_table":-0.09494328974574273,"reason":"Low teacher fee error does not itself add edge; optimization used closed-loop reward."},{"case":"Longest consecutive CMA span without a new best training score","generations":62,"note":"A property of this finite fit, not a proven model-family ceiling."},{"case":"Accelerator not bit-exact closed loop","max_neural_seed_edge_difference":0.09401813055228558,"mean_neural_excess":0.00036725832262618496,"decision":"Use original stdlib evaluation; discrepancy cause not isolated."},{"case":"Closed-loop policy remaining oracle deficit after fit","validation_oracle_minus_neural":{"n":256,"mean":4.495096980563429,"se":0.08476358101237634,"ci95":[4.328960361779171,4.661233599347686]},"reason":"Residual estimator error and restricted policy; this item does not establish a top-10 entry."}],"limitations":["Replica RNG differs from Rust engine. No leaderboard claim, RS2 comparison, 4000-seed confirmation or submission decision.","Only the specified 256-seed training set was optimized; uncertainty effect is assessed without refitting on first 64 validation seeds.","Policy training needs optional pinned scientific packages. Offline inference and authoritative evaluator use stdlib only; all their source/constants are embedded.","No echo-state estimator and no changes to frozen filter parameters/inference."],"dependencies":{"stdlib_fallback":"CPython 3.12.3; standard library only; no network, compiler, native engine or third-party packages needed to run fallback.py.","optional_training_pins":{"numpy":"2.5.4","numba":"0.68.1","llvmlite":"0.50.0","cma":"4.5.0"},"engine_setup_pins":{"amm_sim_rs":"0.1.0.post1","py-solc-x":"2.1.0","pyrevm":"0.3.7"},"distribution_policy":"No optional package is required by the delivered offline evaluator. Third-party installs used for fitting are not part of its runtime."},"source":{"policy.py":"import math\n\ndef features(mean, sd, parb, ablate=False):\n    # mean is E[ln(p/spot)]; displacement = -mean, no separate information.\n    return (min(8.,max(-8.,-mean/.003)), 0. if ablate else min(4.,max(0.,sd/.003)), min(1.,max(0.,parb)))\n\ndef offsets(w, f):\n    h=[math.tanh(w[24+j]+sum(w[j*3+k]*f[k] for k in range(3))) for j in range(8)]\n    return tuple(min(16.,max(-16.,w[48+o]+sum(w[32+o*8+j]*h[j] for j in range(8))+sum(w[50+o*3+k]*f[k] for k in range(3)))) for o in range(2))\n\ndef fees(w, mean, sd, parb, ablate=False):\n    a,b=offsets(w,features(mean,sd,parb,ablate)); d=-mean\n    return min(.1,max(0.,1-math.exp(-b*.003-d))),min(.1,max(0.,1-math.exp(d-a*.003)))\n","fallback.py":"\"\"\"Offline standard-library inference and replica evaluation. No optional dependencies.\"\"\"\nimport math,json,sys,time\nimport mf,replica\nfrom policy import fees\nclass NeuralArm:\n    def __init__(self,w,ablate=False): self.w=w; self.ablate=ablate\n    def init(self,*hidden):\n        self.f=mf.MixFilter(100.,10000.);self.se=0.;self.n=0;self.cov=0;self.flagerr=0\n        return .003,.003\n    def observe(self,is_buy,ax,ay,t,x,y):\n        ph,pa=self.f.update(is_buy,ax,ay,t,x,y)\n        result=fees(self.w,self.f.mean(),math.sqrt(self.f.var()),pa,self.ablate)\n        self.f.set_fees(*result)\n        return result,ph,pa\n    def on_trade(self,is_buy,ax,ay,t,x,y,arb,p,s2):\n        result,ph,pa=self.observe(is_buy,ax,ay,t,x,y)\n        # Diagnostics only, computed after actions and never stored in filter/policy.\n        e=math.log(ph/p);self.se+=e*e;self.n+=1;self.cov+=abs(e)<=1.96*math.sqrt(self.f.var())+1e-12;self.flagerr+=(pa>.5)!=arb\n        return result\n\ndef run(seed,w,mode='neural',steps=10000,ablate=False):\n    a=NeuralArm(w,ablate) if mode=='neural' else mf.Arm('filter' if mode=='table' else 'oracle')\n    r=replica.run(seed,a,steps);r.update(se=a.se,n=a.n,cov=a.cov)\n    return r\nif __name__=='__main__':\n    result=json.load(open(sys.argv[1]));w=result['policy']['weights'];print(json.dumps(run(int(sys.argv[2]),w,sys.argv[3] if len(sys.argv)>3 else 'neural')))\n","extract.py":"\"\"\"Run with stdlib Python: python extract.py result.json output-directory.\nAfter extraction, python fallback.py result.json SEED [neural|table|oracle] needs stdlib only.\nAccelerated training is optional and requires the pinned NumPy/Numba/cma versions.\n\"\"\"\nimport sys,json,pathlib,base64,lzma,hashlib\nr=json.load(open(sys.argv[1]));dst=pathlib.Path(sys.argv[2]);dst.mkdir(parents=True,exist_ok=True)\nsources=dict(r['source']);sources.update(json.loads(lzma.decompress(base64.b85decode(r['accelerator_source']['data']))))\nfor name,body in sources.items():\n assert pathlib.Path(name).name==name\n assert hashlib.sha256(body.encode()).hexdigest()==r['source_sha256'][name],name\n (dst/name).write_text(body)\nprint('verified and extracted',len(sources),'files')\n"},"accelerator_source":{"encoding":"base85(lzma(UTF-8 JSON filename-to-source)); full inference, evaluator, optimizer and log","data":"{Wp48S^xk9=GL@E0stWa761SMbT8$j;O7uPD_sCRh>515`@K{%4Nm9|C?~!ZH*4Lsfy_t24{J_`0tu3Ade71SR;TedbL)z!pV(P-lU}H;$T{`NFwRNzHa2DWdGGj;4OWmJl}(}!s^BU%YoWij@!;~xTg^;*npCtsP;vLnIxfh77Fp{ZcrRv8ZFT;7EB!vN5{xH)(gH^xxi_<Ip*_zg6)QU-imW!)gl{@S7GW^&!_k}{Lsty#^sVGk@&3atu?Rl{p1+#k$wf(=ze(@Z9kAZVkf8B<yPA9;5J-k7o(HmKbKiS!@<n!V9v}D-Z+ZN$U<J8ztcY`{q$+JN%si#SSr!<kNHif5i}sY3B?f6)Qb-x>(publlT@eWuAxA)Cqn;h!rpqKkQ3+nNnHPX;Pj?A`UqdW>i!<kZ3tpHr|}oePEZvn=hxBiX`Nx1*OuPuRIzwhTc`vN!^#gB2P+FEnUcP6*Dc;;;qI!o1r_8<X-disji=%&Xt93xnI26&8T;!I?4@LnyODYm<YBf{!|jjW^u;v<a*z$8h#wJW`d=mI!-$Zn{KXS&V%e#YA<Qn!y!(O!UN&|i<F{F5M}|Ovw4ScUWR{&NYxfZ}opP8=x0pO}$(^=mgLwp`IpyAttbxiq8nz4#r!(>?Nc>W<Jh=)H;SxkIto~DWmP*9_Ijv`x8aSpJ`IS5cqqK3WhKN?CZ>wOR=(#+WldI}v#EC=r;6&BxtO2lIaut<PkLsrGGGP4*U#)!Mj$;08=kf$vOJdZKY{|VTnD|Q&g^VqPzZ2C{n}$?7Q|7fxbuAfFe5@Pxzc-3T&I4q;^2GOg$cyt7Gm=<0y7xA*AF4jZ%YcON1t!02`%=^6cDaXOMO(Y(MUPYEFBQiMA07Z1V7)Kg7cg@Z)M=?1g#Jl^6H~U%qeGvCk$f8kp^z|w{17a6G>CMlbY$kG?kevs<ozFS7G-ABJL`Fsc%8DG_Q`4AkF3jXmiRQ4l)Nf)f)wuGx-O_@?U7J6P1uj&M_zT7^!@Euek+v~|9Y?iD2C+8yayn>2YRp605iu7XZQA&*SBPqFPbyFI218|_XQ++7HZ_VI5d|vME4%Bu5aUAh>;ibQDQ&bZcr=bq}+9o%54laZQ>s904lPqFe>T7miwt#`h3T)bl-Yo*VDc+3~kpPJ_;y@NQwW!dPdWoy&PEs-4?K<T>0xnhE_)Q{6j20t}!njIE1J9&&L5HgdR444?r?&Lyh{<&?tIfdi`h_FX+qY>1Tik1NUA_<=p#*4Pzb|g5p~@7t&M%)B^IiMY^Q>#LJA)&s}gLhq;uG|5+p^%j=(~K64T&33V&;d}!*~bEK#?urFNp5mQh^;s>Hy(&4i)+qSA6s2xQ?WEFKg>F^v=-XtyBKh#81Ac=p7qm-_oWCJ8XM0d1xB|saqeI05*NWO>`d3Q0kmnlq^kwthS3gpt=N}d#g5$m^e@4>|?>>IR*`)m3ATU8d;<JXZv-%iCd6cn41VZG*!bH31Po)BdzZ`t7dWKI2nkf{@ykuaK(w}fz3;0yQQs+Zjxwj6}<KWl<v+*iCJ_YGS!9*7qF_^D#(B&za?Gz3F=*+{9W@_xhxkFdV#S*V4+gW7$P0vOz$R0%_0gv)%On(49`RFu00jtIBEWYHMy)k70T<X$422d;g6%e=$2cGA>%BQFZu9%_U9GJK^^o}b(wFFW!oXDE!Tk-B1?Z`!+XDbep+GrEZiat_i7VLlwJDGw_$bAffq{DLG2Ohif{ps=q88Gg0MyE-9lRvDc-aE{~`cU(4S41pb1wQTWy#v2S7*oK7@g|{<jsybL6sMKK8-l$x6`s{oJP4KVg=FyL6c{*2X*E~rCsn_{_PHGlrD4O97i?cYbk<NtaW$VV;ithcltDzLI-XvM&5AprMITbTeW|2OTGBbkc2Z7mtTuAO3yufWlvAQmw+3V|ROUq4KKif~2Y159Z^Ji7Jb5AF&00tjGl`R@9eoOzrLMY=RV&J~WS4xl7XUVRpG(dEc8VSOhf3t3zZH+3s0I{LWTekC?c6osZFIG-JwAjN)`BPtY+jk*F={qqGr{djl0-}U?m5+pUnep07RX-3PFtTldByqpeD|}L2Zsl*J^QW#OOUCZ{Dh}PdbzGOcOquv~mwn1Qqv;=zl_L;QIpW|#{q#VK{eW38k5>Xq%!FE^s)<F=$bx`PP7$1MZygfMR?tICh_~fghljgMNUwj2M9h_6;_CW4!vgeE!KUp=91|*k0IF70$`-%2wWWN}tkB;6ajaTZ)EQ<aPI;<iay6q#ByN0<>bA()&8|QyReM|S*Qk$-#BSw#0A#>5W_oY6MI@Y;a-j0Y{r`O>KXomHGNA?dFJvO=lg{h)3_+_qZ>LOeCkH9$*LS7e{7-;eL{v?MjL&G-WQ`HJ&I~-8OraU9FQag{0#j0q|BMUsG}J7He~vbwWXB8s{p=MT<)}W_&@-{$2!y?j$HrF^N6aGZ;;EDeJx-b*KkQa{Er5ryuMk1Ovm~5v@6>s3GCeY`1rz!dXt!px5(JOwc>G(U3v-kDBWj}%%A^O1YU3Wonw>w7A31;E+BD<@f0Av+V3wgKnHXieilp9mI3nkyH>J2b9gA%DQk$xt-<lZfu3WYT47X+Cv_FBQf{09@U6)W>(_j9q(UFP{uT4oJV;V~*!+Fp_QO&b!+sj6!XK6KTu>T}qgdE&l*tqe7lLnR=Gt#VHOR{ec+PY*Ye%G(=h&i{Z-XmQVngFacB`Kq@IRn@H<V&`8$w5m4l}v5!1Bo(;faY_`04bQ{d7M==Faz4vwQ^+~qs{XW7Q9iyjH^G*=$|&!7tX>?C$KEvaOl*<imH<uAJy=sYdrr%XrG@Awgy1tUuK4>a2>Wy8sM(tnL9Ip`@tI5OU)rWf1LBLk(}VW$V=F|?boyj8y4~Zl22_-YmbmmqY?n9IP#ChI<-HU5u?cTX_#M++apeogZ`1^;<1K;C;-H(q);@!B<se2l>-hzh_+t}oO$uz@epJ+<?9gSF}?!(?K)&i^OmDkl(gZFj|zuvTVIxFssFf-LeE#>LBAC+Zur9qo#k7|khaNOYDJn#>FCipsIDqUQ(GlPA@RPLHtsSARh-=Ek})V#O&dhe_K>ed$T-7b=+I%7qbFH*a8;1KusFK54w=XIC)&W;$kQZOJS5z+>r6!g59u=JVWkPAcT+ks9T^jQokuiZHgJJixMg;ZI+;{VY{WM_0jERG`wi^U`HMjAB^!a&7Vs5Wha%P8^?scf4Y_wMt}VqMCfltPbYe>e-`vdrWdcC(l$+bPoROM&%9g$e?`=4)fVBamN_j{fGznYaL*zAK^DQ``g+U&SH0}CbKD|yr5LU~usG4Q9qrGDBj%r@V6C_;r3AHx;f1tyh+<eB6ZD#ShtJ#Apy#6iGF|daf2b6(eqIXGtL!TJ0za+jnHyQ!(D;h5^cmK4l0~36Arqi+_iNLV6$Vo)vyScBFp|apQIf7!$+k6*&BZcf~J`5kZ<t&UzI}Ns<Po!Yqa?NUs;Iu}XP;Xs{%kceml><~kZ{{$*VK?9%iD~PM0cur<&Q?#)kQw{&Ebj=EtA}jC6{+|Ag}ST9ra(&8!fXVK&b38HvJ%0hynONrjuh$)tI1Z4E&xLE)y>lcpm;$p<cBT-HAS(o_x#?y3wQ~--{<wnb=BQ4K;;HtKpcXJns1CKn$^&h>q8gu%Cvy(b9Y5o^`0XbM-c@88%PG3^l}c4Idg5V6~h$}GkXj(N5o46KkqNO{C66UP|aCB1gfCgQgq&!-C*sEWBc;64>>wVq`=?X=ZpVy_kP6xg#ZbLDMIyr>O&(2F&SP?k7MZ+UEC1*yGf}U^nQ~W;t5UEN~6Lm^SK9t2}it<M}U2mVVtp~Z9I$m=tg2sUKyrh2I}jN-b&TC{`LDtbl3Lxud&n(Y0C$d0+}3@s}el%f|q|lv4g?(`scfPa!%Q^ke&LwN5i@I4jXEgGJmV0x7BBuSSlR{h1NDIUIW6`6HNx;>C;ZQ_1ZdVNtAWfS~~S69x~ld?*?xvwmb8>ST!3EEnZVLUJ50%6Jw#y^$;U#wBAihc_}`AY(%-m>43N4Pv=my#f<O$KhQ+aG+wZQfpCv=Eg%Dr;8RF08h`VMBy==2eA6FQ-E~5^@qxEs1N&89B;00ovV{fv-pC=4$sGo&^Rc<<?rIG+UF(+p+L_g|fX(Ru`3_9~d`gA#szmTPl`}@;Bu=h)&V-qaYpr1~0__}ae}ycvarvtc^su_x$+(iO=D1dEI6Q(c6x!R_YNXUGX2=M_F`?~q9SoN3i9yGvFYI(h`qA3(B^lMG)aeHSMK;C`=wkm2%4=b6JHU)I0^STBD)5=4)3S^(XLBdG)BS^#K?E<@OaTOuH@uFOYYtu9<FXLxGsvll@5bEMM?Y7_oWhoSjzQ4JMpq6}fn9ckNA7zE{X&%niV;)pY0^O@fyk@0s*?~3Fmnjy#^06WlzB|Lc9wem4~Lw1PMVilDr{gmT_Tfj{uY|&lf_rcrqADBXsR;*F;A#J#8;sI+A{_j9x|pfBqgGjQq4BSUW+t=&Kv+7sB9fTtxjL4N|p4NhOsD^Eq{kMwzWt@xT?7a@)HvHqG46Z!*NrSyQLLFe7Yt8MmaUUi8oUPMY+$onx-Y)l~Qx<9qp2vwn9L8O7NN=%$~1FYuhR7M$3we!BLP(-`RRDpYm81ZoO*{F%JG+aOnl}<XqWS(Cz?ZMSVqieXd+6v!KZZEKt%i8B{~eG%03gQ?{jr1o+9g?y48OV9P;eEHHwK#AW;?9UMzb)iekWtRD!-Owa)n?1~A%sH6N!w9Q~N54=nDpqC{mSyB?Iv(bWzMIMd8z5}2V$}*-cp5objCvvRoZo7WvNQ&U57x_>fKeLIL8#YInwV<C@;|0cYTra1jcQ@`hs!#I)$S3F(ZVUG0-%t+VyUlmZ#mvDFniJ&X-vN)jYBtWm1w@y7oayWK(<eblAOwKr>)Qf`F%sCMoKFNG&Slo|D90|mA7*ew&PNB&(TO*hIz#bTlLzsUPQB)9C8{v=C{-CQ4G|{{Fp-`oaDk+%MK(peZlUnZ8C7aX<J~@{r+!qPFA{;*V6%@b(eTz@l~U*kUV|RVeevIP+YI2Jd;Ri_1wP<Vu8^2q3J~g_H$=g|L(vWlN}d4gYov<K&cAi11*#g9y>&IkTo79+Pi5cA2tJdW*#P?JkB1S=FA01mI7NhQq-r~!J7Ry9mU72hqaAB?oB?;(*=rMX0RTB6;nxRM5+$Qvl;4q|%roI`MzEaZr>fyO&WEW{FK+vs3h}VMsh#Y|MZ$OAzl~qpgNV+#C~jW{YQ9HdYJ;4|MMEVpbCN}0@%1|4((PxgMG_yu8H$kk3M_g&1UTAJ@>LJ#)HB(QgAyZT##3`IT5qOFmPJlnyRqZU&R#vOL1bJteF~xCV4yLx@|NKk+o5;o2}whJV%>a{8e(BJsytEYVGvY!9iijw%n)J3+0Gc(p#>i?aEHG*AQtrDZTdf@J1DmkRm6xua}wLJ=}wel`z|lEcGVh_#`!(hk3cc7YxG8WYuD?K`DNFkLdmdZ&Gb0YeHMiR1gm8aW!u|)TsZI@GvD|y*Yv?k6rEajf8KxJMDG$6dI`)i@q<aD<~#R6Fd&JupItchjNP2&hfs|6^Ot=xG~-!CqtP8J|JYA?7V0*Ej2sjC!|g&99Q7#<@%8PHwCa)YUN)VdL0V7H?)w5?6<M%(JF%lJ9gMY3w5cbHvpUP|oZFT4T!95rH_PDfx@2r-yI#G$7aPg+M{Ami0oF3$uvlvgerTG${dvQdgPXAA%?IKc!_7`@N38RX{%=pF_%^3rXHV1gT69bW7=O!e4Kq9EPCnMS_PS35ORZ)c@*XSZm|tw9#moCE;a9zK^LYPz!YOSdGJDiQXIM6pNxJzS!KU!v=o2HN1fxna7e)JG1(Qq&IPPwT%lGm4FVF51W;^TLj+|mNPH&g7<HXL=`Db;tI`jfWC31Gh3+oIe7P9VYG65Afi!9BI=9+tFZ2?{iAkz6W4>CkB^-_GmcD~YN>Km~pR3&;7ldbzn@uk-n-nmS3cH3H->R04uh$%^+rz0xje<xSM;Y9AX$q*bgWnzDaoYih@u=S2FeBEXu6_GipJWB((Vt^F)yy~3&j<IJ(o*{cmRG!*6eL`MeHhZ3kTXF$#)hvAOy8Xgn?MdQWrObi$iL(}-sGdzIF6kCj6(GqYRW9rAQUhCX87uonB=8hH3Md&kV$Z#^8WFp=-W$+PPkYp#Z8HUOA5CUWtRbsuPS<K*hG@$&kHGM|7{rC$*QZw!=y^#j!bVl<i9#e_E<LnZWQp1VCfo=qk(5)meXS0;=(8w{OlzYjKVuYmjNT)w&Q5nM1R_*({|*WsA3|(L9V#HMa5K<L1Y$d(T-wa4n3re#d~IClg*+ivZx)aPd9aY-^7Fl(B^)Bu@iTp$*URY?h;5I=oDlqD>OM)w)bTx){+AS&Rx~B1c?1IavvM-W1zxvPe<Z_;z0dqR+tzpRY2LO?U~#<bNt}@B=VQ54_K|_w6SC_(mfP)FMoFA8#ovheq8CuS&hV^ni1$G((+#CN26%3Jky?xcj4^{*H6_uWF1ti1A+vEw`VY)n!?=83)jxP%$wE<0n{DWybT?3pQxAb^{?@w6NINyR30i*)h%iv^PG8Z(vGZEwP#AdYj6zJON9~^%``W7HYQRRG78YFWUmUTvuWchExR=F-jo}wy`l;XY(!0at>T6K=qoKxJ_7gF7uBP&2Is!_)ch>t1pr9O`V^(g|C6!9=R*%58WJ542iWXUmAV9|ZhpnI#X0GHqpLe>Y6Udr=p<N8H_TZ_~NZN)}^=5=9Pe-sPq3tAySIwQtLf2aB7;xG@TCFYUQrE^N5HEGS@k?B(1lD@5ckhZ9qYR75(@C98;N-nf3?o(pts8>iaJAvQgRyFgB75zN_12Ay6YHHo@+z=XhD5^Ap(C-*<L$MKNUKM}AJ^DQOXX&``$I01dsS>h?i2cI2CIpgyA?_?hy429H12KP+K+85hCo3&lRmp=DyIv=^uqQx5JH+(Gv^Zry&k3_!sxlTj*T5j?Z-Phf75l}))3G7#`GQ_C=AnUZchs@oq1Ms8;ury=N&tlu_G8OZk;ncrt$QAb>Xnu&3?AAmO201ml}6mDX1$(m1AA76jlhW_}YtZ(LmwON1-33!V@EN2(k#HMb_#9r0}Bj+QffdL~0ydg-cVI%mQy?+P5q>N#rD<BtHU<_ZOE=a8ctq1BRwtPoh8tWUjv#2R|>erj=ZTZyg$r4^Hd?zynK=)~B_qM)KmiRA%w@;*b)@gJuLy>SV#ShoUARFM)HX83xblji=&yRD30yZwulM2FBMK(XaN?#DP~*i51S&%l&7b{5q`!1?y&HaQ55Fqy%h~u$NyZT#f%w!>zEQ%7^PSD<B*?L*Z=mKDXwbUNk26=vrN}=wR~(YHWvMk1x0yF^*+HcFCiP#1cbTUBcX9z!4RIUmP>w*%em0?)R^DH454l>o0C%a>SSqo9q8*`$!#mmdk&}ED@I<KIo@jjG2fOF<3BYJ<t6k_#^0}<<~QDq^W&w<DOJ(@pueN7ry2EWT@WQ|6bsnmbDd{n67DgqRWhoRm)$u$0!6e{gbm=QtE~P0&}8GEm`x7#d?7#kVK)|M3R6&1Va9}0|Cyl3Rb1H$05cx{n2XA2M4qDOBU%HT@cCJPPRKod2(i08V(k{uR;jo|2>Tv0>5<jR^S(ZFz!wi_iZy30IQ{Eq|Tiju-;(@kCO)=p&_|ky%mk5EP@M1PSD9{o*9NM?vG{@^6`4-IZOyY5!3kn@)(q}12)2}9WFThSBFMW1=@p{CQ^6nG|xv};Fm(F5wV_H6r4CM!Ux7{*xVEsq1H@P4luZ{i2UeYLA%?~YT#psN~p4mrNmwe@s^W+h3?KV_(86$ZN3c5+8jFS)hZMa^_iZK)l{dBe0-y21?C`40;2up2@}j_Vv_1O%OR|Lq6i=4>8GAoX$_r}Z}83;txVU}df7DU{x7CGmEU%X2m%rhX~T#`Xl-|BKFCz-Q>LSd6TPwZQ!WlwtwXpj#2mowfzJvk8{^EZ1q*ccKx1jDj}J;uo#bB`ZSK!D5Xtd8dw!N)?R3PJW?1vw`HEB!C&N%uWyF%Vw3qj(S$__qq>JAkd|a9<v#!?Mj+bm@QWOR8x6+fYR_!Npy#h*8A8n=J|C@$m=I3bedB9idZWeP~cq(J%AUx&YoMU?9kI8RIOUY4s6;l^`;DQa%Nkt8M<im2<yy>=sz4<8On6g^^gnyk+ij^ZtM;aW)i2^p941R}Tv2i3l4F!B*5B+`+()(mdx;<OKiktTr<+8AZ16K31^CvPd2bDdBqL2W{Oe}^Oll1)2LRUlC?>T)ys&@7vY_Q<=YGNYHkaQ&bsj1tE&zRnBMiVf;D+U?;c+RrrOHofrCnSNyWi;ElNKLTO16#h<b5{+1x%BUM@K;OYt1U*0M)#L%)g}2c@{8_w1Ao%7yVa)F`b*l(`iE~zK366P@Sk366Lbf{@xif_Oa3pg@p-8jfFgtDjN@>H3+@mhMaA)(+G+Og^-ys&eo=x@PGUU;-YR`?8QT$J%Le4jdW1i<xv^?yjI_h(VJ(M)u!?2EazjYd^Q=({n=gd_aJSC<z3a@m<~-B+Z(QvpNAbLN80sPhe|RN3ogS~WJ+joX-HilD5eCXuBO^@ew^Nd@UrEt}C`7?5m5%J}F0Y~t&8SH;>g#u8+Nnv<oq!5f7jsd!TB2&Z!P3b$CQGJ2EG*uxAn|;gqb+QkfK|ukT(&BkAV2T8NrTdKft-MhGMY53JEjsT<$p&Gu!YblY)Ir*>~Dw1Vd6FDyjZz{VC*g29j_#CWVrt8?q7DMisj5YAGugzcaUSYHUv%HG24f~gWL9DH!IFl@V82e&N|lYz6-)h*)Pik+xf=FyB4rD*-nZ7aY@@t|0Mj?6q(57bt9<(HX;l`up;t%<L=$Ue{PTO5Xwe5$%ED+6&oHNd}y4x77ewBd1nffkwzy91_WFc(+nKiztDxqCA%iv@ainia%GY~K<kV>G>Q(^@VN@Ps1NQ35BX0_3O(vAg1VaA{8M11S`Bj3k(M=j?%O`k*!6_4aPqIU7d%wd>jtYk(DkvkvlnncC($ZtB5J$~(~_%7shqN+2m8$H9Z>WI4(K-{s{z|4D#%w$<Any1cf#e1wMdKlW<zPg$_1mWh^%c;hn!eOOEA!Ac&h1JM9EF9mvS92_xW0)zxrO>qUkA1^`PT0fzbnv_AMYaxZqNAxG>X7Ls^(auMu`S_^-h!Kx`IS8=X!jIhq0AcanvVXC?Un;H90d`Xlm+K>Sh#R|(J|>$<mSVT66_@NR2!QSNAE=*IK2D_?O^79_=fwj@6UowBRZyuwoUs!KV=r0=F$ahDlc-Cgr-IL+dY9V9lM!rl{}y0$`YUZAm~A|yKx%GrPaUa(IWJ{`e6%#DqNr*3=u9pDMaW8OVm><Uq)eLLuz_cl=1a)vaf3ZTq|e*;nIOpDBvAK1SOOL?f6?&8q=!lz}LZbRfh%k6koUGAuERGe*ha6r2r_)c4;-0R;+K6sO``pWKFkTjkt&c34#xyJq<K`Va|B6O!86kD)h!YZ4D*P8Ogruf#p2P^wp{#S;Wl6)RJygMyb7Cw`6kGx9n2u3*$6+?C&zm)Y0xB*A9LBY+LkvUsL;<Le3vM6jx@ep5R)~)n~+<MwV&;z~*(-bq49pBqM+5%&n0izkQTXc~lk{e%4dQ*<A@PeZbew3Lf@ITYy6a5!J&vmzx&ItS_eayZb3*lNFES)(JEq%XOM@Rt=Y!MepxvsHW&x5d=5vg^L=IOR(DA%LEA$QnO?4WXYX~3?W*$GT5g=mI3p&=T)nB}hRS`;uMgymJ25A&SRtb83x>swBLO#3x<mfPYsqVNK9Rc6yY9cS@vM2~CoP~}i7;(ip`k4SYmxl1wI@cRMir8;j1VOvNs-amF<U*s*q&ZJ?(G?1eaqP+{+foOfQ7V@j`FF)0t&0?@P#C6K+=;M>yciu-IX-CX|9)!`-NX|BufY;BVFNcpGJjJ_oEX*cCpD^3dE;9A7=s);F!=;rhkYc1JN(<TJ=c@Q&9JSp!=$U<%s#zw`{_WXLdyRwM;}>kQjOuVedJY#>PW5`nZ@BEB<B2<mUAz|eE^l{Dxp_F}EG{Y!w{*YQhi>%#opz)uaO4_Nw9j`Q77cm0m|6oW983I$F2opn7|<<J)1~E_|F0<klI|`q)K!&>Eek|CgKf=g)8*bnNNupjPIHNb6|Cd7bwI3`cD`>oBrSXjrI|s21ibgPO#UC;DHGZ%8B@oS#u7{hpzYFDwvNeB#aIBu%P~eeN_be;KeDx#ESqVPFuxG#Ytj0Ef_iR4M%indDzt^f7Bjr;5hMY|bRnnnm-GayrjNTDojat^!eFL|BRdS@_3aV8bv>7JiRfe6Eb_2!EQ1KEua&u-ir-my#e;<j;LkwYW6;wFmeQ-IK}#_IjJ<+ajW(M?o>Flt8J<);OKxt<TkIeu2^`fzHlB2;>{s+2JM&0iEdA!9EWo?$3m9$#r6D4pXU{c?k+2z1mCV&b9hoXmSy2zp$`ud<@!l)zPTeF9oQn4dr@|7YQX22N5h7yM(M(#iM5jZC1;B+_S{Uz`^SxU^6~A$k`JA~GR4l*(jVV*h_#E(#^XmbRlYY*=L;7|Nf8YE^R=UD$Kef>wn8s#Ul03>~5FPOtYM%zsid4-ac-;fgEHy1B?mj;3uSo;t6C{eSvqTDTVrELgV^=udf)!U#;~PI?FV~XGElnNX=&Wp%o}AbTYtrDvhFe3H_8Lo);B=;I(S*~)R@VZIwj|aNpiEadzmS5<>9rK^_``yw7Ao#E0Rn}JdFQVWG8i)NTZYr;iS1$RRgWe~vEcL3WVP|*zTZ8!@%W#PG?`a`sipG`wp&}X2fmFRHrhB8=SNRU$d6|ANLt%mv=O*<MHCX1{4=I%QDJS+I{SDe&(-&RO81S+N)5c9^34=?VOvVkmYm+gqO(~EzITdQ{%nL0ZV*8C`JDz{=Y@lzZwz85Rfs<514>#4*;Jf}lEVK9JRH>bsq7%Fp_Cd;K1eSx<B-e;jBa6gmK$U|*w8dp4lE7z`9F#)eD6fam-~mmU&K7Q(wGn0(2$(JVL~JTadq!x2{yPJv7HhUG^fUIn4CEXuz@O9g$qoZ#Yu5=DqE3e2S#<|peL_bF+3|Pv}Ff%PPB0qAxX%T^_4TtY-Fy;U#ITJf(P4E7xE}P{?=6vzylCAv?XQ9ha5p9(3T!x>1`l5sCR%|y8~sA75vTte~lT(X!LZ+LuLORstykxwP-Yt9~%j=k6WCQ$^%=mLS68ckNVBjAqQZ~SYX(dDFLMVkM1{}v`l(h340%IgXlGTKNh~#kr!|f71l_2(9&w{r3XCci@owcyAPV21*r}Fc8iI!q4o9^I|X~(8*n>+EY^49rob*z2Q8ZL2%yh6@{7zcNdbiY*~apP;lXO0-$;5PjR^u9I9!GJ$I+{mDym@@lX0uth;~tTF~ry&xGQ7JXP|=m>m7}OZjaXu5Rax{U5@n}j{yTfY&qz&2y3WuKbTT&CZi9(<%nAnC>|=@MIr6<7a~?h7@O46Rbdl5>pvj{<wVAjcZ%#I?YiIx?ggG{)z!A3(TxN=OsKF=q_xxT210JAPN#Fi{yd{6<o6wIPV}<F2$lvoH}s5<tR?KENkrU35B}Y|No#CGoG|<+tBdx@1Xw%8hRj_MA`IDEYg!uX7qw_Zri`Nz;$M3^;hfPa$}~$-Xj~E|gJPLA_Aq-cvmo3<R^tS<ZVm83J7NX@kBa@~(UU@dj5y?i)bksq5PF^pgDzW59$*~X=SsDWi7nI@A94+HRwn1;yW1g$QO*~%$~k)IU@&>lXvg5^62&TJWK6F=itx#>)J$2E=uK`DhlSzNgtz{DHR9?{5M>e_I!ofUec@Z0JQm9DZPiH_by>fg0p!QGrh)t7ptfm1yLspAZ*9G!q*ELCK@>rf-E|>denodKKxp1q4{hVjEZ$(l><M&3cv$hAXsXR~9BK0rV)Tc|%J!kE4OXMgUO5xtatdjJ@Ke5|v9DqfzHlPu++-rm+w(|ZidmZHjO&=_1)QqdfWNJg(I*hrTH)1GnO0HPMq|eB*=f?&knI9zZv+G28S_lqF}03=+<?Imnf19zT@ro@I$OYdH@4lZQmDh~-6RoMlwjGq@vVHuqG7g2JWWgmHTlQLrAnIYlnHkF=q#GG+c%tw^RW-}{SQu)o?Q^XuSkS|elQY+Y-m$jV_wU0W}3Lt{K5ibCYt>`5r!0R9*6<4(lR=gzEvVN+0SXN83u|rVU_hjRng~Q@+y>98Rg_!9kp->HR_M2s>FC|g&R!{azLN%CRrn5`+c><0B*s6_j-I(!u=rL1T|WRQh2yH<+i_l)jtxFCw|8L6YxMkMviKK;~LMWdh2&|+Y^@=DX8%T`>~#f%3W|DU#*SP1h+XzKx{@}3t@mSBWw<VZgHRC^S>~-Z~<!zj&F6zZ5m&Ey#j25*D*sGJkjc*0=`}$M9U=eO0g2ZasL=yviKeg4=)p1p`m8WKE7emCKTYT&<o^J`iM$16Yh_ht7IS!!q#KfztiS+v#b37zD0~fa{gMkn4}M70X##Fr-b`E4Uuz#k!h`k@P48YvC=g8ZF;u|@mQ4;v};#=s~Y;YS^;ZX`Pt~?<*0^FBs}&$W?E*)?mn9e*gLqN&law4*BXTVRL5Ym9^r`LgV}y>gq63dH$~l;Y0&QZnz!elVb9#cTE1XQxChNqftbQnUS<0CJ~+ohD8hH<GX6`{II363Q50@0K>irz7K|b35Z)w#Jv#j!Z4XX750|UCzTlzstZ0w@ndnB3U#6y7;KXf`caww3VK!bXi=2~Fi>kLR*KIZ({xam`-#rrWnF|c<ap31;&87QA^dS`DqTWv5tb1&p$V&3H*<yI1O8mzi7eLW@7=4EGq#$I1R4kCi=GyBxV2F=C>CX8yt46wCPF9e(LEq5h3!?~+<C)NzV!|z1_jx;>C<UmXGm~j7H`z{*IprbDlY8|<@Ku<pm!{#+79OV2n&h9}_ECW>-waKoDTy+)(||L+De~wSy5)4@Hm-7d<R{1wT5PunqE-vaqpma&is+gw<YHpl3)e3k#3pt7biU18zrWC~c&5RVfR^Xidb2=s#%|rsg0HSC>3Fe3T0`7ru5OZ#EgjeA6xQQEs0<W2%z{B<W#GsV<=fC6%jwnjy+x|3=>0vkd(yJ=Qq+3F&uIPl5IVc!4%&tb^SIlMv34L~AxjCDQVNp?K`6-3;ac8@7l`t3E#a_{0>_-Xh-EH4#pnW&7(sRI{SXc*2#BRx*D>@r_z6a1=o`FM<VMA5aBUP`oS_a%i|VrJy?>}Y<{cy+nOCzl>rN63W|8P&1Z$>joWyh<A5jwT*{wrTb?WhMixt~=dc5iG96$9IVi^sNd$Vf6(0eSg*0=iHqS2w!6ARl3!qYt|#(F&P$m}MUYVVr^cD>H<8q7|@1OH7>^vMD5d0B_F0_>nYmD?kxK9=*EW`IisdBB6TCw&cm5)u1nBb8>*N`$R;8q<L$<`F+(%;LxgFOXM+s35hhEf9Rsj>?+|Wm+m?2VX%QMl`g{zFMFXrZN)ECY@d*Zu{;0sSe9{1*la=ATr0uUV5qP5mnt}J#nMF$lOfC;0*k-+3e=8hMW>l<fX1K?Ip?BNU^d#jrQ5|Kwc2W^|bQ0RMFcYc;D<+h4FOVc)$4Td0VqzepjNuMh;5&0m=?bqS!sUk_0)(q1nvPrhFPg0CC1Cp9)BQw=j&Z?}1!*Fh#LWe%>*)6lnhkWvioUslZzlWv0p!XE&LeGG4D_OG_qW@JsoDqym~$?l`HLf?A+?NL5!|_VS!^(v_4io*8FxA%IvFmKiWx@ag)A{p;x}S_rvW`=}DZ=~`6dc4M|vp)df8)w|oRSjq^?{Nh;y$9}&v3O_+S@9GuDY7$+&fAwxEr2S~)GiDGEOTIIj!yu_>_mcTo>4unu)*!MZB)=U%aD^@2fwq!DQ7;$b<gmBbd!j-8_8jf}Mj$j!FIMtL!K)YCm^}A_@TqMdShIk~CE`5YBm{7Oke#CfHoejQ>3@88Ii5jMz@Pl|L!;V$D)|K3Ug)>RsH}8r(Cs=8%h_*)*4kqyQyKpbT)x*5{4=BN8+>N<$Zrjacr)-=EVIfm{i<FxBp=1g>;RmMO!cTU(F#JrM|3geN2@h_OLkz#=AQ7tn8&;~M5jha0)&G-^LM|kJIISO=7ID|jV^Z&x|fM2;>w_u?N($V!uK;k^Hw2U_^BSW>MWEp&ynjUPDO01`3<sAU+rbxM7CaPlZ*9L&*Rn`{cD%(Yg#zZ^hU$3@_mQbrzf!-YgQb)Sf(`BRU>KICI^+lM59)!gWwM?iNlr}`5JlM-Q9ZheN>xaCI_wW)ks!8fcI<(`U3g1GY^{ivS>#>Im?GW5!`>3WDmx|#cI~L$2!968A<)m_wl$2$x5>u+5t?1GjTB~L;Dvh?F~ufUAt#Z4%^fuey!9-qezHq{q$!xhJ%5!c2sZ<3MjHL?!FBrYUp(l7bBWSV3<uLoo%x%nVx!D(>H!VIhlfB2<_BE^m%E;Fdmw6y9Mgz-d)>LulpkzMoBc~6DfaCF;n$FQ|)-mcvP_L(pmbsDRBVE*1`1ohUJ|dVX(E3z8x>2N>G%Y(v+dCc5T+Na$^a*&Ik*FsdV=gqb45ew9zdkyoop=!4VBzR0`!(Lv&qPn`z!kT&E+YZk(&8!@@?1`-q@S=hcHE=XYv}X(m#|l;#syaMn)=WxYmGw0eU9r(J`8;fm&mff$iY_Hx(bs@A(iC(WspK(L2pRPq?zXpD+7j3~9|d@!`>M4363y|7VCl$eryy?ox_H(XT}?1+|=>Rt-9m*R^^=ORw63|l(km6@cQp~lbsem&Rrk+9*4kCin^=2T>ymK@X4Sl+!s7+zRPYGDI%j^ETcw19K<pBVTUzpmo!pdS|Pho`M1caQ6g{2vS&{4p~?884$>znSBWn(xm$fl(+Ng|Q==>v8mm8!bZAz=7w*6iG9VMlVCBxp157?-PWJ`4VC(sm{A*)65Z{U1*9Gn^H3q>$ajhgZhtcBkzuEMAyAH$J=gA(jHO^Fr2mwd|OteB@I-&3*xLk#_z0}?+kd1r0zdDmZhfd86meo^uUIH7dv7=x?}`Ni!NjRttftKGINl0)D>+cW0X7{O>?QO*THV9aw+wj5K>(kMvexd`sv_R(Vk^ImfiS3yjJmno=H_v%|v;jK&_6L@Od@CHAk4nFp30tL=cABU?hFN4Na)m85hR1_YeY&aL@>BGAY`q)k<j`E|65Y@(Dgqite585y4>o(FEyHF+zOcb5Sx=n-5H!r;Tk#*q2`y8M%8pe4=Jws<WSTk$hz|3hB_nL_WOB%6(F(adyK{WdIqb6(u1}APD2HPg8r)ZDjuvj-2?lUYNN`M#5-#kHqo<Ci%*QKr>`3B7Cq7M!-9DCn_1>p6QiI8neERF8xe);3n+J%8;En6^N7>jVehi4oT%Ed8hBFD!0S;1X&<J@K3bi8C#{w?PTw~<OiX!!UK0zv6VS-pf4s=mcc2qfD(>WkyIg@c8;HG&+P%C4R!!v)Rx$3SzBze0t($sP5nQ*4nbK83PljY99wq}+SpFYESdx9Do^8{W?0eftMp6jAD5N>|0-k-DU$P8a=ebeV7~xyTyXKB)zI5>rLJ5*@32F`VI6V`hV>^}Bp9>74=Wth36wKp0jQ?MtnJ#)74ucko9%&L?6HgF1u$PX+_z3~NB`wQh6^)eh;wzZi<iLxkPZ@RaMOThsk^?lwc}uV4?&_9(y8(*En^wkKvdV|^m7?;;w91}#!Zc6H8*){b;EQ4{PxiMG^j(Q5SKpzBz-n&?#PfcIo_qT*2<p`XI(QI;Sn@$(pOre7KfST`hFnK!4)^>6nSHA43b1<X6Hze&yM5!b&64y`ADyXy<6V-V)TA;E$YQGZq|gb=65Lp>_wFrUg*{tLRu3E2LS(zcDg+TwLaOHWuvcBra_PJShFBH3{dY|ct-u<{A?9!>&0dpdf>_rbD@oJ$ho~S;{Jf4HFxBGS!4OXiyAN};1HE@y_KvjnDN{*y4IOT$#|`U`eGIruF)hC&M63J>G(mq1(pKRB?B_(^^+i45x;@I?M{qcP0Q)t&MLm+Gau;C?c4(P<ykOhF%<%sTUoKOs{-%bR?5)b40Lr2A&2?Rz{fdfr#CgQkD!`Uv$n|-@fTV9J`{-uhB+8A?AbWUWf^_cu78Y|#T%0d6?oeVMDd)bv2f?|dp2NilT1v`31vSrj%*bvL%7b1d$!LwPw^`iGT1AW!%Q*QXe3<7LaMX9ljR5V<e9Bs)qzrR8;whCP@L|rp^X|nnR6G`7-k@x8kCY&|5jd6ao^lm8iNJ@e0+V2%nJoRY}cesZKVs@N8(684)c+hrQ6TFA%bk+X+u-GPkueuN&_7_1I~aZVL;cjl6k4hK9(BgqsYYAoi~IroIvENF(v4Ulu9Iv3cF^@<QCU9GBLU*Mb8nK`2|L!6pS%7??IZu?GLBZ1umroM#B9gHYy4vYt{YAE6=pupL9Pwpd46b0e$)K-pp2aph^)|TT%8s7rBSL9XHVO9SFbeiP4~p&bRYZ?Zy()y3FX9MLrXvk&$wP)w@{2WsZiiP-G<*I=<RLOOrz&E@exg;i982EMdi?=5t-WcyAiyJ%x$Y=}2IzQr>4mtZZ<R4?j+G@wuIB7*?`jYiNfJuKK&l4OM<A`R@kVqr9f9J7W@xmUnKzjkweTlN#Y>AZ!%US+=4ub4Kh-8v#HxMeS_c>fDqhD{##-mZOQ_olLn?n@mQ*?Qy)CNsz9(eN*c>6SF5V8>*I@0*})^B^fFI#IO?JZ^L;!5s)5|IP&A}c8wGA2^TzkN#>5_Xjy#F9t#+(PW{j=V4==Y!lj^8VJXDgiVhn_UT9hVUd2@%2Bf|X%A%&92KCkin2G@7u)G{j@TWX(!RFg5MjONS@g-UC0YJrfRx3($m@#O@RPkna%R#~X2AIU-tym2mc(^b~S<koSAN-oq*3AN3HCUB#NjD4IZCVyxWx;QrEVE)7Jn4IpFFEcX_xy?Maa#&o^xa9}oDpFwvuC}*0)k3f1Ubh>BX!na_;Die+z<qgR%e`){LHso(mQ^HGnY@EM3Y8Q7MA?N=%q^3)Ve}d5_4p$d%oU3rTDI7Qw^|Dlx(jgc2U_Aoh&$5>;HGEtO&SFnT_-Ii9egH<Tyy^DT3cXx;*TT07qpZ%iyogwZ7ptqG}fm)WP*>&5E(73wc${ZU?@`Mzamg8$}yb-r{rYpljUyD+KA;EHwU{KF@H<^$Lnryp%j~Awv$&rH|sU9gZTJ;ta-BttSK-!}`8VP^xeV=5PNa(XZlEr%>8EI_za^(sO+6zsv`j8Gx;D!zQldzWB%C>N4%xBudlwV>oh8tqkcgx(>N1cb2LXtR_DNeJfTnkcd4D2>B>5U1LX|_2lZuhC%3_q5%xmd7{RpSK)s4)Pd(Dr=S^-aAmhmb)dZVqU;|XbV1lnV=O@Tfega@cyHoAwCwN<KRg6C75v&T18uFf(9dO4<;|#2;P2BUbYG&z7<eS-M`U+WiaeKrir7^8JM;U=tTWw<EdyrkLjn&!Ec6po4nAt640wNeK=Y_i%eDA03AGzj7APF0OG!s&e{p2{s}PkY?Hs>~qn`IT&C1#0(hn;-$Rd$|bt(b+Z3^Cnbl)N!=-;G(=(fOs((_!b-iM=v+$M?+S^26oH)YyobH|jXP$xgiD34=p|05f7u`H|Xd5Zet?)^t4K~UX>Wr=izE~{!~<|{sHcJ(Wc=XGvne}3>0sJRX~VanHb2T|822e+H0f*2xOPwU$ehnH?i_olh9{%6<s1ipTzv6%;iI3Is0(0PkdXMPr&7~bO$T-wO$G5tSsra2++XN<jDzv)M5W@yY>(}?@rjgb$&xdArJ?PSs&4jFxhoJLg7g&;Bd8JJ07{#95_$n9g9z4(v)nLjbZ^jXa`PMp@^s2sL1tD!QJ6u})<q$<DBZl-bAwI($B&%!As@g_)4gTn7Us$J0;<LtElsfYQJ4+l(RAGn`5=KSXfAWRl+4~wRq+&v0<7sF*RPm4|eyMiWBc#Rz}zc0IoKHzLE!BMV}(?@aGgi>MKCvM11(SlNZ=|+gs14tY%$upw03A)LM_ttuD!T04n;^s2IxS7|9T{S68;mb7fB1@?EX%E9{n>uW~uJB7)H3{g?ei6mTkTt|>>-#ve7SmD%HNssZ=VA6Ah#j*O;%F|L9AMw{ckV|w5AD6%^l*RhbS*>XB#bd?+JnpDl3+Ey)eE4U`TgJOC=szEi|U8so`pU_c=O<fo2g|;0Ga;J1f9=VJ<K|02i#t!ds22zxKXA#mlqOKexrz~iAgeFKMZZ26nnT9T$7|}9wIT|#dIVDzBUV1fb(9yIpSTOVV@(jlpZj(k8Bd(Y8`!Es>6oj&rvbF;WWT%Ik<fhK<^FnaHx{&{*0#vS_ImH<I3W0*%1y71L3;uyzP1?f5i`Y<<dx}LfMMEqsh27>;17={I{FCYscsoF+{6#=cI9+FuRzKwn=r-khsH1iEo0W$|EV6cQk=J%{!`nnz@u~)P?xlPjk~#C6ckl@6)wGv!F>SOq>M658$Dnb-T?6Kuv$b;Kvz80fYr(+LTA_aQR&U)5UmULMu{uO2@2DILngo>zqJf)GX8Z@)ze!&xwXcT<lb=c0#>MvMxzWP8?r_FnZ|}*CqY0BhOIxu8CpfdDk#!aqx*ctAg4)On)CD)O1qvtNgcq*(mRKiIuC51+FsrRc9rAgA>tpw*}M(7Ui<du>6X>P~UrG;X#Bao@(?l+7%Jcx1DNLmp9_?q2{Igp8UUH?d2#iCrbn6SZ*B^(MxQ9@8J&x`)f6k<vloWzzLR(??Gy_U|v1v$0=AYn69EXKzU&L5w(Y*J+h-*`Jo5kZ~LY^u70%bht#UoGx`4m@@^ug!DXPM<nXMEBrNTw_GF#(lv#D)ksd<Ag@2g&tEJYX&3ai5>MzK-ra>0M3<;?XgU{9*0mu)v88ca>Sxtc%WgAtsqiKGZJIK!}tC^VsSP)xaQ!;2t4b1L8IM>)<)%XJ1LTfhJJ=CIBz@9nx0Cq%4XTL4_?#>9ssOoZG&5Khj7JsN1n;G6ES1E2pC=-YMP1i6<Zmei(P^ZJ#`^&H&09tl9*HcLm_$pTxLN`YElP|6{f#5TfkCM;TE$(!x0IsAy%y)y*qry?3Phuw#!z>Oh?{XOuRD2+c(wU2I=eJY~(php$`!1_^tS|nZ4Qp2Mt!x%8Yg38E^|ss55%~2N<HS)d1;-VvGjEnAi3d!Omt3%Wl>V-g;$C-W7V3pr?pKo462GNE%4@To*rFz%BL3L$T7G`<eQ;?TMpaz|STIfsi}2TRq1_IMRM$Y2KwI^iZB8NzDNr_nFtmsD`}$sK03VzDTLO;bsDNxSCylVKjwVV3V|Kjy8=F-tWf}1#@bYKzzn|f4onO16#S0IrHmNrZlJ~)u`vj^(jwILekyC|F<@9-&Aylngl6o;~JdX#WD1LrkBEmeDKWWMvE*2Q(@Q4lc<93&(<6+16323_ycq|Nx_;i$?I%|q6Xq{_K;E8hMZN)-!NZ2#Wh?tQNdXq{C*MI8~n`*e-6zmAv*K|vE?ZCI-N`lePZ+9wetUrm|DciX)K>_v``9|A&P8{o6J4Z5Q5r|)_wyo2PT{i&RW!f~a#LS3SUZgP+BvbVV4RYeUE4VCHfRPT`C4%&S#CzoXFqvDne^K=FAv!?j^}5Q2RuHo9(^c#okvz;B8->efRUhU&Ob@&?1r&{!&z8-&f-=*rtc&t+dn)<z1H*z`2AVG*a+8a7f#}}^TbZ`uxdzqi+Jh9w-P?ND;P}@xjHth#S=qb~Tlr^Z%v)Pira(Mrp-GrAizIy|l$?)L*fb}1{;n`OCA>>=w>)4UHvIN@)v7h)t`d#>0%@l<Nt7ISZamTjTlTf;4_ZIre`TNKiex;Fd*GO`i|G!8NbGrNchWks(Pc~?PyHAx8H>qhYsOApKra5@DgAbKiq<rV#;f|MU4gC9rF&z=(8defZm*dF4-X+8pR{{P;%B@=i36NMSXnKfsh^X2lJlrr#nirRWc$*C4{LZz*y>|a?+UESDKT7C-sr^}j);E(UbVBOSL@6#&Xu#~*_JIQ1qGl`C(pCnK3euU9v5)Ra`eOoU)|c>8X;BwH;m%;@{%iSY%RdTzN%NwMNG)$XvMqMex%F*w-^gB-F4fbM>_!(g6eEWpV3#lZeufkYtH4|ia&L+wA~#HC*$te>;oVYlQu>bHa#{3mtGYM1ns7YHelBmgx;aBNV|M+;(=}VTOek<DjAiwzGVR&jA-Yo1>b2}ZB_SMmD`&kY)P7OBfesZ;(S>oM@vP&8a~#$35cWfRX*kYaZwFw&B%wdvp>(vkD}S05#LLo4n_!R2pyW-LMM=(vw`xXWAA9!IGuo5>78w^^;xW$s>jKclR4k@w653btQ`;uzx{y?>!n}A+ECs18(s1#%ehYQ38D!11AC0gZ!I~Osl;JPCxv#EwN5iOJkED@(DalDj3K~Wp=7P4HZ|dWUTq5Wy1v1h1|&I2^_2)nfA~ij);2k6$9SG-!*s!wcA(taBUJ;MXdpCqm)b~~KJvB+K`grMVPjm-6v!jX$9wk2QdQG9pb|;w_y8W#=A{f28DxRZ@{c{+gE*OWF=8*^8GZo?y2>pQs*7vW_~rci71GdYjGkCzJHh=5=QltAVhV?ihcAWf3<rhVJFQ;xIkr#G4%*)Ub*RJMHI3f-*$Zt?AzD;)H|uz4eOa_=s(ZQYKvKGhW5P|B`%;@`v5>Agl&1jNHK?DA*=sH1QZayO6MYmyQIeP{*(Wp!`wRQy7y4{F(Sq@Ex(^(_JP2NP1z^-GTB&-9UWyWnL8cD^U!?_gIl`6{Ik7m>m7$%+-vo<W=F&|_I{zIz`8wo?DJz&MLC&sL%G$30&!{arILSf{niAF|bzVmS$;*&Muq@;Ayl<f;rAD%%!5AZTEVI|p2$P!ZT6%z0w7yTihJ7bT0RR91@u6<!QdatP00GB<0g=uFn^Z&gvBYQl0ssI200dcD"},"source_sha256":{"mf.py":"8adbd509efdac3e77ccde38d07a7272e9706b42ea4ecc926f77963e2a332445e","replica.py":"d079712fa1f4850ad8337e656e7ee8dbdde806cd4762d597fae50f547ef9c7c4","oracle_table.json":"3e9d1fc8874c6d796d4c26948d486b587f2a6b5610b20fba99923a60954cf4b5","policy.py":"9edef6d5af68aa03b1d75ef78b1a72a3481e6a88c159cabc6576aa37ea86fece","fallback.py":"58c5729a728d720ebe1bafc4cfd310dac1ea104cc5f221a1ef63847a7768cc3e","streams.py":"d6bc6a8fbdfc3733983ee7d3d5f35c1b8a924e5772ed6ca86b8addf6a6cb159d","fast_mf.py":"0ec00397fcfd00232c7e891323a4336141d170c56141036811c3327be25d319e","evaluator.py":"b35da8ac25b23abc27abe718b2177bcc701e70367713bef46b73729d9d3815c1","distill.py":"9b47ad27cebb70ac00fddf6292d7a3455135581283faf45f59113f892d7351de","train.py":"7036ddbedade1cc2f0fc36e28aaf44ddd65f12c19f2241e1791183186989b945","training_check.py":"103e5fe91155a7bde781af6a9e306e99ab826e1b81d1bb66679c6d4778dd5453","finalize_fit.py":"bc5a85c5f0920b0301cd03ee59c4b07763e350c0fb0a1475488b74b182518f82","validate.py":"a2c4440d48a567684d9c06d13efce4171956141e4479b1e3ff80d224f0e0e0c3","validate_stdlib.py":"0a8b8f2a31588b6edb2ac42ce0d39421975faee22b2cd53c5560f23e5fe7b859","test_policy.py":"4bee296268d3fbafb79a0cbcc6abc4faee8a47d6fdbf437072137a4fea9a28cf","test_checkpoint.py":"7f8fe8b82be8403aca908ded0502c37b47fe28caf8c5265b8f8db19ea0c5b476","extract.py":"c96dc9bf6e34822f690652051cf09aa2f1f7b98031ecbdedf2b9e5443cbdfd6e","aggregate.py":"9f228cc24c1baec47f601d849a685c0cdb7577a23c9d982d82cc00eba91de34b","train_log.json":"f8debd477f134acc1be58ad3c7c7a665c4829547ae2a281fd88637f00956ade1"},"reproduce":"Save source.extract.py. Its docstring gives offline extraction/replay commands; extraction verifies source/log hashes."}