diff --git a/packages/protocol/contracts/libs/yul/PlonkVerifier.yulp b/packages/protocol/contracts/libs/yul/PlonkVerifier.yulp index ae84965c973..d546c79774b 100644 --- a/packages/protocol/contracts/libs/yul/PlonkVerifier.yulp +++ b/packages/protocol/contracts/libs/yul/PlonkVerifier.yulp @@ -46,7 +46,7 @@ object "plonk_verifier" { } mstore(0x20, mod(calldataload(0x0), f_q)) mstore(0x40, mod(calldataload(0x20), f_q)) -mstore(0x0, 13691243129579352218385320265178202549513122820217219253800207314298910227122) +mstore(0x0, 2650073228546597285498128370665412117817632668990668978721563035398204088421) { let x := calldataload(0x40) @@ -87,26 +87,26 @@ mstore(0x0, 13691243129579352218385320265178202549513122820217219253800207314298 mstore(0x180, y) success := and(validate_ec_point(x, y), success) } - +mstore(0x1a0, keccak256(0x0, 416)) { - let x := calldataload(0x180) - mstore(0x1a0, x) - let y := calldataload(0x1a0) - mstore(0x1c0, y) - success := and(validate_ec_point(x, y), success) + let hash := mload(0x1a0) + mstore(0x1c0, mod(hash, f_q)) + mstore(0x1e0, hash) } -mstore(0x1e0, keccak256(0x0, 480)) +mstore8(512, 1) +mstore(0x200, keccak256(0x1e0, 33)) { - let hash := mload(0x1e0) - mstore(0x200, mod(hash, f_q)) - mstore(0x220, hash) + let hash := mload(0x200) + mstore(0x220, mod(hash, f_q)) + mstore(0x240, hash) } -mstore8(576, 1) -mstore(0x240, keccak256(0x220, 33)) + { - let hash := mload(0x240) - mstore(0x260, mod(hash, f_q)) - mstore(0x280, hash) + let x := calldataload(0x180) + mstore(0x260, x) + let y := calldataload(0x1a0) + mstore(0x280, y) + success := and(validate_ec_point(x, y), success) } { @@ -140,28 +140,28 @@ mstore(0x240, keccak256(0x220, 33)) mstore(0x380, y) success := and(validate_ec_point(x, y), success) } +mstore(0x3a0, keccak256(0x240, 352)) +{ + let hash := mload(0x3a0) + mstore(0x3c0, mod(hash, f_q)) + mstore(0x3e0, hash) +} { let x := calldataload(0x2c0) - mstore(0x3a0, x) + mstore(0x400, x) let y := calldataload(0x2e0) - mstore(0x3c0, y) + mstore(0x420, y) success := and(validate_ec_point(x, y), success) } { let x := calldataload(0x300) - mstore(0x3e0, x) + mstore(0x440, x) let y := calldataload(0x320) - mstore(0x400, y) + mstore(0x460, y) success := and(validate_ec_point(x, y), success) } -mstore(0x420, keccak256(0x280, 416)) -{ - let hash := mload(0x420) - mstore(0x440, mod(hash, f_q)) - mstore(0x460, hash) -} { let x := calldataload(0x340) @@ -178,35 +178,35 @@ mstore(0x420, keccak256(0x280, 416)) mstore(0x4e0, y) success := and(validate_ec_point(x, y), success) } +mstore(0x500, keccak256(0x3e0, 288)) +{ + let hash := mload(0x500) + mstore(0x520, mod(hash, f_q)) + mstore(0x540, hash) +} +mstore8(1376, 1) +mstore(0x560, keccak256(0x540, 33)) +{ + let hash := mload(0x560) + mstore(0x580, mod(hash, f_q)) + mstore(0x5a0, hash) +} { let x := calldataload(0x3c0) - mstore(0x500, x) + mstore(0x5c0, x) let y := calldataload(0x3e0) - mstore(0x520, y) + mstore(0x5e0, y) success := and(validate_ec_point(x, y), success) } { let x := calldataload(0x400) - mstore(0x540, x) + mstore(0x600, x) let y := calldataload(0x420) - mstore(0x560, y) + mstore(0x620, y) success := and(validate_ec_point(x, y), success) } -mstore(0x580, keccak256(0x460, 288)) -{ - let hash := mload(0x580) - mstore(0x5a0, mod(hash, f_q)) - mstore(0x5c0, hash) -} -mstore8(1504, 1) -mstore(0x5e0, keccak256(0x5c0, 33)) -{ - let hash := mload(0x5e0) - mstore(0x600, mod(hash, f_q)) - mstore(0x620, hash) -} { let x := calldataload(0x440) @@ -231,28 +231,28 @@ mstore(0x5e0, keccak256(0x5c0, 33)) mstore(0x6e0, y) success := and(validate_ec_point(x, y), success) } +mstore(0x700, keccak256(0x5a0, 352)) +{ + let hash := mload(0x700) + mstore(0x720, mod(hash, f_q)) + mstore(0x740, hash) +} { let x := calldataload(0x500) - mstore(0x700, x) + mstore(0x760, x) let y := calldataload(0x520) - mstore(0x720, y) + mstore(0x780, y) success := and(validate_ec_point(x, y), success) } { let x := calldataload(0x540) - mstore(0x740, x) + mstore(0x7a0, x) let y := calldataload(0x560) - mstore(0x760, y) + mstore(0x7c0, y) success := and(validate_ec_point(x, y), success) } -mstore(0x780, keccak256(0x620, 352)) -{ - let hash := mload(0x780) - mstore(0x7a0, mod(hash, f_q)) - mstore(0x7c0, hash) -} { let x := calldataload(0x580) @@ -277,28 +277,16 @@ mstore(0x780, keccak256(0x620, 352)) mstore(0x880, y) success := and(validate_ec_point(x, y), success) } - +mstore(0x8a0, keccak256(0x740, 352)) { - let x := calldataload(0x640) - mstore(0x8a0, x) - let y := calldataload(0x660) - mstore(0x8c0, y) - success := and(validate_ec_point(x, y), success) -} - -{ - let x := calldataload(0x680) - mstore(0x8e0, x) - let y := calldataload(0x6a0) - mstore(0x900, y) - success := and(validate_ec_point(x, y), success) -} -mstore(0x920, keccak256(0x7c0, 352)) -{ - let hash := mload(0x920) - mstore(0x940, mod(hash, f_q)) - mstore(0x960, hash) + let hash := mload(0x8a0) + mstore(0x8c0, mod(hash, f_q)) + mstore(0x8e0, hash) } +mstore(0x900, mod(calldataload(0x640), f_q)) +mstore(0x920, mod(calldataload(0x660), f_q)) +mstore(0x940, mod(calldataload(0x680), f_q)) +mstore(0x960, mod(calldataload(0x6a0), f_q)) mstore(0x980, mod(calldataload(0x6c0), f_q)) mstore(0x9a0, mod(calldataload(0x6e0), f_q)) mstore(0x9c0, mod(calldataload(0x700), f_q)) @@ -334,59 +322,59 @@ mstore(0xd60, mod(calldataload(0xaa0), f_q)) mstore(0xd80, mod(calldataload(0xac0), f_q)) mstore(0xda0, mod(calldataload(0xae0), f_q)) mstore(0xdc0, mod(calldataload(0xb00), f_q)) -mstore(0xde0, mod(calldataload(0xb20), f_q)) -mstore(0xe00, mod(calldataload(0xb40), f_q)) -mstore(0xe20, mod(calldataload(0xb60), f_q)) -mstore(0xe40, mod(calldataload(0xb80), f_q)) -mstore(0xe60, mod(calldataload(0xba0), f_q)) -mstore(0xe80, mod(calldataload(0xbc0), f_q)) -mstore(0xea0, mod(calldataload(0xbe0), f_q)) -mstore(0xec0, mod(calldataload(0xc00), f_q)) -mstore(0xee0, keccak256(0x960, 1408)) +mstore(0xde0, keccak256(0x8e0, 1280)) { - let hash := mload(0xee0) - mstore(0xf00, mod(hash, f_q)) - mstore(0xf20, hash) + let hash := mload(0xde0) + mstore(0xe00, mod(hash, f_q)) + mstore(0xe20, hash) } { - let x := calldataload(0xc20) - mstore(0xf40, x) - let y := calldataload(0xc40) - mstore(0xf60, y) + let x := calldataload(0xb20) + mstore(0xe40, x) + let y := calldataload(0xb40) + mstore(0xe60, y) success := and(validate_ec_point(x, y), success) } { - let x := calldataload(0xc60) - mstore(0xf80, x) - let y := calldataload(0xc80) - mstore(0xfa0, y) + let x := calldataload(0xb60) + mstore(0xe80, x) + let y := calldataload(0xb80) + mstore(0xea0, y) success := and(validate_ec_point(x, y), success) } { - let x := calldataload(0xca0) - mstore(0xfc0, x) - let y := calldataload(0xcc0) - mstore(0xfe0, y) + let x := calldataload(0xba0) + mstore(0xec0, x) + let y := calldataload(0xbc0) + mstore(0xee0, y) success := and(validate_ec_point(x, y), success) } { - let x := calldataload(0xce0) - mstore(0x1000, x) - let y := calldataload(0xd00) - mstore(0x1020, y) + let x := calldataload(0xbe0) + mstore(0xf00, x) + let y := calldataload(0xc00) + mstore(0xf20, y) success := and(validate_ec_point(x, y), success) } -mstore(0x1040, keccak256(0xf20, 288)) +mstore(0xf40, keccak256(0xe20, 288)) { - let hash := mload(0x1040) - mstore(0x1060, mod(hash, f_q)) - mstore(0x1080, hash) + let hash := mload(0xf40) + mstore(0xf60, mod(hash, f_q)) + mstore(0xf80, hash) } -mstore(0x10a0, mulmod(mload(0x940), mload(0x940), f_q)) +mstore(0xfa0, mulmod(mload(0x8c0), mload(0x8c0), f_q)) +mstore(0xfc0, mulmod(mload(0xfa0), mload(0xfa0), f_q)) +mstore(0xfe0, mulmod(mload(0xfc0), mload(0xfc0), f_q)) +mstore(0x1000, mulmod(mload(0xfe0), mload(0xfe0), f_q)) +mstore(0x1020, mulmod(mload(0x1000), mload(0x1000), f_q)) +mstore(0x1040, mulmod(mload(0x1020), mload(0x1020), f_q)) +mstore(0x1060, mulmod(mload(0x1040), mload(0x1040), f_q)) +mstore(0x1080, mulmod(mload(0x1060), mload(0x1060), f_q)) +mstore(0x10a0, mulmod(mload(0x1080), mload(0x1080), f_q)) mstore(0x10c0, mulmod(mload(0x10a0), mload(0x10a0), f_q)) mstore(0x10e0, mulmod(mload(0x10c0), mload(0x10c0), f_q)) mstore(0x1100, mulmod(mload(0x10e0), mload(0x10e0), f_q)) @@ -397,948 +385,889 @@ mstore(0x1180, mulmod(mload(0x1160), mload(0x1160), f_q)) mstore(0x11a0, mulmod(mload(0x1180), mload(0x1180), f_q)) mstore(0x11c0, mulmod(mload(0x11a0), mload(0x11a0), f_q)) mstore(0x11e0, mulmod(mload(0x11c0), mload(0x11c0), f_q)) -mstore(0x1200, mulmod(mload(0x11e0), mload(0x11e0), f_q)) -mstore(0x1220, mulmod(mload(0x1200), mload(0x1200), f_q)) -mstore(0x1240, mulmod(mload(0x1220), mload(0x1220), f_q)) -mstore(0x1260, mulmod(mload(0x1240), mload(0x1240), f_q)) -mstore(0x1280, mulmod(mload(0x1260), mload(0x1260), f_q)) -mstore(0x12a0, mulmod(mload(0x1280), mload(0x1280), f_q)) -mstore(0x12c0, mulmod(mload(0x12a0), mload(0x12a0), f_q)) -mstore(0x12e0, mulmod(mload(0x12c0), mload(0x12c0), f_q)) -mstore(0x1300, addmod(mload(0x12e0), 21888242871839275222246405745257275088548364400416034343698204186575808495616, f_q)) -mstore(0x1320, mulmod(mload(0x1300), 21888201123329158951656153352668191879939568188478319927128792530760328118785, f_q)) -mstore(0x1340, mulmod(mload(0x1320), 15837174511167031493871940795515473313759957271874477857633393696392913897559, f_q)) -mstore(0x1360, addmod(mload(0x940), 6051068360672243728374464949741801774788407128541556486064810490182894598058, f_q)) -mstore(0x1380, mulmod(mload(0x1320), 1769632609887742868080915468068339302011836563132608883078842147442873613232, f_q)) -mstore(0x13a0, addmod(mload(0x940), 20118610261951532354165490277188935786536527837283425460619362039132934882385, f_q)) -mstore(0x13c0, mulmod(mload(0x1320), 11402394834529375719535454173347509224290498423785625657829583372803806900475, f_q)) -mstore(0x13e0, addmod(mload(0x940), 10485848037309899502710951571909765864257865976630408685868620813772001595142, f_q)) -mstore(0x1400, mulmod(mload(0x1320), 13315224328250071823986980334210714047804323884995968263773489477577155309695, f_q)) -mstore(0x1420, addmod(mload(0x940), 8573018543589203398259425411046561040744040515420066079924714708998653185922, f_q)) -mstore(0x1440, mulmod(mload(0x1320), 6363119021782681274480715230122258277189830284152385293217720612674619714422, f_q)) -mstore(0x1460, addmod(mload(0x940), 15525123850056593947765690515135016811358534116263649050480483573901188781195, f_q)) -mstore(0x1480, mulmod(mload(0x1320), 14686510910986211321976396297238126901237973400949744736326777596334651355305, f_q)) -mstore(0x14a0, addmod(mload(0x940), 7201731960853063900270009448019148187310390999466289607371426590241157140312, f_q)) -mstore(0x14c0, mulmod(mload(0x1320), 1, f_q)) -mstore(0x14e0, addmod(mload(0x940), 21888242871839275222246405745257275088548364400416034343698204186575808495616, f_q)) -mstore(0x1500, mulmod(mload(0x1320), 5854133144571823792863860130267644613802765696134002830362054821530146160770, f_q)) -mstore(0x1520, addmod(mload(0x940), 16034109727267451429382545614989630474745598704282031513336149365045662334847, f_q)) +mstore(0x1200, addmod(mload(0x11e0), 21888242871839275222246405745257275088548364400416034343698204186575808495616, f_q)) +mstore(0x1220, mulmod(mload(0x1200), 21888201123329158951656153352668191879939568188478319927128792530760328118785, f_q)) +mstore(0x1240, mulmod(mload(0x1220), 15837174511167031493871940795515473313759957271874477857633393696392913897559, f_q)) +mstore(0x1260, addmod(mload(0x8c0), 6051068360672243728374464949741801774788407128541556486064810490182894598058, f_q)) +mstore(0x1280, mulmod(mload(0x1220), 1769632609887742868080915468068339302011836563132608883078842147442873613232, f_q)) +mstore(0x12a0, addmod(mload(0x8c0), 20118610261951532354165490277188935786536527837283425460619362039132934882385, f_q)) +mstore(0x12c0, mulmod(mload(0x1220), 11402394834529375719535454173347509224290498423785625657829583372803806900475, f_q)) +mstore(0x12e0, addmod(mload(0x8c0), 10485848037309899502710951571909765864257865976630408685868620813772001595142, f_q)) +mstore(0x1300, mulmod(mload(0x1220), 13315224328250071823986980334210714047804323884995968263773489477577155309695, f_q)) +mstore(0x1320, addmod(mload(0x8c0), 8573018543589203398259425411046561040744040515420066079924714708998653185922, f_q)) +mstore(0x1340, mulmod(mload(0x1220), 6363119021782681274480715230122258277189830284152385293217720612674619714422, f_q)) +mstore(0x1360, addmod(mload(0x8c0), 15525123850056593947765690515135016811358534116263649050480483573901188781195, f_q)) +mstore(0x1380, mulmod(mload(0x1220), 14686510910986211321976396297238126901237973400949744736326777596334651355305, f_q)) +mstore(0x13a0, addmod(mload(0x8c0), 7201731960853063900270009448019148187310390999466289607371426590241157140312, f_q)) +mstore(0x13c0, mulmod(mload(0x1220), 1, f_q)) +mstore(0x13e0, addmod(mload(0x8c0), 21888242871839275222246405745257275088548364400416034343698204186575808495616, f_q)) +mstore(0x1400, mulmod(mload(0x1220), 5854133144571823792863860130267644613802765696134002830362054821530146160770, f_q)) +mstore(0x1420, addmod(mload(0x8c0), 16034109727267451429382545614989630474745598704282031513336149365045662334847, f_q)) { - let prod := mload(0x1360) + let prod := mload(0x1260) - prod := mulmod(mload(0x13a0), prod, f_q) - mstore(0x1540, prod) + prod := mulmod(mload(0x12a0), prod, f_q) + mstore(0x1440, prod) - prod := mulmod(mload(0x13e0), prod, f_q) - mstore(0x1560, prod) + prod := mulmod(mload(0x12e0), prod, f_q) + mstore(0x1460, prod) - prod := mulmod(mload(0x1420), prod, f_q) - mstore(0x1580, prod) + prod := mulmod(mload(0x1320), prod, f_q) + mstore(0x1480, prod) - prod := mulmod(mload(0x1460), prod, f_q) - mstore(0x15a0, prod) + prod := mulmod(mload(0x1360), prod, f_q) + mstore(0x14a0, prod) - prod := mulmod(mload(0x14a0), prod, f_q) - mstore(0x15c0, prod) + prod := mulmod(mload(0x13a0), prod, f_q) + mstore(0x14c0, prod) - prod := mulmod(mload(0x14e0), prod, f_q) - mstore(0x15e0, prod) + prod := mulmod(mload(0x13e0), prod, f_q) + mstore(0x14e0, prod) - prod := mulmod(mload(0x1520), prod, f_q) - mstore(0x1600, prod) + prod := mulmod(mload(0x1420), prod, f_q) + mstore(0x1500, prod) - prod := mulmod(mload(0x1300), prod, f_q) - mstore(0x1620, prod) + prod := mulmod(mload(0x1200), prod, f_q) + mstore(0x1520, prod) } -mstore(0x1660, 32) -mstore(0x1680, 32) -mstore(0x16a0, 32) -mstore(0x16c0, mload(0x1620)) -mstore(0x16e0, 21888242871839275222246405745257275088548364400416034343698204186575808495615) -mstore(0x1700, 21888242871839275222246405745257275088548364400416034343698204186575808495617) -success := and(eq(staticcall(gas(), 0x5, 0x1660, 0xc0, 0x1640, 0x20), 1), success) +mstore(0x1560, 32) +mstore(0x1580, 32) +mstore(0x15a0, 32) +mstore(0x15c0, mload(0x1520)) +mstore(0x15e0, 21888242871839275222246405745257275088548364400416034343698204186575808495615) +mstore(0x1600, 21888242871839275222246405745257275088548364400416034343698204186575808495617) +success := and(eq(staticcall(gas(), 0x5, 0x1560, 0xc0, 0x1540, 0x20), 1), success) { - let inv := mload(0x1640) + let inv := mload(0x1540) let v - v := mload(0x1300) - mstore(4864, mulmod(mload(0x1600), inv, f_q)) + v := mload(0x1200) + mstore(4608, mulmod(mload(0x1500), inv, f_q)) inv := mulmod(v, inv, f_q) - v := mload(0x1520) - mstore(5408, mulmod(mload(0x15e0), inv, f_q)) + v := mload(0x1420) + mstore(5152, mulmod(mload(0x14e0), inv, f_q)) inv := mulmod(v, inv, f_q) - v := mload(0x14e0) - mstore(5344, mulmod(mload(0x15c0), inv, f_q)) + v := mload(0x13e0) + mstore(5088, mulmod(mload(0x14c0), inv, f_q)) inv := mulmod(v, inv, f_q) - v := mload(0x14a0) - mstore(5280, mulmod(mload(0x15a0), inv, f_q)) + v := mload(0x13a0) + mstore(5024, mulmod(mload(0x14a0), inv, f_q)) inv := mulmod(v, inv, f_q) - v := mload(0x1460) - mstore(5216, mulmod(mload(0x1580), inv, f_q)) + v := mload(0x1360) + mstore(4960, mulmod(mload(0x1480), inv, f_q)) inv := mulmod(v, inv, f_q) - v := mload(0x1420) - mstore(5152, mulmod(mload(0x1560), inv, f_q)) + v := mload(0x1320) + mstore(4896, mulmod(mload(0x1460), inv, f_q)) inv := mulmod(v, inv, f_q) - v := mload(0x13e0) - mstore(5088, mulmod(mload(0x1540), inv, f_q)) + v := mload(0x12e0) + mstore(4832, mulmod(mload(0x1440), inv, f_q)) inv := mulmod(v, inv, f_q) - v := mload(0x13a0) - mstore(5024, mulmod(mload(0x1360), inv, f_q)) + v := mload(0x12a0) + mstore(4768, mulmod(mload(0x1260), inv, f_q)) inv := mulmod(v, inv, f_q) - mstore(0x1360, inv) + mstore(0x1260, inv) } -mstore(0x1720, mulmod(mload(0x1340), mload(0x1360), f_q)) -mstore(0x1740, mulmod(mload(0x1380), mload(0x13a0), f_q)) -mstore(0x1760, mulmod(mload(0x13c0), mload(0x13e0), f_q)) -mstore(0x1780, mulmod(mload(0x1400), mload(0x1420), f_q)) -mstore(0x17a0, mulmod(mload(0x1440), mload(0x1460), f_q)) -mstore(0x17c0, mulmod(mload(0x1480), mload(0x14a0), f_q)) -mstore(0x17e0, mulmod(mload(0x14c0), mload(0x14e0), f_q)) -mstore(0x1800, mulmod(mload(0x1500), mload(0x1520), f_q)) +mstore(0x1620, mulmod(mload(0x1240), mload(0x1260), f_q)) +mstore(0x1640, mulmod(mload(0x1280), mload(0x12a0), f_q)) +mstore(0x1660, mulmod(mload(0x12c0), mload(0x12e0), f_q)) +mstore(0x1680, mulmod(mload(0x1300), mload(0x1320), f_q)) +mstore(0x16a0, mulmod(mload(0x1340), mload(0x1360), f_q)) +mstore(0x16c0, mulmod(mload(0x1380), mload(0x13a0), f_q)) +mstore(0x16e0, mulmod(mload(0x13c0), mload(0x13e0), f_q)) +mstore(0x1700, mulmod(mload(0x1400), mload(0x1420), f_q)) { - let result := mulmod(mload(0x17e0), mload(0x20), f_q) -result := addmod(mulmod(mload(0x1800), mload(0x40), f_q), result, f_q) -mstore(6176, result) + let result := mulmod(mload(0x16e0), mload(0x20), f_q) +result := addmod(mulmod(mload(0x1700), mload(0x40), f_q), result, f_q) +mstore(5920, result) } -mstore(0x1840, addmod(mload(0xa00), sub(f_q, mload(0x980)), f_q)) -mstore(0x1860, mulmod(mload(0x1840), mload(0xba0), f_q)) -mstore(0x1880, mulmod(mload(0x7a0), mload(0x1860), f_q)) -mstore(0x18a0, mulmod(100, mload(0x9c0), f_q)) -mstore(0x18c0, addmod(mload(0x18a0), mload(0xa00), f_q)) -mstore(0x18e0, addmod(mload(0xa20), sub(f_q, mload(0x18c0)), f_q)) -mstore(0x1900, mulmod(mload(0x18e0), mload(0xc00), f_q)) -mstore(0x1920, addmod(mload(0x1880), mload(0x1900), f_q)) -mstore(0x1940, mulmod(mload(0x7a0), mload(0x1920), f_q)) -mstore(0x1960, addmod(mload(0x9c0), sub(f_q, mload(0x980)), f_q)) -mstore(0x1980, mulmod(mload(0x1960), mload(0xbe0), f_q)) -mstore(0x19a0, addmod(mload(0x1940), mload(0x1980), f_q)) -mstore(0x19c0, mulmod(mload(0x7a0), mload(0x19a0), f_q)) -mstore(0x19e0, mulmod(100, mload(0xb40), f_q)) -mstore(0x1a00, addmod(1, sub(f_q, mload(0xb40)), f_q)) -mstore(0x1a20, mulmod(256, mload(0x1a00), f_q)) -mstore(0x1a40, addmod(mload(0x19e0), mload(0x1a20), f_q)) -mstore(0x1a60, mulmod(mload(0x1a40), mload(0xa60), f_q)) -mstore(0x1a80, addmod(mload(0x1a60), mload(0xa80), f_q)) -mstore(0x1aa0, addmod(mload(0xa40), sub(f_q, mload(0x1a80)), f_q)) -mstore(0x1ac0, mulmod(mload(0x1aa0), mload(0xba0), f_q)) -mstore(0x1ae0, addmod(mload(0x19c0), mload(0x1ac0), f_q)) -mstore(0x1b00, mulmod(mload(0x7a0), mload(0x1ae0), f_q)) -mstore(0x1b20, addmod(mload(0xa60), sub(f_q, mload(0x9a0)), f_q)) -mstore(0x1b40, mulmod(mload(0x1b20), mload(0xb80), f_q)) -mstore(0x1b60, addmod(mload(0x1b00), mload(0x1b40), f_q)) -mstore(0x1b80, mulmod(mload(0x7a0), mload(0x1b60), f_q)) -mstore(0x1ba0, addmod(mload(0xa60), sub(f_q, mload(0x980)), f_q)) -mstore(0x1bc0, mulmod(mload(0x1ba0), mload(0xbc0), f_q)) -mstore(0x1be0, addmod(mload(0x1b80), mload(0x1bc0), f_q)) -mstore(0x1c00, mulmod(mload(0x7a0), mload(0x1be0), f_q)) -mstore(0x1c20, addmod(1, sub(f_q, mload(0xd00)), f_q)) -mstore(0x1c40, mulmod(mload(0x1c20), mload(0x17e0), f_q)) -mstore(0x1c60, addmod(mload(0x1c00), mload(0x1c40), f_q)) -mstore(0x1c80, mulmod(mload(0x7a0), mload(0x1c60), f_q)) -mstore(0x1ca0, mulmod(mload(0xd60), mload(0xd60), f_q)) -mstore(0x1cc0, addmod(mload(0x1ca0), sub(f_q, mload(0xd60)), f_q)) -mstore(0x1ce0, mulmod(mload(0x1cc0), mload(0x1720), f_q)) -mstore(0x1d00, addmod(mload(0x1c80), mload(0x1ce0), f_q)) -mstore(0x1d20, mulmod(mload(0x7a0), mload(0x1d00), f_q)) -mstore(0x1d40, addmod(mload(0xd60), sub(f_q, mload(0xd40)), f_q)) -mstore(0x1d60, mulmod(mload(0x1d40), mload(0x17e0), f_q)) -mstore(0x1d80, addmod(mload(0x1d20), mload(0x1d60), f_q)) -mstore(0x1da0, mulmod(mload(0x7a0), mload(0x1d80), f_q)) -mstore(0x1dc0, addmod(1, sub(f_q, mload(0x1720)), f_q)) -mstore(0x1de0, addmod(mload(0x1740), mload(0x1760), f_q)) -mstore(0x1e00, addmod(mload(0x1de0), mload(0x1780), f_q)) -mstore(0x1e20, addmod(mload(0x1e00), mload(0x17a0), f_q)) -mstore(0x1e40, addmod(mload(0x1e20), mload(0x17c0), f_q)) -mstore(0x1e60, addmod(mload(0x1dc0), sub(f_q, mload(0x1e40)), f_q)) -mstore(0x1e80, mulmod(mload(0xc60), mload(0x5a0), f_q)) -mstore(0x1ea0, addmod(mload(0x980), mload(0x1e80), f_q)) -mstore(0x1ec0, addmod(mload(0x1ea0), mload(0x600), f_q)) -mstore(0x1ee0, mulmod(mload(0xc80), mload(0x5a0), f_q)) -mstore(0x1f00, addmod(mload(0x9a0), mload(0x1ee0), f_q)) -mstore(0x1f20, addmod(mload(0x1f00), mload(0x600), f_q)) -mstore(0x1f40, mulmod(mload(0x1f20), mload(0x1ec0), f_q)) -mstore(0x1f60, mulmod(mload(0xca0), mload(0x5a0), f_q)) -mstore(0x1f80, addmod(mload(0x9c0), mload(0x1f60), f_q)) -mstore(0x1fa0, addmod(mload(0x1f80), mload(0x600), f_q)) -mstore(0x1fc0, mulmod(mload(0x1fa0), mload(0x1f40), f_q)) -mstore(0x1fe0, mulmod(mload(0xcc0), mload(0x5a0), f_q)) -mstore(0x2000, addmod(mload(0x9e0), mload(0x1fe0), f_q)) -mstore(0x2020, addmod(mload(0x2000), mload(0x600), f_q)) -mstore(0x2040, mulmod(mload(0x2020), mload(0x1fc0), f_q)) -mstore(0x2060, mulmod(mload(0x2040), mload(0xd20), f_q)) -mstore(0x2080, mulmod(1, mload(0x5a0), f_q)) -mstore(0x20a0, mulmod(mload(0x940), mload(0x2080), f_q)) -mstore(0x20c0, addmod(mload(0x980), mload(0x20a0), f_q)) -mstore(0x20e0, addmod(mload(0x20c0), mload(0x600), f_q)) -mstore(0x2100, mulmod(4131629893567559867359510883348571134090853742863529169391034518566172092834, mload(0x5a0), f_q)) -mstore(0x2120, mulmod(mload(0x940), mload(0x2100), f_q)) -mstore(0x2140, addmod(mload(0x9a0), mload(0x2120), f_q)) -mstore(0x2160, addmod(mload(0x2140), mload(0x600), f_q)) -mstore(0x2180, mulmod(mload(0x2160), mload(0x20e0), f_q)) -mstore(0x21a0, mulmod(8910878055287538404433155982483128285667088683464058436815641868457422632747, mload(0x5a0), f_q)) -mstore(0x21c0, mulmod(mload(0x940), mload(0x21a0), f_q)) -mstore(0x21e0, addmod(mload(0x9c0), mload(0x21c0), f_q)) -mstore(0x2200, addmod(mload(0x21e0), mload(0x600), f_q)) -mstore(0x2220, mulmod(mload(0x2200), mload(0x2180), f_q)) -mstore(0x2240, mulmod(11166246659983828508719468090013646171463329086121580628794302409516816350802, mload(0x5a0), f_q)) -mstore(0x2260, mulmod(mload(0x940), mload(0x2240), f_q)) -mstore(0x2280, addmod(mload(0x9e0), mload(0x2260), f_q)) -mstore(0x22a0, addmod(mload(0x2280), mload(0x600), f_q)) -mstore(0x22c0, mulmod(mload(0x22a0), mload(0x2220), f_q)) -mstore(0x22e0, mulmod(mload(0x22c0), mload(0xd00), f_q)) -mstore(0x2300, addmod(mload(0x2060), sub(f_q, mload(0x22e0)), f_q)) -mstore(0x2320, mulmod(mload(0x2300), mload(0x1e60), f_q)) -mstore(0x2340, addmod(mload(0x1da0), mload(0x2320), f_q)) -mstore(0x2360, mulmod(mload(0x7a0), mload(0x2340), f_q)) -mstore(0x2380, mulmod(mload(0xce0), mload(0x5a0), f_q)) -mstore(0x23a0, addmod(mload(0x1820), mload(0x2380), f_q)) -mstore(0x23c0, addmod(mload(0x23a0), mload(0x600), f_q)) -mstore(0x23e0, mulmod(mload(0x23c0), mload(0xd80), f_q)) -mstore(0x2400, mulmod(284840088355319032285349970403338060113257071685626700086398481893096618818, mload(0x5a0), f_q)) -mstore(0x2420, mulmod(mload(0x940), mload(0x2400), f_q)) -mstore(0x2440, addmod(mload(0x1820), mload(0x2420), f_q)) -mstore(0x2460, addmod(mload(0x2440), mload(0x600), f_q)) -mstore(0x2480, mulmod(mload(0x2460), mload(0xd60), f_q)) -mstore(0x24a0, addmod(mload(0x23e0), sub(f_q, mload(0x2480)), f_q)) -mstore(0x24c0, mulmod(mload(0x24a0), mload(0x1e60), f_q)) -mstore(0x24e0, addmod(mload(0x2360), mload(0x24c0), f_q)) -mstore(0x2500, mulmod(mload(0x7a0), mload(0x24e0), f_q)) -mstore(0x2520, addmod(1, sub(f_q, mload(0xda0)), f_q)) -mstore(0x2540, mulmod(mload(0x2520), mload(0x17e0), f_q)) -mstore(0x2560, addmod(mload(0x2500), mload(0x2540), f_q)) -mstore(0x2580, mulmod(mload(0x7a0), mload(0x2560), f_q)) -mstore(0x25a0, mulmod(mload(0xda0), mload(0xda0), f_q)) -mstore(0x25c0, addmod(mload(0x25a0), sub(f_q, mload(0xda0)), f_q)) -mstore(0x25e0, mulmod(mload(0x25c0), mload(0x1720), f_q)) -mstore(0x2600, addmod(mload(0x2580), mload(0x25e0), f_q)) -mstore(0x2620, mulmod(mload(0x7a0), mload(0x2600), f_q)) -mstore(0x2640, addmod(mload(0xde0), mload(0x5a0), f_q)) -mstore(0x2660, mulmod(mload(0x2640), mload(0xdc0), f_q)) -mstore(0x2680, addmod(mload(0xe20), mload(0x600), f_q)) -mstore(0x26a0, mulmod(mload(0x2680), mload(0x2660), f_q)) -mstore(0x26c0, mulmod(1, mload(0xc20), f_q)) -mstore(0x26e0, mulmod(mload(0x440), mload(0x26c0), f_q)) -mstore(0x2700, mulmod(mload(0x980), mload(0xc20), f_q)) -mstore(0x2720, addmod(mload(0x26e0), mload(0x2700), f_q)) -mstore(0x2740, mulmod(mload(0x440), mload(0x2720), f_q)) -mstore(0x2760, mulmod(mload(0xb20), mload(0xc20), f_q)) -mstore(0x2780, addmod(mload(0x2740), mload(0x2760), f_q)) -mstore(0x27a0, mulmod(mload(0x440), mload(0x2780), f_q)) -mstore(0x27c0, mulmod(mload(0x9c0), mload(0xc20), f_q)) -mstore(0x27e0, addmod(mload(0x27a0), mload(0x27c0), f_q)) -mstore(0x2800, addmod(mload(0x27e0), mload(0x5a0), f_q)) -mstore(0x2820, mulmod(mload(0x2800), mload(0xda0), f_q)) -mstore(0x2840, mulmod(mload(0x440), mload(0xaa0), f_q)) -mstore(0x2860, addmod(mload(0x2840), mload(0xac0), f_q)) -mstore(0x2880, mulmod(mload(0x440), mload(0x2860), f_q)) -mstore(0x28a0, addmod(mload(0x2880), mload(0xae0), f_q)) -mstore(0x28c0, mulmod(mload(0x440), mload(0x28a0), f_q)) -mstore(0x28e0, addmod(mload(0x28c0), mload(0xb00), f_q)) -mstore(0x2900, addmod(mload(0x28e0), mload(0x600), f_q)) -mstore(0x2920, mulmod(mload(0x2900), mload(0x2820), f_q)) -mstore(0x2940, addmod(mload(0x26a0), sub(f_q, mload(0x2920)), f_q)) -mstore(0x2960, mulmod(mload(0x2940), mload(0x1e60), f_q)) -mstore(0x2980, addmod(mload(0x2620), mload(0x2960), f_q)) -mstore(0x29a0, mulmod(mload(0x7a0), mload(0x2980), f_q)) -mstore(0x29c0, addmod(mload(0xde0), sub(f_q, mload(0xe20)), f_q)) -mstore(0x29e0, mulmod(mload(0x29c0), mload(0x17e0), f_q)) -mstore(0x2a00, addmod(mload(0x29a0), mload(0x29e0), f_q)) -mstore(0x2a20, mulmod(mload(0x7a0), mload(0x2a00), f_q)) -mstore(0x2a40, mulmod(mload(0x29c0), mload(0x1e60), f_q)) -mstore(0x2a60, addmod(mload(0xde0), sub(f_q, mload(0xe00)), f_q)) -mstore(0x2a80, mulmod(mload(0x2a60), mload(0x2a40), f_q)) -mstore(0x2aa0, addmod(mload(0x2a20), mload(0x2a80), f_q)) -mstore(0x2ac0, mulmod(mload(0x7a0), mload(0x2aa0), f_q)) -mstore(0x2ae0, addmod(1, sub(f_q, mload(0xe40)), f_q)) -mstore(0x2b00, mulmod(mload(0x2ae0), mload(0x17e0), f_q)) -mstore(0x2b20, addmod(mload(0x2ac0), mload(0x2b00), f_q)) -mstore(0x2b40, mulmod(mload(0x7a0), mload(0x2b20), f_q)) -mstore(0x2b60, mulmod(mload(0xe40), mload(0xe40), f_q)) -mstore(0x2b80, addmod(mload(0x2b60), sub(f_q, mload(0xe40)), f_q)) -mstore(0x2ba0, mulmod(mload(0x2b80), mload(0x1720), f_q)) -mstore(0x2bc0, addmod(mload(0x2b40), mload(0x2ba0), f_q)) -mstore(0x2be0, mulmod(mload(0x7a0), mload(0x2bc0), f_q)) -mstore(0x2c00, addmod(mload(0xe80), mload(0x5a0), f_q)) -mstore(0x2c20, mulmod(mload(0x2c00), mload(0xe60), f_q)) -mstore(0x2c40, addmod(mload(0xec0), mload(0x600), f_q)) -mstore(0x2c60, mulmod(mload(0x2c40), mload(0x2c20), f_q)) -mstore(0x2c80, addmod(1, sub(f_q, mload(0xb80)), f_q)) -mstore(0x2ca0, mulmod(mload(0x2c80), 1, f_q)) -mstore(0x2cc0, addmod(1, sub(f_q, mload(0xbc0)), f_q)) -mstore(0x2ce0, mulmod(mload(0x2cc0), mload(0x2ca0), f_q)) -mstore(0x2d00, addmod(1, sub(f_q, mload(0x2ce0)), f_q)) -mstore(0x2d20, mulmod(mload(0x9a0), mload(0x2d00), f_q)) -mstore(0x2d40, addmod(mload(0x2d20), mload(0x5a0), f_q)) -mstore(0x2d60, mulmod(mload(0x2d40), mload(0xe40), f_q)) -mstore(0x2d80, addmod(mload(0xb60), mload(0x600), f_q)) -mstore(0x2da0, mulmod(mload(0x2d80), mload(0x2d60), f_q)) -mstore(0x2dc0, addmod(mload(0x2c60), sub(f_q, mload(0x2da0)), f_q)) -mstore(0x2de0, mulmod(mload(0x2dc0), mload(0x1e60), f_q)) -mstore(0x2e00, addmod(mload(0x2be0), mload(0x2de0), f_q)) -mstore(0x2e20, mulmod(mload(0x7a0), mload(0x2e00), f_q)) -mstore(0x2e40, addmod(mload(0xe80), sub(f_q, mload(0xec0)), f_q)) -mstore(0x2e60, mulmod(mload(0x2e40), mload(0x17e0), f_q)) -mstore(0x2e80, addmod(mload(0x2e20), mload(0x2e60), f_q)) -mstore(0x2ea0, mulmod(mload(0x7a0), mload(0x2e80), f_q)) -mstore(0x2ec0, mulmod(mload(0x2e40), mload(0x1e60), f_q)) -mstore(0x2ee0, addmod(mload(0xe80), sub(f_q, mload(0xea0)), f_q)) -mstore(0x2f00, mulmod(mload(0x2ee0), mload(0x2ec0), f_q)) -mstore(0x2f20, addmod(mload(0x2ea0), mload(0x2f00), f_q)) -mstore(0x2f40, mulmod(mload(0x12e0), mload(0x12e0), f_q)) -mstore(0x2f60, mulmod(mload(0x2f40), mload(0x12e0), f_q)) -mstore(0x2f80, mulmod(mload(0x2f60), mload(0x12e0), f_q)) -mstore(0x2fa0, mulmod(mload(0x2f80), mload(0x12e0), f_q)) -mstore(0x2fc0, mulmod(1, mload(0x12e0), f_q)) -mstore(0x2fe0, mulmod(1, mload(0x2f40), f_q)) -mstore(0x3000, mulmod(1, mload(0x2f60), f_q)) -mstore(0x3020, mulmod(1, mload(0x2f80), f_q)) -mstore(0x3040, mulmod(mload(0x2f20), mload(0x1300), f_q)) -mstore(0x3060, mulmod(mload(0x1060), mload(0x1060), f_q)) -mstore(0x3080, mulmod(mload(0x3060), mload(0x1060), f_q)) -mstore(0x30a0, mulmod(mload(0x3080), mload(0x1060), f_q)) -mstore(0x30c0, mulmod(mload(0xf00), mload(0xf00), f_q)) -mstore(0x30e0, mulmod(mload(0x30c0), mload(0xf00), f_q)) -mstore(0x3100, mulmod(mload(0x30e0), mload(0xf00), f_q)) -mstore(0x3120, mulmod(mload(0x3100), mload(0xf00), f_q)) -mstore(0x3140, mulmod(mload(0x3120), mload(0xf00), f_q)) -mstore(0x3160, mulmod(mload(0x3140), mload(0xf00), f_q)) -mstore(0x3180, mulmod(mload(0x3160), mload(0xf00), f_q)) -mstore(0x31a0, mulmod(mload(0x3180), mload(0xf00), f_q)) -mstore(0x31c0, mulmod(mload(0x31a0), mload(0xf00), f_q)) -mstore(0x31e0, mulmod(mload(0x31c0), mload(0xf00), f_q)) -mstore(0x3200, mulmod(mload(0x31e0), mload(0xf00), f_q)) -mstore(0x3220, mulmod(mload(0x3200), mload(0xf00), f_q)) -mstore(0x3240, mulmod(mload(0x3220), mload(0xf00), f_q)) -mstore(0x3260, mulmod(mload(0x3240), mload(0xf00), f_q)) -mstore(0x3280, mulmod(mload(0x3260), mload(0xf00), f_q)) -mstore(0x32a0, mulmod(mload(0x3280), mload(0xf00), f_q)) -mstore(0x32c0, mulmod(mload(0x32a0), mload(0xf00), f_q)) -mstore(0x32e0, mulmod(mload(0x32c0), mload(0xf00), f_q)) -mstore(0x3300, mulmod(mload(0x32e0), mload(0xf00), f_q)) -mstore(0x3320, mulmod(mload(0x3300), mload(0xf00), f_q)) -mstore(0x3340, mulmod(mload(0x3320), mload(0xf00), f_q)) -mstore(0x3360, mulmod(mload(0x3340), mload(0xf00), f_q)) -mstore(0x3380, mulmod(mload(0x3360), mload(0xf00), f_q)) -mstore(0x33a0, mulmod(mload(0x3380), mload(0xf00), f_q)) -mstore(0x33c0, mulmod(mload(0x33a0), mload(0xf00), f_q)) -mstore(0x33e0, mulmod(mload(0x33c0), mload(0xf00), f_q)) -mstore(0x3400, mulmod(mload(0x33e0), mload(0xf00), f_q)) -mstore(0x3420, mulmod(mload(0x3400), mload(0xf00), f_q)) -mstore(0x3440, mulmod(mload(0x3420), mload(0xf00), f_q)) -mstore(0x3460, mulmod(mload(0x3440), mload(0xf00), f_q)) -mstore(0x3480, mulmod(mload(0x3460), mload(0xf00), f_q)) -mstore(0x34a0, mulmod(sub(f_q, mload(0x980)), 1, f_q)) -mstore(0x34c0, mulmod(sub(f_q, mload(0x9a0)), mload(0xf00), f_q)) -mstore(0x34e0, mulmod(1, mload(0xf00), f_q)) -mstore(0x3500, addmod(mload(0x34a0), mload(0x34c0), f_q)) -mstore(0x3520, mulmod(sub(f_q, mload(0x9c0)), mload(0x30c0), f_q)) -mstore(0x3540, mulmod(1, mload(0x30c0), f_q)) -mstore(0x3560, addmod(mload(0x3500), mload(0x3520), f_q)) -mstore(0x3580, mulmod(sub(f_q, mload(0x9e0)), mload(0x30e0), f_q)) -mstore(0x35a0, mulmod(1, mload(0x30e0), f_q)) -mstore(0x35c0, addmod(mload(0x3560), mload(0x3580), f_q)) -mstore(0x35e0, mulmod(sub(f_q, mload(0xa60)), mload(0x3100), f_q)) -mstore(0x3600, mulmod(1, mload(0x3100), f_q)) -mstore(0x3620, addmod(mload(0x35c0), mload(0x35e0), f_q)) -mstore(0x3640, mulmod(sub(f_q, mload(0xaa0)), mload(0x3120), f_q)) -mstore(0x3660, mulmod(1, mload(0x3120), f_q)) -mstore(0x3680, addmod(mload(0x3620), mload(0x3640), f_q)) -mstore(0x36a0, mulmod(sub(f_q, mload(0xac0)), mload(0x3140), f_q)) -mstore(0x36c0, mulmod(1, mload(0x3140), f_q)) -mstore(0x36e0, addmod(mload(0x3680), mload(0x36a0), f_q)) -mstore(0x3700, mulmod(sub(f_q, mload(0xae0)), mload(0x3160), f_q)) -mstore(0x3720, mulmod(1, mload(0x3160), f_q)) -mstore(0x3740, addmod(mload(0x36e0), mload(0x3700), f_q)) -mstore(0x3760, mulmod(sub(f_q, mload(0xb00)), mload(0x3180), f_q)) -mstore(0x3780, mulmod(1, mload(0x3180), f_q)) -mstore(0x37a0, addmod(mload(0x3740), mload(0x3760), f_q)) -mstore(0x37c0, mulmod(sub(f_q, mload(0xb20)), mload(0x31a0), f_q)) -mstore(0x37e0, mulmod(1, mload(0x31a0), f_q)) -mstore(0x3800, addmod(mload(0x37a0), mload(0x37c0), f_q)) -mstore(0x3820, mulmod(sub(f_q, mload(0xd00)), mload(0x31c0), f_q)) -mstore(0x3840, mulmod(1, mload(0x31c0), f_q)) -mstore(0x3860, addmod(mload(0x3800), mload(0x3820), f_q)) -mstore(0x3880, mulmod(sub(f_q, mload(0xd60)), mload(0x31e0), f_q)) -mstore(0x38a0, mulmod(1, mload(0x31e0), f_q)) -mstore(0x38c0, addmod(mload(0x3860), mload(0x3880), f_q)) -mstore(0x38e0, mulmod(sub(f_q, mload(0xda0)), mload(0x3200), f_q)) -mstore(0x3900, mulmod(1, mload(0x3200), f_q)) -mstore(0x3920, addmod(mload(0x38c0), mload(0x38e0), f_q)) -mstore(0x3940, mulmod(sub(f_q, mload(0xde0)), mload(0x3220), f_q)) -mstore(0x3960, mulmod(1, mload(0x3220), f_q)) -mstore(0x3980, addmod(mload(0x3920), mload(0x3940), f_q)) -mstore(0x39a0, mulmod(sub(f_q, mload(0xe20)), mload(0x3240), f_q)) -mstore(0x39c0, mulmod(1, mload(0x3240), f_q)) -mstore(0x39e0, addmod(mload(0x3980), mload(0x39a0), f_q)) -mstore(0x3a00, mulmod(sub(f_q, mload(0xe40)), mload(0x3260), f_q)) -mstore(0x3a20, mulmod(1, mload(0x3260), f_q)) -mstore(0x3a40, addmod(mload(0x39e0), mload(0x3a00), f_q)) -mstore(0x3a60, mulmod(sub(f_q, mload(0xe80)), mload(0x3280), f_q)) -mstore(0x3a80, mulmod(1, mload(0x3280), f_q)) -mstore(0x3aa0, addmod(mload(0x3a40), mload(0x3a60), f_q)) -mstore(0x3ac0, mulmod(sub(f_q, mload(0xec0)), mload(0x32a0), f_q)) -mstore(0x3ae0, mulmod(1, mload(0x32a0), f_q)) -mstore(0x3b00, addmod(mload(0x3aa0), mload(0x3ac0), f_q)) -mstore(0x3b20, mulmod(sub(f_q, mload(0xb60)), mload(0x32c0), f_q)) -mstore(0x3b40, mulmod(1, mload(0x32c0), f_q)) -mstore(0x3b60, addmod(mload(0x3b00), mload(0x3b20), f_q)) -mstore(0x3b80, mulmod(sub(f_q, mload(0xb80)), mload(0x32e0), f_q)) -mstore(0x3ba0, mulmod(1, mload(0x32e0), f_q)) -mstore(0x3bc0, addmod(mload(0x3b60), mload(0x3b80), f_q)) -mstore(0x3be0, mulmod(sub(f_q, mload(0xba0)), mload(0x3300), f_q)) -mstore(0x3c00, mulmod(1, mload(0x3300), f_q)) -mstore(0x3c20, addmod(mload(0x3bc0), mload(0x3be0), f_q)) -mstore(0x3c40, mulmod(sub(f_q, mload(0xbc0)), mload(0x3320), f_q)) -mstore(0x3c60, mulmod(1, mload(0x3320), f_q)) -mstore(0x3c80, addmod(mload(0x3c20), mload(0x3c40), f_q)) -mstore(0x3ca0, mulmod(sub(f_q, mload(0xbe0)), mload(0x3340), f_q)) -mstore(0x3cc0, mulmod(1, mload(0x3340), f_q)) +mstore(0x1740, mulmod(mload(0x720), 0, f_q)) +mstore(0x1760, mulmod(mload(0x1c0), mload(0xa40), f_q)) +mstore(0x1780, addmod(1, sub(f_q, mload(0xa40)), f_q)) +mstore(0x17a0, mulmod(256, mload(0x1780), f_q)) +mstore(0x17c0, addmod(mload(0x1760), mload(0x17a0), f_q)) +mstore(0x17e0, mulmod(mload(0x17c0), mload(0x920), f_q)) +mstore(0x1800, addmod(mload(0x17e0), mload(0x9a0), f_q)) +mstore(0x1820, addmod(mload(0x980), sub(f_q, mload(0x1800)), f_q)) +mstore(0x1840, mulmod(mload(0x1820), mload(0xaa0), f_q)) +mstore(0x1860, addmod(mload(0x1740), mload(0x1840), f_q)) +mstore(0x1880, mulmod(mload(0x720), mload(0x1860), f_q)) +mstore(0x18a0, addmod(mload(0x920), sub(f_q, mload(0x900)), f_q)) +mstore(0x18c0, mulmod(mload(0x18a0), mload(0xa80), f_q)) +mstore(0x18e0, addmod(mload(0x1880), mload(0x18c0), f_q)) +mstore(0x1900, mulmod(mload(0x720), mload(0x18e0), f_q)) +mstore(0x1920, addmod(1, sub(f_q, mload(0xc00)), f_q)) +mstore(0x1940, mulmod(mload(0x1920), mload(0x16e0), f_q)) +mstore(0x1960, addmod(mload(0x1900), mload(0x1940), f_q)) +mstore(0x1980, mulmod(mload(0x720), mload(0x1960), f_q)) +mstore(0x19a0, mulmod(mload(0xc60), mload(0xc60), f_q)) +mstore(0x19c0, addmod(mload(0x19a0), sub(f_q, mload(0xc60)), f_q)) +mstore(0x19e0, mulmod(mload(0x19c0), mload(0x1620), f_q)) +mstore(0x1a00, addmod(mload(0x1980), mload(0x19e0), f_q)) +mstore(0x1a20, mulmod(mload(0x720), mload(0x1a00), f_q)) +mstore(0x1a40, addmod(mload(0xc60), sub(f_q, mload(0xc40)), f_q)) +mstore(0x1a60, mulmod(mload(0x1a40), mload(0x16e0), f_q)) +mstore(0x1a80, addmod(mload(0x1a20), mload(0x1a60), f_q)) +mstore(0x1aa0, mulmod(mload(0x720), mload(0x1a80), f_q)) +mstore(0x1ac0, addmod(1, sub(f_q, mload(0x1620)), f_q)) +mstore(0x1ae0, addmod(mload(0x1640), mload(0x1660), f_q)) +mstore(0x1b00, addmod(mload(0x1ae0), mload(0x1680), f_q)) +mstore(0x1b20, addmod(mload(0x1b00), mload(0x16a0), f_q)) +mstore(0x1b40, addmod(mload(0x1b20), mload(0x16c0), f_q)) +mstore(0x1b60, addmod(mload(0x1ac0), sub(f_q, mload(0x1b40)), f_q)) +mstore(0x1b80, mulmod(mload(0xb60), mload(0x520), f_q)) +mstore(0x1ba0, addmod(mload(0x900), mload(0x1b80), f_q)) +mstore(0x1bc0, addmod(mload(0x1ba0), mload(0x580), f_q)) +mstore(0x1be0, mulmod(mload(0xb80), mload(0x520), f_q)) +mstore(0x1c00, addmod(mload(0x920), mload(0x1be0), f_q)) +mstore(0x1c20, addmod(mload(0x1c00), mload(0x580), f_q)) +mstore(0x1c40, mulmod(mload(0x1c20), mload(0x1bc0), f_q)) +mstore(0x1c60, mulmod(mload(0xba0), mload(0x520), f_q)) +mstore(0x1c80, addmod(mload(0x940), mload(0x1c60), f_q)) +mstore(0x1ca0, addmod(mload(0x1c80), mload(0x580), f_q)) +mstore(0x1cc0, mulmod(mload(0x1ca0), mload(0x1c40), f_q)) +mstore(0x1ce0, mulmod(mload(0xbc0), mload(0x520), f_q)) +mstore(0x1d00, addmod(mload(0x960), mload(0x1ce0), f_q)) +mstore(0x1d20, addmod(mload(0x1d00), mload(0x580), f_q)) +mstore(0x1d40, mulmod(mload(0x1d20), mload(0x1cc0), f_q)) +mstore(0x1d60, mulmod(mload(0x1d40), mload(0xc20), f_q)) +mstore(0x1d80, mulmod(1, mload(0x520), f_q)) +mstore(0x1da0, mulmod(mload(0x8c0), mload(0x1d80), f_q)) +mstore(0x1dc0, addmod(mload(0x900), mload(0x1da0), f_q)) +mstore(0x1de0, addmod(mload(0x1dc0), mload(0x580), f_q)) +mstore(0x1e00, mulmod(4131629893567559867359510883348571134090853742863529169391034518566172092834, mload(0x520), f_q)) +mstore(0x1e20, mulmod(mload(0x8c0), mload(0x1e00), f_q)) +mstore(0x1e40, addmod(mload(0x920), mload(0x1e20), f_q)) +mstore(0x1e60, addmod(mload(0x1e40), mload(0x580), f_q)) +mstore(0x1e80, mulmod(mload(0x1e60), mload(0x1de0), f_q)) +mstore(0x1ea0, mulmod(8910878055287538404433155982483128285667088683464058436815641868457422632747, mload(0x520), f_q)) +mstore(0x1ec0, mulmod(mload(0x8c0), mload(0x1ea0), f_q)) +mstore(0x1ee0, addmod(mload(0x940), mload(0x1ec0), f_q)) +mstore(0x1f00, addmod(mload(0x1ee0), mload(0x580), f_q)) +mstore(0x1f20, mulmod(mload(0x1f00), mload(0x1e80), f_q)) +mstore(0x1f40, mulmod(11166246659983828508719468090013646171463329086121580628794302409516816350802, mload(0x520), f_q)) +mstore(0x1f60, mulmod(mload(0x8c0), mload(0x1f40), f_q)) +mstore(0x1f80, addmod(mload(0x960), mload(0x1f60), f_q)) +mstore(0x1fa0, addmod(mload(0x1f80), mload(0x580), f_q)) +mstore(0x1fc0, mulmod(mload(0x1fa0), mload(0x1f20), f_q)) +mstore(0x1fe0, mulmod(mload(0x1fc0), mload(0xc00), f_q)) +mstore(0x2000, addmod(mload(0x1d60), sub(f_q, mload(0x1fe0)), f_q)) +mstore(0x2020, mulmod(mload(0x2000), mload(0x1b60), f_q)) +mstore(0x2040, addmod(mload(0x1aa0), mload(0x2020), f_q)) +mstore(0x2060, mulmod(mload(0x720), mload(0x2040), f_q)) +mstore(0x2080, mulmod(mload(0xbe0), mload(0x520), f_q)) +mstore(0x20a0, addmod(mload(0x1720), mload(0x2080), f_q)) +mstore(0x20c0, addmod(mload(0x20a0), mload(0x580), f_q)) +mstore(0x20e0, mulmod(mload(0x20c0), mload(0xc80), f_q)) +mstore(0x2100, mulmod(284840088355319032285349970403338060113257071685626700086398481893096618818, mload(0x520), f_q)) +mstore(0x2120, mulmod(mload(0x8c0), mload(0x2100), f_q)) +mstore(0x2140, addmod(mload(0x1720), mload(0x2120), f_q)) +mstore(0x2160, addmod(mload(0x2140), mload(0x580), f_q)) +mstore(0x2180, mulmod(mload(0x2160), mload(0xc60), f_q)) +mstore(0x21a0, addmod(mload(0x20e0), sub(f_q, mload(0x2180)), f_q)) +mstore(0x21c0, mulmod(mload(0x21a0), mload(0x1b60), f_q)) +mstore(0x21e0, addmod(mload(0x2060), mload(0x21c0), f_q)) +mstore(0x2200, mulmod(mload(0x720), mload(0x21e0), f_q)) +mstore(0x2220, addmod(1, sub(f_q, mload(0xca0)), f_q)) +mstore(0x2240, mulmod(mload(0x2220), mload(0x16e0), f_q)) +mstore(0x2260, addmod(mload(0x2200), mload(0x2240), f_q)) +mstore(0x2280, mulmod(mload(0x720), mload(0x2260), f_q)) +mstore(0x22a0, mulmod(mload(0xca0), mload(0xca0), f_q)) +mstore(0x22c0, addmod(mload(0x22a0), sub(f_q, mload(0xca0)), f_q)) +mstore(0x22e0, mulmod(mload(0x22c0), mload(0x1620), f_q)) +mstore(0x2300, addmod(mload(0x2280), mload(0x22e0), f_q)) +mstore(0x2320, mulmod(mload(0x720), mload(0x2300), f_q)) +mstore(0x2340, addmod(mload(0xce0), mload(0x520), f_q)) +mstore(0x2360, mulmod(mload(0x2340), mload(0xcc0), f_q)) +mstore(0x2380, addmod(mload(0xd20), mload(0x580), f_q)) +mstore(0x23a0, mulmod(mload(0x2380), mload(0x2360), f_q)) +mstore(0x23c0, mulmod(1, mload(0xb20), f_q)) +mstore(0x23e0, mulmod(mload(0x3c0), mload(0x23c0), f_q)) +mstore(0x2400, mulmod(mload(0x920), mload(0xb20), f_q)) +mstore(0x2420, addmod(mload(0x23e0), mload(0x2400), f_q)) +mstore(0x2440, mulmod(mload(0x3c0), mload(0x2420), f_q)) +mstore(0x2460, mulmod(288, mload(0xb20), f_q)) +mstore(0x2480, addmod(mload(0x2440), mload(0x2460), f_q)) +mstore(0x24a0, mulmod(mload(0x3c0), mload(0x2480), f_q)) +mstore(0x24c0, mulmod(mload(0x940), mload(0xb20), f_q)) +mstore(0x24e0, addmod(mload(0x24a0), mload(0x24c0), f_q)) +mstore(0x2500, addmod(mload(0x24e0), mload(0x520), f_q)) +mstore(0x2520, mulmod(mload(0x2500), mload(0xca0), f_q)) +mstore(0x2540, mulmod(mload(0x3c0), mload(0x9c0), f_q)) +mstore(0x2560, addmod(mload(0x2540), mload(0x9e0), f_q)) +mstore(0x2580, mulmod(mload(0x3c0), mload(0x2560), f_q)) +mstore(0x25a0, addmod(mload(0x2580), mload(0xa00), f_q)) +mstore(0x25c0, mulmod(mload(0x3c0), mload(0x25a0), f_q)) +mstore(0x25e0, addmod(mload(0x25c0), mload(0xa20), f_q)) +mstore(0x2600, addmod(mload(0x25e0), mload(0x580), f_q)) +mstore(0x2620, mulmod(mload(0x2600), mload(0x2520), f_q)) +mstore(0x2640, addmod(mload(0x23a0), sub(f_q, mload(0x2620)), f_q)) +mstore(0x2660, mulmod(mload(0x2640), mload(0x1b60), f_q)) +mstore(0x2680, addmod(mload(0x2320), mload(0x2660), f_q)) +mstore(0x26a0, mulmod(mload(0x720), mload(0x2680), f_q)) +mstore(0x26c0, addmod(mload(0xce0), sub(f_q, mload(0xd20)), f_q)) +mstore(0x26e0, mulmod(mload(0x26c0), mload(0x16e0), f_q)) +mstore(0x2700, addmod(mload(0x26a0), mload(0x26e0), f_q)) +mstore(0x2720, mulmod(mload(0x720), mload(0x2700), f_q)) +mstore(0x2740, mulmod(mload(0x26c0), mload(0x1b60), f_q)) +mstore(0x2760, addmod(mload(0xce0), sub(f_q, mload(0xd00)), f_q)) +mstore(0x2780, mulmod(mload(0x2760), mload(0x2740), f_q)) +mstore(0x27a0, addmod(mload(0x2720), mload(0x2780), f_q)) +mstore(0x27c0, mulmod(mload(0x720), mload(0x27a0), f_q)) +mstore(0x27e0, addmod(1, sub(f_q, mload(0xd40)), f_q)) +mstore(0x2800, mulmod(mload(0x27e0), mload(0x16e0), f_q)) +mstore(0x2820, addmod(mload(0x27c0), mload(0x2800), f_q)) +mstore(0x2840, mulmod(mload(0x720), mload(0x2820), f_q)) +mstore(0x2860, mulmod(mload(0xd40), mload(0xd40), f_q)) +mstore(0x2880, addmod(mload(0x2860), sub(f_q, mload(0xd40)), f_q)) +mstore(0x28a0, mulmod(mload(0x2880), mload(0x1620), f_q)) +mstore(0x28c0, addmod(mload(0x2840), mload(0x28a0), f_q)) +mstore(0x28e0, mulmod(mload(0x720), mload(0x28c0), f_q)) +mstore(0x2900, addmod(mload(0xd80), mload(0x520), f_q)) +mstore(0x2920, mulmod(mload(0x2900), mload(0xd60), f_q)) +mstore(0x2940, addmod(mload(0xdc0), mload(0x580), f_q)) +mstore(0x2960, mulmod(mload(0x2940), mload(0x2920), f_q)) +mstore(0x2980, addmod(1, sub(f_q, mload(0xa80)), f_q)) +mstore(0x29a0, mulmod(mload(0x2980), 1, f_q)) +mstore(0x29c0, addmod(1, sub(f_q, mload(0xac0)), f_q)) +mstore(0x29e0, mulmod(mload(0x29c0), mload(0x29a0), f_q)) +mstore(0x2a00, addmod(1, sub(f_q, mload(0x29e0)), f_q)) +mstore(0x2a20, mulmod(mload(0x900), mload(0x2a00), f_q)) +mstore(0x2a40, addmod(mload(0x2a20), mload(0x520), f_q)) +mstore(0x2a60, mulmod(mload(0x2a40), mload(0xd40), f_q)) +mstore(0x2a80, addmod(mload(0xa60), mload(0x580), f_q)) +mstore(0x2aa0, mulmod(mload(0x2a80), mload(0x2a60), f_q)) +mstore(0x2ac0, addmod(mload(0x2960), sub(f_q, mload(0x2aa0)), f_q)) +mstore(0x2ae0, mulmod(mload(0x2ac0), mload(0x1b60), f_q)) +mstore(0x2b00, addmod(mload(0x28e0), mload(0x2ae0), f_q)) +mstore(0x2b20, mulmod(mload(0x720), mload(0x2b00), f_q)) +mstore(0x2b40, addmod(mload(0xd80), sub(f_q, mload(0xdc0)), f_q)) +mstore(0x2b60, mulmod(mload(0x2b40), mload(0x16e0), f_q)) +mstore(0x2b80, addmod(mload(0x2b20), mload(0x2b60), f_q)) +mstore(0x2ba0, mulmod(mload(0x720), mload(0x2b80), f_q)) +mstore(0x2bc0, mulmod(mload(0x2b40), mload(0x1b60), f_q)) +mstore(0x2be0, addmod(mload(0xd80), sub(f_q, mload(0xda0)), f_q)) +mstore(0x2c00, mulmod(mload(0x2be0), mload(0x2bc0), f_q)) +mstore(0x2c20, addmod(mload(0x2ba0), mload(0x2c00), f_q)) +mstore(0x2c40, mulmod(mload(0x11e0), mload(0x11e0), f_q)) +mstore(0x2c60, mulmod(mload(0x2c40), mload(0x11e0), f_q)) +mstore(0x2c80, mulmod(mload(0x2c60), mload(0x11e0), f_q)) +mstore(0x2ca0, mulmod(mload(0x2c80), mload(0x11e0), f_q)) +mstore(0x2cc0, mulmod(1, mload(0x11e0), f_q)) +mstore(0x2ce0, mulmod(1, mload(0x2c40), f_q)) +mstore(0x2d00, mulmod(1, mload(0x2c60), f_q)) +mstore(0x2d20, mulmod(1, mload(0x2c80), f_q)) +mstore(0x2d40, mulmod(mload(0x2c20), mload(0x1200), f_q)) +mstore(0x2d60, mulmod(mload(0xf60), mload(0xf60), f_q)) +mstore(0x2d80, mulmod(mload(0x2d60), mload(0xf60), f_q)) +mstore(0x2da0, mulmod(mload(0x2d80), mload(0xf60), f_q)) +mstore(0x2dc0, mulmod(mload(0xe00), mload(0xe00), f_q)) +mstore(0x2de0, mulmod(mload(0x2dc0), mload(0xe00), f_q)) +mstore(0x2e00, mulmod(mload(0x2de0), mload(0xe00), f_q)) +mstore(0x2e20, mulmod(mload(0x2e00), mload(0xe00), f_q)) +mstore(0x2e40, mulmod(mload(0x2e20), mload(0xe00), f_q)) +mstore(0x2e60, mulmod(mload(0x2e40), mload(0xe00), f_q)) +mstore(0x2e80, mulmod(mload(0x2e60), mload(0xe00), f_q)) +mstore(0x2ea0, mulmod(mload(0x2e80), mload(0xe00), f_q)) +mstore(0x2ec0, mulmod(mload(0x2ea0), mload(0xe00), f_q)) +mstore(0x2ee0, mulmod(mload(0x2ec0), mload(0xe00), f_q)) +mstore(0x2f00, mulmod(mload(0x2ee0), mload(0xe00), f_q)) +mstore(0x2f20, mulmod(mload(0x2f00), mload(0xe00), f_q)) +mstore(0x2f40, mulmod(mload(0x2f20), mload(0xe00), f_q)) +mstore(0x2f60, mulmod(mload(0x2f40), mload(0xe00), f_q)) +mstore(0x2f80, mulmod(mload(0x2f60), mload(0xe00), f_q)) +mstore(0x2fa0, mulmod(mload(0x2f80), mload(0xe00), f_q)) +mstore(0x2fc0, mulmod(mload(0x2fa0), mload(0xe00), f_q)) +mstore(0x2fe0, mulmod(mload(0x2fc0), mload(0xe00), f_q)) +mstore(0x3000, mulmod(mload(0x2fe0), mload(0xe00), f_q)) +mstore(0x3020, mulmod(mload(0x3000), mload(0xe00), f_q)) +mstore(0x3040, mulmod(mload(0x3020), mload(0xe00), f_q)) +mstore(0x3060, mulmod(mload(0x3040), mload(0xe00), f_q)) +mstore(0x3080, mulmod(mload(0x3060), mload(0xe00), f_q)) +mstore(0x30a0, mulmod(mload(0x3080), mload(0xe00), f_q)) +mstore(0x30c0, mulmod(mload(0x30a0), mload(0xe00), f_q)) +mstore(0x30e0, mulmod(mload(0x30c0), mload(0xe00), f_q)) +mstore(0x3100, mulmod(mload(0x30e0), mload(0xe00), f_q)) +mstore(0x3120, mulmod(mload(0x3100), mload(0xe00), f_q)) +mstore(0x3140, mulmod(mload(0x3120), mload(0xe00), f_q)) +mstore(0x3160, mulmod(sub(f_q, mload(0x900)), 1, f_q)) +mstore(0x3180, mulmod(sub(f_q, mload(0x920)), mload(0xe00), f_q)) +mstore(0x31a0, mulmod(1, mload(0xe00), f_q)) +mstore(0x31c0, addmod(mload(0x3160), mload(0x3180), f_q)) +mstore(0x31e0, mulmod(sub(f_q, mload(0x940)), mload(0x2dc0), f_q)) +mstore(0x3200, mulmod(1, mload(0x2dc0), f_q)) +mstore(0x3220, addmod(mload(0x31c0), mload(0x31e0), f_q)) +mstore(0x3240, mulmod(sub(f_q, mload(0x960)), mload(0x2de0), f_q)) +mstore(0x3260, mulmod(1, mload(0x2de0), f_q)) +mstore(0x3280, addmod(mload(0x3220), mload(0x3240), f_q)) +mstore(0x32a0, mulmod(sub(f_q, mload(0x9c0)), mload(0x2e00), f_q)) +mstore(0x32c0, mulmod(1, mload(0x2e00), f_q)) +mstore(0x32e0, addmod(mload(0x3280), mload(0x32a0), f_q)) +mstore(0x3300, mulmod(sub(f_q, mload(0x9e0)), mload(0x2e20), f_q)) +mstore(0x3320, mulmod(1, mload(0x2e20), f_q)) +mstore(0x3340, addmod(mload(0x32e0), mload(0x3300), f_q)) +mstore(0x3360, mulmod(sub(f_q, mload(0xa00)), mload(0x2e40), f_q)) +mstore(0x3380, mulmod(1, mload(0x2e40), f_q)) +mstore(0x33a0, addmod(mload(0x3340), mload(0x3360), f_q)) +mstore(0x33c0, mulmod(sub(f_q, mload(0xa20)), mload(0x2e60), f_q)) +mstore(0x33e0, mulmod(1, mload(0x2e60), f_q)) +mstore(0x3400, addmod(mload(0x33a0), mload(0x33c0), f_q)) +mstore(0x3420, mulmod(sub(f_q, mload(0xc00)), mload(0x2e80), f_q)) +mstore(0x3440, mulmod(1, mload(0x2e80), f_q)) +mstore(0x3460, addmod(mload(0x3400), mload(0x3420), f_q)) +mstore(0x3480, mulmod(sub(f_q, mload(0xc60)), mload(0x2ea0), f_q)) +mstore(0x34a0, mulmod(1, mload(0x2ea0), f_q)) +mstore(0x34c0, addmod(mload(0x3460), mload(0x3480), f_q)) +mstore(0x34e0, mulmod(sub(f_q, mload(0xca0)), mload(0x2ec0), f_q)) +mstore(0x3500, mulmod(1, mload(0x2ec0), f_q)) +mstore(0x3520, addmod(mload(0x34c0), mload(0x34e0), f_q)) +mstore(0x3540, mulmod(sub(f_q, mload(0xce0)), mload(0x2ee0), f_q)) +mstore(0x3560, mulmod(1, mload(0x2ee0), f_q)) +mstore(0x3580, addmod(mload(0x3520), mload(0x3540), f_q)) +mstore(0x35a0, mulmod(sub(f_q, mload(0xd20)), mload(0x2f00), f_q)) +mstore(0x35c0, mulmod(1, mload(0x2f00), f_q)) +mstore(0x35e0, addmod(mload(0x3580), mload(0x35a0), f_q)) +mstore(0x3600, mulmod(sub(f_q, mload(0xd40)), mload(0x2f20), f_q)) +mstore(0x3620, mulmod(1, mload(0x2f20), f_q)) +mstore(0x3640, addmod(mload(0x35e0), mload(0x3600), f_q)) +mstore(0x3660, mulmod(sub(f_q, mload(0xd80)), mload(0x2f40), f_q)) +mstore(0x3680, mulmod(1, mload(0x2f40), f_q)) +mstore(0x36a0, addmod(mload(0x3640), mload(0x3660), f_q)) +mstore(0x36c0, mulmod(sub(f_q, mload(0xdc0)), mload(0x2f60), f_q)) +mstore(0x36e0, mulmod(1, mload(0x2f60), f_q)) +mstore(0x3700, addmod(mload(0x36a0), mload(0x36c0), f_q)) +mstore(0x3720, mulmod(sub(f_q, mload(0xa60)), mload(0x2f80), f_q)) +mstore(0x3740, mulmod(1, mload(0x2f80), f_q)) +mstore(0x3760, addmod(mload(0x3700), mload(0x3720), f_q)) +mstore(0x3780, mulmod(sub(f_q, mload(0xa80)), mload(0x2fa0), f_q)) +mstore(0x37a0, mulmod(1, mload(0x2fa0), f_q)) +mstore(0x37c0, addmod(mload(0x3760), mload(0x3780), f_q)) +mstore(0x37e0, mulmod(sub(f_q, mload(0xaa0)), mload(0x2fc0), f_q)) +mstore(0x3800, mulmod(1, mload(0x2fc0), f_q)) +mstore(0x3820, addmod(mload(0x37c0), mload(0x37e0), f_q)) +mstore(0x3840, mulmod(sub(f_q, mload(0xac0)), mload(0x2fe0), f_q)) +mstore(0x3860, mulmod(1, mload(0x2fe0), f_q)) +mstore(0x3880, addmod(mload(0x3820), mload(0x3840), f_q)) +mstore(0x38a0, mulmod(sub(f_q, mload(0xae0)), mload(0x3000), f_q)) +mstore(0x38c0, mulmod(1, mload(0x3000), f_q)) +mstore(0x38e0, addmod(mload(0x3880), mload(0x38a0), f_q)) +mstore(0x3900, mulmod(sub(f_q, mload(0xb00)), mload(0x3020), f_q)) +mstore(0x3920, mulmod(1, mload(0x3020), f_q)) +mstore(0x3940, addmod(mload(0x38e0), mload(0x3900), f_q)) +mstore(0x3960, addmod(mload(0x38c0), mload(0x3920), f_q)) +mstore(0x3980, mulmod(sub(f_q, mload(0xb20)), mload(0x3040), f_q)) +mstore(0x39a0, mulmod(1, mload(0x3040), f_q)) +mstore(0x39c0, addmod(mload(0x3940), mload(0x3980), f_q)) +mstore(0x39e0, mulmod(sub(f_q, mload(0xb60)), mload(0x3060), f_q)) +mstore(0x3a00, mulmod(1, mload(0x3060), f_q)) +mstore(0x3a20, addmod(mload(0x39c0), mload(0x39e0), f_q)) +mstore(0x3a40, mulmod(sub(f_q, mload(0xb80)), mload(0x3080), f_q)) +mstore(0x3a60, mulmod(1, mload(0x3080), f_q)) +mstore(0x3a80, addmod(mload(0x3a20), mload(0x3a40), f_q)) +mstore(0x3aa0, mulmod(sub(f_q, mload(0xba0)), mload(0x30a0), f_q)) +mstore(0x3ac0, mulmod(1, mload(0x30a0), f_q)) +mstore(0x3ae0, addmod(mload(0x3a80), mload(0x3aa0), f_q)) +mstore(0x3b00, mulmod(sub(f_q, mload(0xbc0)), mload(0x30c0), f_q)) +mstore(0x3b20, mulmod(1, mload(0x30c0), f_q)) +mstore(0x3b40, addmod(mload(0x3ae0), mload(0x3b00), f_q)) +mstore(0x3b60, mulmod(sub(f_q, mload(0xbe0)), mload(0x30e0), f_q)) +mstore(0x3b80, mulmod(1, mload(0x30e0), f_q)) +mstore(0x3ba0, addmod(mload(0x3b40), mload(0x3b60), f_q)) +mstore(0x3bc0, mulmod(sub(f_q, mload(0x2d40)), mload(0x3100), f_q)) +mstore(0x3be0, mulmod(1, mload(0x3100), f_q)) +mstore(0x3c00, mulmod(mload(0x2cc0), mload(0x3100), f_q)) +mstore(0x3c20, mulmod(mload(0x2ce0), mload(0x3100), f_q)) +mstore(0x3c40, mulmod(mload(0x2d00), mload(0x3100), f_q)) +mstore(0x3c60, mulmod(mload(0x2d20), mload(0x3100), f_q)) +mstore(0x3c80, addmod(mload(0x3ba0), mload(0x3bc0), f_q)) +mstore(0x3ca0, mulmod(sub(f_q, mload(0xb40)), mload(0x3120), f_q)) +mstore(0x3cc0, mulmod(1, mload(0x3120), f_q)) mstore(0x3ce0, addmod(mload(0x3c80), mload(0x3ca0), f_q)) -mstore(0x3d00, mulmod(sub(f_q, mload(0xc00)), mload(0x3360), f_q)) -mstore(0x3d20, mulmod(1, mload(0x3360), f_q)) -mstore(0x3d40, addmod(mload(0x3ce0), mload(0x3d00), f_q)) -mstore(0x3d60, addmod(mload(0x3cc0), mload(0x3d20), f_q)) -mstore(0x3d80, mulmod(sub(f_q, mload(0xc20)), mload(0x3380), f_q)) -mstore(0x3da0, mulmod(1, mload(0x3380), f_q)) -mstore(0x3dc0, addmod(mload(0x3d40), mload(0x3d80), f_q)) -mstore(0x3de0, mulmod(sub(f_q, mload(0xc60)), mload(0x33a0), f_q)) -mstore(0x3e00, mulmod(1, mload(0x33a0), f_q)) -mstore(0x3e20, addmod(mload(0x3dc0), mload(0x3de0), f_q)) -mstore(0x3e40, mulmod(sub(f_q, mload(0xc80)), mload(0x33c0), f_q)) -mstore(0x3e60, mulmod(1, mload(0x33c0), f_q)) -mstore(0x3e80, addmod(mload(0x3e20), mload(0x3e40), f_q)) -mstore(0x3ea0, mulmod(sub(f_q, mload(0xca0)), mload(0x33e0), f_q)) -mstore(0x3ec0, mulmod(1, mload(0x33e0), f_q)) -mstore(0x3ee0, addmod(mload(0x3e80), mload(0x3ea0), f_q)) -mstore(0x3f00, mulmod(sub(f_q, mload(0xcc0)), mload(0x3400), f_q)) -mstore(0x3f20, mulmod(1, mload(0x3400), f_q)) -mstore(0x3f40, addmod(mload(0x3ee0), mload(0x3f00), f_q)) -mstore(0x3f60, mulmod(sub(f_q, mload(0xce0)), mload(0x3420), f_q)) -mstore(0x3f80, mulmod(1, mload(0x3420), f_q)) -mstore(0x3fa0, addmod(mload(0x3f40), mload(0x3f60), f_q)) -mstore(0x3fc0, mulmod(sub(f_q, mload(0x3040)), mload(0x3440), f_q)) -mstore(0x3fe0, mulmod(1, mload(0x3440), f_q)) -mstore(0x4000, mulmod(mload(0x2fc0), mload(0x3440), f_q)) -mstore(0x4020, mulmod(mload(0x2fe0), mload(0x3440), f_q)) -mstore(0x4040, mulmod(mload(0x3000), mload(0x3440), f_q)) -mstore(0x4060, mulmod(mload(0x3020), mload(0x3440), f_q)) -mstore(0x4080, addmod(mload(0x3fa0), mload(0x3fc0), f_q)) -mstore(0x40a0, mulmod(sub(f_q, mload(0xc40)), mload(0x3460), f_q)) -mstore(0x40c0, mulmod(1, mload(0x3460), f_q)) -mstore(0x40e0, addmod(mload(0x4080), mload(0x40a0), f_q)) -mstore(0x4100, mulmod(mload(0x40e0), 1, f_q)) -mstore(0x4120, mulmod(mload(0x34e0), 1, f_q)) -mstore(0x4140, mulmod(mload(0x3540), 1, f_q)) -mstore(0x4160, mulmod(mload(0x35a0), 1, f_q)) -mstore(0x4180, mulmod(mload(0x3600), 1, f_q)) -mstore(0x41a0, mulmod(mload(0x3660), 1, f_q)) -mstore(0x41c0, mulmod(mload(0x36c0), 1, f_q)) -mstore(0x41e0, mulmod(mload(0x3720), 1, f_q)) -mstore(0x4200, mulmod(mload(0x3780), 1, f_q)) -mstore(0x4220, mulmod(mload(0x37e0), 1, f_q)) -mstore(0x4240, mulmod(mload(0x3840), 1, f_q)) -mstore(0x4260, mulmod(mload(0x38a0), 1, f_q)) -mstore(0x4280, mulmod(mload(0x3900), 1, f_q)) -mstore(0x42a0, mulmod(mload(0x3960), 1, f_q)) -mstore(0x42c0, mulmod(mload(0x39c0), 1, f_q)) -mstore(0x42e0, mulmod(mload(0x3a20), 1, f_q)) -mstore(0x4300, mulmod(mload(0x3a80), 1, f_q)) -mstore(0x4320, mulmod(mload(0x3ae0), 1, f_q)) -mstore(0x4340, mulmod(mload(0x3b40), 1, f_q)) -mstore(0x4360, mulmod(mload(0x3ba0), 1, f_q)) -mstore(0x4380, mulmod(mload(0x3c00), 1, f_q)) -mstore(0x43a0, mulmod(mload(0x3c60), 1, f_q)) -mstore(0x43c0, mulmod(mload(0x3d60), 1, f_q)) -mstore(0x43e0, mulmod(mload(0x3da0), 1, f_q)) -mstore(0x4400, mulmod(mload(0x3e00), 1, f_q)) -mstore(0x4420, mulmod(mload(0x3e60), 1, f_q)) -mstore(0x4440, mulmod(mload(0x3ec0), 1, f_q)) -mstore(0x4460, mulmod(mload(0x3f20), 1, f_q)) -mstore(0x4480, mulmod(mload(0x3f80), 1, f_q)) -mstore(0x44a0, mulmod(mload(0x3fe0), 1, f_q)) -mstore(0x44c0, mulmod(mload(0x4000), 1, f_q)) -mstore(0x44e0, mulmod(mload(0x4020), 1, f_q)) -mstore(0x4500, mulmod(mload(0x4040), 1, f_q)) -mstore(0x4520, mulmod(mload(0x4060), 1, f_q)) -mstore(0x4540, mulmod(mload(0x40c0), 1, f_q)) -mstore(0x4560, mulmod(sub(f_q, mload(0xa00)), 1, f_q)) -mstore(0x4580, mulmod(sub(f_q, mload(0xa20)), mload(0xf00), f_q)) -mstore(0x45a0, addmod(mload(0x4560), mload(0x4580), f_q)) -mstore(0x45c0, mulmod(sub(f_q, mload(0xa40)), mload(0x30c0), f_q)) -mstore(0x45e0, addmod(mload(0x45a0), mload(0x45c0), f_q)) -mstore(0x4600, mulmod(sub(f_q, mload(0xa80)), mload(0x30e0), f_q)) -mstore(0x4620, addmod(mload(0x45e0), mload(0x4600), f_q)) -mstore(0x4640, mulmod(sub(f_q, mload(0xd20)), mload(0x3100), f_q)) -mstore(0x4660, addmod(mload(0x4620), mload(0x4640), f_q)) -mstore(0x4680, mulmod(sub(f_q, mload(0xd80)), mload(0x3120), f_q)) -mstore(0x46a0, addmod(mload(0x4660), mload(0x4680), f_q)) -mstore(0x46c0, mulmod(sub(f_q, mload(0xdc0)), mload(0x3140), f_q)) -mstore(0x46e0, addmod(mload(0x46a0), mload(0x46c0), f_q)) -mstore(0x4700, mulmod(sub(f_q, mload(0xe60)), mload(0x3160), f_q)) -mstore(0x4720, addmod(mload(0x46e0), mload(0x4700), f_q)) -mstore(0x4740, mulmod(sub(f_q, mload(0xb40)), mload(0x3180), f_q)) -mstore(0x4760, addmod(mload(0x4720), mload(0x4740), f_q)) -mstore(0x4780, mulmod(mload(0x4760), mload(0x1060), f_q)) -mstore(0x47a0, mulmod(1, mload(0x1060), f_q)) -mstore(0x47c0, mulmod(mload(0x34e0), mload(0x1060), f_q)) -mstore(0x47e0, mulmod(mload(0x3540), mload(0x1060), f_q)) -mstore(0x4800, mulmod(mload(0x35a0), mload(0x1060), f_q)) -mstore(0x4820, mulmod(mload(0x3600), mload(0x1060), f_q)) -mstore(0x4840, mulmod(mload(0x3660), mload(0x1060), f_q)) -mstore(0x4860, mulmod(mload(0x36c0), mload(0x1060), f_q)) -mstore(0x4880, mulmod(mload(0x3720), mload(0x1060), f_q)) -mstore(0x48a0, mulmod(mload(0x3780), mload(0x1060), f_q)) -mstore(0x48c0, addmod(mload(0x4100), mload(0x4780), f_q)) -mstore(0x48e0, addmod(1, mload(0x47a0), f_q)) -mstore(0x4900, addmod(mload(0x4140), mload(0x47c0), f_q)) -mstore(0x4920, addmod(mload(0x4180), mload(0x47e0), f_q)) -mstore(0x4940, addmod(mload(0x4120), mload(0x4800), f_q)) -mstore(0x4960, addmod(mload(0x4240), mload(0x4820), f_q)) -mstore(0x4980, addmod(mload(0x4260), mload(0x4840), f_q)) -mstore(0x49a0, addmod(mload(0x4280), mload(0x4860), f_q)) -mstore(0x49c0, addmod(mload(0x42e0), mload(0x4880), f_q)) -mstore(0x49e0, mulmod(sub(f_q, mload(0xd40)), 1, f_q)) -mstore(0x4a00, mulmod(mload(0x49e0), mload(0x3060), f_q)) -mstore(0x4a20, mulmod(1, mload(0x3060), f_q)) -mstore(0x4a40, addmod(mload(0x48c0), mload(0x4a00), f_q)) -mstore(0x4a60, addmod(mload(0x4960), mload(0x4a20), f_q)) -mstore(0x4a80, mulmod(sub(f_q, mload(0xe00)), 1, f_q)) -mstore(0x4aa0, mulmod(sub(f_q, mload(0xea0)), mload(0xf00), f_q)) -mstore(0x4ac0, addmod(mload(0x4a80), mload(0x4aa0), f_q)) -mstore(0x4ae0, mulmod(mload(0x4ac0), mload(0x3080), f_q)) -mstore(0x4b00, mulmod(1, mload(0x3080), f_q)) -mstore(0x4b20, mulmod(mload(0x34e0), mload(0x3080), f_q)) -mstore(0x4b40, addmod(mload(0x4a40), mload(0x4ae0), f_q)) -mstore(0x4b60, addmod(mload(0x42a0), mload(0x4b00), f_q)) -mstore(0x4b80, addmod(mload(0x4300), mload(0x4b20), f_q)) -mstore(0x4ba0, mulmod(1, mload(0x940), f_q)) -mstore(0x4bc0, mulmod(1, mload(0x4ba0), f_q)) -mstore(0x4be0, mulmod(5854133144571823792863860130267644613802765696134002830362054821530146160770, mload(0x940), f_q)) -mstore(0x4c00, mulmod(mload(0x47a0), mload(0x4be0), f_q)) -mstore(0x4c20, mulmod(15837174511167031493871940795515473313759957271874477857633393696392913897559, mload(0x940), f_q)) -mstore(0x4c40, mulmod(mload(0x4a20), mload(0x4c20), f_q)) -mstore(0x4c60, mulmod(14686510910986211321976396297238126901237973400949744736326777596334651355305, mload(0x940), f_q)) -mstore(0x4c80, mulmod(mload(0x4b00), mload(0x4c60), f_q)) -mstore(0x4ca0, 0x0000000000000000000000000000000000000000000000000000000000000001) - mstore(0x4cc0, 0x0000000000000000000000000000000000000000000000000000000000000002) -mstore(0x4ce0, mload(0x4b40)) -success := and(eq(staticcall(gas(), 0x7, 0x4ca0, 0x60, 0x4ca0, 0x40), 1), success) -mstore(0x4d00, mload(0x360)) - mstore(0x4d20, mload(0x380)) -mstore(0x4d40, mload(0x48e0)) +mstore(0x3d00, mulmod(mload(0x3ce0), 1, f_q)) +mstore(0x3d20, mulmod(mload(0x31a0), 1, f_q)) +mstore(0x3d40, mulmod(mload(0x3200), 1, f_q)) +mstore(0x3d60, mulmod(mload(0x3260), 1, f_q)) +mstore(0x3d80, mulmod(mload(0x32c0), 1, f_q)) +mstore(0x3da0, mulmod(mload(0x3320), 1, f_q)) +mstore(0x3dc0, mulmod(mload(0x3380), 1, f_q)) +mstore(0x3de0, mulmod(mload(0x33e0), 1, f_q)) +mstore(0x3e00, mulmod(mload(0x3440), 1, f_q)) +mstore(0x3e20, mulmod(mload(0x34a0), 1, f_q)) +mstore(0x3e40, mulmod(mload(0x3500), 1, f_q)) +mstore(0x3e60, mulmod(mload(0x3560), 1, f_q)) +mstore(0x3e80, mulmod(mload(0x35c0), 1, f_q)) +mstore(0x3ea0, mulmod(mload(0x3620), 1, f_q)) +mstore(0x3ec0, mulmod(mload(0x3680), 1, f_q)) +mstore(0x3ee0, mulmod(mload(0x36e0), 1, f_q)) +mstore(0x3f00, mulmod(mload(0x3740), 1, f_q)) +mstore(0x3f20, mulmod(mload(0x37a0), 1, f_q)) +mstore(0x3f40, mulmod(mload(0x3800), 1, f_q)) +mstore(0x3f60, mulmod(mload(0x3860), 1, f_q)) +mstore(0x3f80, mulmod(mload(0x3960), 1, f_q)) +mstore(0x3fa0, mulmod(mload(0x39a0), 1, f_q)) +mstore(0x3fc0, mulmod(mload(0x3a00), 1, f_q)) +mstore(0x3fe0, mulmod(mload(0x3a60), 1, f_q)) +mstore(0x4000, mulmod(mload(0x3ac0), 1, f_q)) +mstore(0x4020, mulmod(mload(0x3b20), 1, f_q)) +mstore(0x4040, mulmod(mload(0x3b80), 1, f_q)) +mstore(0x4060, mulmod(mload(0x3be0), 1, f_q)) +mstore(0x4080, mulmod(mload(0x3c00), 1, f_q)) +mstore(0x40a0, mulmod(mload(0x3c20), 1, f_q)) +mstore(0x40c0, mulmod(mload(0x3c40), 1, f_q)) +mstore(0x40e0, mulmod(mload(0x3c60), 1, f_q)) +mstore(0x4100, mulmod(mload(0x3cc0), 1, f_q)) +mstore(0x4120, mulmod(sub(f_q, mload(0x980)), 1, f_q)) +mstore(0x4140, mulmod(sub(f_q, mload(0x9a0)), mload(0xe00), f_q)) +mstore(0x4160, addmod(mload(0x4120), mload(0x4140), f_q)) +mstore(0x4180, mulmod(sub(f_q, mload(0xc20)), mload(0x2dc0), f_q)) +mstore(0x41a0, addmod(mload(0x4160), mload(0x4180), f_q)) +mstore(0x41c0, mulmod(sub(f_q, mload(0xc80)), mload(0x2de0), f_q)) +mstore(0x41e0, addmod(mload(0x41a0), mload(0x41c0), f_q)) +mstore(0x4200, mulmod(sub(f_q, mload(0xcc0)), mload(0x2e00), f_q)) +mstore(0x4220, addmod(mload(0x41e0), mload(0x4200), f_q)) +mstore(0x4240, mulmod(sub(f_q, mload(0xd60)), mload(0x2e20), f_q)) +mstore(0x4260, addmod(mload(0x4220), mload(0x4240), f_q)) +mstore(0x4280, mulmod(sub(f_q, mload(0xa40)), mload(0x2e40), f_q)) +mstore(0x42a0, addmod(mload(0x4260), mload(0x4280), f_q)) +mstore(0x42c0, mulmod(mload(0x42a0), mload(0xf60), f_q)) +mstore(0x42e0, mulmod(1, mload(0xf60), f_q)) +mstore(0x4300, mulmod(mload(0x31a0), mload(0xf60), f_q)) +mstore(0x4320, mulmod(mload(0x3200), mload(0xf60), f_q)) +mstore(0x4340, mulmod(mload(0x3260), mload(0xf60), f_q)) +mstore(0x4360, mulmod(mload(0x32c0), mload(0xf60), f_q)) +mstore(0x4380, mulmod(mload(0x3320), mload(0xf60), f_q)) +mstore(0x43a0, mulmod(mload(0x3380), mload(0xf60), f_q)) +mstore(0x43c0, addmod(mload(0x3d00), mload(0x42c0), f_q)) +mstore(0x43e0, addmod(mload(0x3d20), mload(0x42e0), f_q)) +mstore(0x4400, addmod(1, mload(0x4300), f_q)) +mstore(0x4420, addmod(mload(0x3e00), mload(0x4320), f_q)) +mstore(0x4440, addmod(mload(0x3e20), mload(0x4340), f_q)) +mstore(0x4460, addmod(mload(0x3e40), mload(0x4360), f_q)) +mstore(0x4480, addmod(mload(0x3ea0), mload(0x4380), f_q)) +mstore(0x44a0, mulmod(sub(f_q, mload(0xc40)), 1, f_q)) +mstore(0x44c0, mulmod(mload(0x44a0), mload(0x2d60), f_q)) +mstore(0x44e0, mulmod(1, mload(0x2d60), f_q)) +mstore(0x4500, addmod(mload(0x43c0), mload(0x44c0), f_q)) +mstore(0x4520, addmod(mload(0x4420), mload(0x44e0), f_q)) +mstore(0x4540, mulmod(sub(f_q, mload(0xd00)), 1, f_q)) +mstore(0x4560, mulmod(sub(f_q, mload(0xda0)), mload(0xe00), f_q)) +mstore(0x4580, addmod(mload(0x4540), mload(0x4560), f_q)) +mstore(0x45a0, mulmod(mload(0x4580), mload(0x2d80), f_q)) +mstore(0x45c0, mulmod(1, mload(0x2d80), f_q)) +mstore(0x45e0, mulmod(mload(0x31a0), mload(0x2d80), f_q)) +mstore(0x4600, addmod(mload(0x4500), mload(0x45a0), f_q)) +mstore(0x4620, addmod(mload(0x3e60), mload(0x45c0), f_q)) +mstore(0x4640, addmod(mload(0x3ec0), mload(0x45e0), f_q)) +mstore(0x4660, mulmod(1, mload(0x8c0), f_q)) +mstore(0x4680, mulmod(1, mload(0x4660), f_q)) +mstore(0x46a0, mulmod(5854133144571823792863860130267644613802765696134002830362054821530146160770, mload(0x8c0), f_q)) +mstore(0x46c0, mulmod(mload(0x42e0), mload(0x46a0), f_q)) +mstore(0x46e0, mulmod(15837174511167031493871940795515473313759957271874477857633393696392913897559, mload(0x8c0), f_q)) +mstore(0x4700, mulmod(mload(0x44e0), mload(0x46e0), f_q)) +mstore(0x4720, mulmod(14686510910986211321976396297238126901237973400949744736326777596334651355305, mload(0x8c0), f_q)) +mstore(0x4740, mulmod(mload(0x45c0), mload(0x4720), f_q)) +mstore(0x4760, 0x0000000000000000000000000000000000000000000000000000000000000001) + mstore(0x4780, 0x0000000000000000000000000000000000000000000000000000000000000002) +mstore(0x47a0, mload(0x4600)) +success := and(eq(staticcall(gas(), 0x7, 0x4760, 0x60, 0x4760, 0x40), 1), success) +mstore(0x47c0, mload(0x160)) + mstore(0x47e0, mload(0x180)) +mstore(0x4800, mload(0x4400)) +success := and(eq(staticcall(gas(), 0x7, 0x47c0, 0x60, 0x47c0, 0x40), 1), success) +mstore(0x4820, mload(0x4760)) + mstore(0x4840, mload(0x4780)) +mstore(0x4860, mload(0x47c0)) + mstore(0x4880, mload(0x47e0)) +success := and(eq(staticcall(gas(), 0x6, 0x4820, 0x80, 0x4820, 0x40), 1), success) +mstore(0x48a0, mload(0x320)) + mstore(0x48c0, mload(0x340)) +mstore(0x48e0, mload(0x43e0)) +success := and(eq(staticcall(gas(), 0x7, 0x48a0, 0x60, 0x48a0, 0x40), 1), success) +mstore(0x4900, mload(0x4820)) + mstore(0x4920, mload(0x4840)) +mstore(0x4940, mload(0x48a0)) + mstore(0x4960, mload(0x48c0)) +success := and(eq(staticcall(gas(), 0x6, 0x4900, 0x80, 0x4900, 0x40), 1), success) +mstore(0x4980, mload(0x360)) + mstore(0x49a0, mload(0x380)) +mstore(0x49c0, mload(0x3d40)) +success := and(eq(staticcall(gas(), 0x7, 0x4980, 0x60, 0x4980, 0x40), 1), success) +mstore(0x49e0, mload(0x4900)) + mstore(0x4a00, mload(0x4920)) +mstore(0x4a20, mload(0x4980)) + mstore(0x4a40, mload(0x49a0)) +success := and(eq(staticcall(gas(), 0x6, 0x49e0, 0x80, 0x49e0, 0x40), 1), success) +mstore(0x4a60, mload(0x260)) + mstore(0x4a80, mload(0x280)) +mstore(0x4aa0, mload(0x3d60)) +success := and(eq(staticcall(gas(), 0x7, 0x4a60, 0x60, 0x4a60, 0x40), 1), success) +mstore(0x4ac0, mload(0x49e0)) + mstore(0x4ae0, mload(0x4a00)) +mstore(0x4b00, mload(0x4a60)) + mstore(0x4b20, mload(0x4a80)) +success := and(eq(staticcall(gas(), 0x6, 0x4ac0, 0x80, 0x4ac0, 0x40), 1), success) +mstore(0x4b40, mload(0xe0)) + mstore(0x4b60, mload(0x100)) +mstore(0x4b80, mload(0x3d80)) +success := and(eq(staticcall(gas(), 0x7, 0x4b40, 0x60, 0x4b40, 0x40), 1), success) +mstore(0x4ba0, mload(0x4ac0)) + mstore(0x4bc0, mload(0x4ae0)) +mstore(0x4be0, mload(0x4b40)) + mstore(0x4c00, mload(0x4b60)) +success := and(eq(staticcall(gas(), 0x6, 0x4ba0, 0x80, 0x4ba0, 0x40), 1), success) +mstore(0x4c20, mload(0x2a0)) + mstore(0x4c40, mload(0x2c0)) +mstore(0x4c60, mload(0x3da0)) +success := and(eq(staticcall(gas(), 0x7, 0x4c20, 0x60, 0x4c20, 0x40), 1), success) +mstore(0x4c80, mload(0x4ba0)) + mstore(0x4ca0, mload(0x4bc0)) +mstore(0x4cc0, mload(0x4c20)) + mstore(0x4ce0, mload(0x4c40)) +success := and(eq(staticcall(gas(), 0x6, 0x4c80, 0x80, 0x4c80, 0x40), 1), success) +mstore(0x4d00, mload(0x120)) + mstore(0x4d20, mload(0x140)) +mstore(0x4d40, mload(0x3dc0)) success := and(eq(staticcall(gas(), 0x7, 0x4d00, 0x60, 0x4d00, 0x40), 1), success) -mstore(0x4d60, mload(0x4ca0)) - mstore(0x4d80, mload(0x4cc0)) +mstore(0x4d60, mload(0x4c80)) + mstore(0x4d80, mload(0x4ca0)) mstore(0x4da0, mload(0x4d00)) mstore(0x4dc0, mload(0x4d20)) success := and(eq(staticcall(gas(), 0x6, 0x4d60, 0x80, 0x4d60, 0x40), 1), success) -mstore(0x4de0, mload(0x160)) - mstore(0x4e00, mload(0x180)) -mstore(0x4e20, mload(0x4940)) +mstore(0x4de0, mload(0x2e0)) + mstore(0x4e00, mload(0x300)) +mstore(0x4e20, mload(0x3de0)) success := and(eq(staticcall(gas(), 0x7, 0x4de0, 0x60, 0x4de0, 0x40), 1), success) mstore(0x4e40, mload(0x4d60)) mstore(0x4e60, mload(0x4d80)) mstore(0x4e80, mload(0x4de0)) mstore(0x4ea0, mload(0x4e00)) success := and(eq(staticcall(gas(), 0x6, 0x4e40, 0x80, 0x4e40, 0x40), 1), success) -mstore(0x4ec0, mload(0x3e0)) - mstore(0x4ee0, mload(0x400)) -mstore(0x4f00, mload(0x4900)) +mstore(0x4ec0, mload(0x5c0)) + mstore(0x4ee0, mload(0x5e0)) +mstore(0x4f00, mload(0x4520)) success := and(eq(staticcall(gas(), 0x7, 0x4ec0, 0x60, 0x4ec0, 0x40), 1), success) mstore(0x4f20, mload(0x4e40)) mstore(0x4f40, mload(0x4e60)) mstore(0x4f60, mload(0x4ec0)) mstore(0x4f80, mload(0x4ee0)) success := and(eq(staticcall(gas(), 0x6, 0x4f20, 0x80, 0x4f20, 0x40), 1), success) -mstore(0x4fa0, mload(0x2a0)) - mstore(0x4fc0, mload(0x2c0)) -mstore(0x4fe0, mload(0x4160)) +mstore(0x4fa0, mload(0x600)) + mstore(0x4fc0, mload(0x620)) +mstore(0x4fe0, mload(0x4440)) success := and(eq(staticcall(gas(), 0x7, 0x4fa0, 0x60, 0x4fa0, 0x40), 1), success) mstore(0x5000, mload(0x4f20)) mstore(0x5020, mload(0x4f40)) mstore(0x5040, mload(0x4fa0)) mstore(0x5060, mload(0x4fc0)) success := and(eq(staticcall(gas(), 0x6, 0x5000, 0x80, 0x5000, 0x40), 1), success) -mstore(0x5080, mload(0x3a0)) - mstore(0x50a0, mload(0x3c0)) -mstore(0x50c0, mload(0x4920)) +mstore(0x5080, mload(0x640)) + mstore(0x50a0, mload(0x660)) +mstore(0x50c0, mload(0x4460)) success := and(eq(staticcall(gas(), 0x7, 0x5080, 0x60, 0x5080, 0x40), 1), success) mstore(0x50e0, mload(0x5000)) mstore(0x5100, mload(0x5020)) mstore(0x5120, mload(0x5080)) mstore(0x5140, mload(0x50a0)) success := and(eq(staticcall(gas(), 0x6, 0x50e0, 0x80, 0x50e0, 0x40), 1), success) -mstore(0x5160, mload(0xe0)) - mstore(0x5180, mload(0x100)) -mstore(0x51a0, mload(0x41a0)) +mstore(0x5160, mload(0x400)) + mstore(0x5180, mload(0x420)) +mstore(0x51a0, mload(0x4620)) success := and(eq(staticcall(gas(), 0x7, 0x5160, 0x60, 0x5160, 0x40), 1), success) mstore(0x51c0, mload(0x50e0)) mstore(0x51e0, mload(0x5100)) mstore(0x5200, mload(0x5160)) mstore(0x5220, mload(0x5180)) success := and(eq(staticcall(gas(), 0x6, 0x51c0, 0x80, 0x51c0, 0x40), 1), success) -mstore(0x5240, mload(0x2e0)) - mstore(0x5260, mload(0x300)) -mstore(0x5280, mload(0x41c0)) +mstore(0x5240, mload(0x440)) + mstore(0x5260, mload(0x460)) +mstore(0x5280, mload(0x3e80)) success := and(eq(staticcall(gas(), 0x7, 0x5240, 0x60, 0x5240, 0x40), 1), success) mstore(0x52a0, mload(0x51c0)) mstore(0x52c0, mload(0x51e0)) mstore(0x52e0, mload(0x5240)) mstore(0x5300, mload(0x5260)) success := and(eq(staticcall(gas(), 0x6, 0x52a0, 0x80, 0x52a0, 0x40), 1), success) -mstore(0x5320, mload(0x120)) - mstore(0x5340, mload(0x140)) -mstore(0x5360, mload(0x41e0)) +mstore(0x5320, mload(0x680)) + mstore(0x5340, mload(0x6a0)) +mstore(0x5360, mload(0x4480)) success := and(eq(staticcall(gas(), 0x7, 0x5320, 0x60, 0x5320, 0x40), 1), success) mstore(0x5380, mload(0x52a0)) mstore(0x53a0, mload(0x52c0)) mstore(0x53c0, mload(0x5320)) mstore(0x53e0, mload(0x5340)) success := and(eq(staticcall(gas(), 0x6, 0x5380, 0x80, 0x5380, 0x40), 1), success) -mstore(0x5400, mload(0x320)) - mstore(0x5420, mload(0x340)) -mstore(0x5440, mload(0x4200)) +mstore(0x5400, mload(0x480)) + mstore(0x5420, mload(0x4a0)) +mstore(0x5440, mload(0x4640)) success := and(eq(staticcall(gas(), 0x7, 0x5400, 0x60, 0x5400, 0x40), 1), success) mstore(0x5460, mload(0x5380)) mstore(0x5480, mload(0x53a0)) mstore(0x54a0, mload(0x5400)) mstore(0x54c0, mload(0x5420)) success := and(eq(staticcall(gas(), 0x6, 0x5460, 0x80, 0x5460, 0x40), 1), success) -mstore(0x54e0, mload(0x1a0)) - mstore(0x5500, mload(0x1c0)) -mstore(0x5520, mload(0x4220)) +mstore(0x54e0, mload(0x4c0)) + mstore(0x5500, mload(0x4e0)) +mstore(0x5520, mload(0x3ee0)) success := and(eq(staticcall(gas(), 0x7, 0x54e0, 0x60, 0x54e0, 0x40), 1), success) mstore(0x5540, mload(0x5460)) mstore(0x5560, mload(0x5480)) mstore(0x5580, mload(0x54e0)) mstore(0x55a0, mload(0x5500)) success := and(eq(staticcall(gas(), 0x6, 0x5540, 0x80, 0x5540, 0x40), 1), success) -mstore(0x55c0, mload(0x640)) - mstore(0x55e0, mload(0x660)) -mstore(0x5600, mload(0x4a60)) +mstore(0x55c0, 0x20d27cee6f62b9cf0824005b7b29f31d91c4b4c8de945bf50a9fbeb20fc79dd5) + mstore(0x55e0, 0x00ad016680ecf259ea399e3ea1985b2ef18cc7d08bd48a7899658bbf96ad457f) +mstore(0x5600, mload(0x3f00)) success := and(eq(staticcall(gas(), 0x7, 0x55c0, 0x60, 0x55c0, 0x40), 1), success) mstore(0x5620, mload(0x5540)) mstore(0x5640, mload(0x5560)) mstore(0x5660, mload(0x55c0)) mstore(0x5680, mload(0x55e0)) success := and(eq(staticcall(gas(), 0x6, 0x5620, 0x80, 0x5620, 0x40), 1), success) -mstore(0x56a0, mload(0x680)) - mstore(0x56c0, mload(0x6a0)) -mstore(0x56e0, mload(0x4980)) +mstore(0x56a0, 0x2ed5c16dba7083fcd7341e6c1d1eb437c6c24aa271c8fec0cb9687f4e85c78d3) + mstore(0x56c0, 0x2df6d71518da47df8401284309a6a39729ac2a4548e7a9b4ee5613665821ac92) +mstore(0x56e0, mload(0x3f20)) success := and(eq(staticcall(gas(), 0x7, 0x56a0, 0x60, 0x56a0, 0x40), 1), success) mstore(0x5700, mload(0x5620)) mstore(0x5720, mload(0x5640)) mstore(0x5740, mload(0x56a0)) mstore(0x5760, mload(0x56c0)) success := and(eq(staticcall(gas(), 0x6, 0x5700, 0x80, 0x5700, 0x40), 1), success) -mstore(0x5780, mload(0x6c0)) - mstore(0x57a0, mload(0x6e0)) -mstore(0x57c0, mload(0x49a0)) +mstore(0x5780, 0x281cb52cdf2267dd03ad7ecaa4819d5dba7f829b51ff35f0c44ba1bda3be32a8) + mstore(0x57a0, 0x2c8d8895ebd5e1a46d3907ef26920e5cc0ae32227b48c2c0ab0f75defbf423b9) +mstore(0x57c0, mload(0x3f40)) success := and(eq(staticcall(gas(), 0x7, 0x5780, 0x60, 0x5780, 0x40), 1), success) mstore(0x57e0, mload(0x5700)) mstore(0x5800, mload(0x5720)) mstore(0x5820, mload(0x5780)) mstore(0x5840, mload(0x57a0)) success := and(eq(staticcall(gas(), 0x6, 0x57e0, 0x80, 0x57e0, 0x40), 1), success) -mstore(0x5860, mload(0x480)) - mstore(0x5880, mload(0x4a0)) -mstore(0x58a0, mload(0x4b60)) +mstore(0x5860, 0x229e3a8fb15a80cd79c44393f6ea5556e3ad668adf534b892b0af5be634c9fb8) + mstore(0x5880, 0x25fca1a25339c7186bd51110235fd26539b8c09cbef8e2ed27c86ec992468257) +mstore(0x58a0, mload(0x3f60)) success := and(eq(staticcall(gas(), 0x7, 0x5860, 0x60, 0x5860, 0x40), 1), success) mstore(0x58c0, mload(0x57e0)) mstore(0x58e0, mload(0x5800)) mstore(0x5900, mload(0x5860)) mstore(0x5920, mload(0x5880)) success := and(eq(staticcall(gas(), 0x6, 0x58c0, 0x80, 0x58c0, 0x40), 1), success) -mstore(0x5940, mload(0x4c0)) - mstore(0x5960, mload(0x4e0)) -mstore(0x5980, mload(0x42c0)) +mstore(0x5940, 0x0000000000000000000000000000000000000000000000000000000000000000) + mstore(0x5960, 0x0000000000000000000000000000000000000000000000000000000000000000) +mstore(0x5980, mload(0x3f80)) success := and(eq(staticcall(gas(), 0x7, 0x5940, 0x60, 0x5940, 0x40), 1), success) mstore(0x59a0, mload(0x58c0)) mstore(0x59c0, mload(0x58e0)) mstore(0x59e0, mload(0x5940)) mstore(0x5a00, mload(0x5960)) success := and(eq(staticcall(gas(), 0x6, 0x59a0, 0x80, 0x59a0, 0x40), 1), success) -mstore(0x5a20, mload(0x700)) - mstore(0x5a40, mload(0x720)) -mstore(0x5a60, mload(0x49c0)) +mstore(0x5a20, 0x269ea562c797337fa2b82b9e5685ed7ed6a9bf64c10ad1c4647f44f1f724f9ac) + mstore(0x5a40, 0x2c9d614e9eba14b280da1c8b88090af4094585a6ae07dceeb208adfcd2e5f43a) +mstore(0x5a60, mload(0x3fa0)) success := and(eq(staticcall(gas(), 0x7, 0x5a20, 0x60, 0x5a20, 0x40), 1), success) mstore(0x5a80, mload(0x59a0)) mstore(0x5aa0, mload(0x59c0)) mstore(0x5ac0, mload(0x5a20)) mstore(0x5ae0, mload(0x5a40)) success := and(eq(staticcall(gas(), 0x6, 0x5a80, 0x80, 0x5a80, 0x40), 1), success) -mstore(0x5b00, mload(0x500)) - mstore(0x5b20, mload(0x520)) -mstore(0x5b40, mload(0x4b80)) +mstore(0x5b00, 0x14d85020c3d1946a192768ccf34bc6b2b12a3d349420af7f3a0d658ec5c70064) + mstore(0x5b20, 0x050fc305b408c824e4ed32cc0f0015b8055198eac48bee671a3f2522e31c89d8) +mstore(0x5b40, mload(0x3fc0)) success := and(eq(staticcall(gas(), 0x7, 0x5b00, 0x60, 0x5b00, 0x40), 1), success) mstore(0x5b60, mload(0x5a80)) mstore(0x5b80, mload(0x5aa0)) mstore(0x5ba0, mload(0x5b00)) mstore(0x5bc0, mload(0x5b20)) success := and(eq(staticcall(gas(), 0x6, 0x5b60, 0x80, 0x5b60, 0x40), 1), success) -mstore(0x5be0, mload(0x540)) - mstore(0x5c00, mload(0x560)) -mstore(0x5c20, mload(0x4320)) +mstore(0x5be0, 0x24cd09e9ddbe78904ef088fb7d9add7671f0ed402a53d8eee9fbeba24856f8de) + mstore(0x5c00, 0x1fee7f57b90d3cd90a7c75ba7f22fae869a5c3d3759601a27f5ee8fc8df67230) +mstore(0x5c20, mload(0x3fe0)) success := and(eq(staticcall(gas(), 0x7, 0x5be0, 0x60, 0x5be0, 0x40), 1), success) mstore(0x5c40, mload(0x5b60)) mstore(0x5c60, mload(0x5b80)) mstore(0x5c80, mload(0x5be0)) mstore(0x5ca0, mload(0x5c00)) success := and(eq(staticcall(gas(), 0x6, 0x5c40, 0x80, 0x5c40, 0x40), 1), success) -mstore(0x5cc0, 0x20d27cee6f62b9cf0824005b7b29f31d91c4b4c8de945bf50a9fbeb20fc79dd5) - mstore(0x5ce0, 0x00ad016680ecf259ea399e3ea1985b2ef18cc7d08bd48a7899658bbf96ad457f) -mstore(0x5d00, mload(0x4340)) +mstore(0x5cc0, 0x2011b8eacdb329a3f12e99e88574145d47ffd6f0b2bd2fda770867e2272b3389) + mstore(0x5ce0, 0x2483960c2986178421542fdc33e65949d9480ab66040b60a0e776293f1a971a9) +mstore(0x5d00, mload(0x4000)) success := and(eq(staticcall(gas(), 0x7, 0x5cc0, 0x60, 0x5cc0, 0x40), 1), success) mstore(0x5d20, mload(0x5c40)) mstore(0x5d40, mload(0x5c60)) mstore(0x5d60, mload(0x5cc0)) mstore(0x5d80, mload(0x5ce0)) success := and(eq(staticcall(gas(), 0x6, 0x5d20, 0x80, 0x5d20, 0x40), 1), success) -mstore(0x5da0, 0x2ed5c16dba7083fcd7341e6c1d1eb437c6c24aa271c8fec0cb9687f4e85c78d3) - mstore(0x5dc0, 0x2df6d71518da47df8401284309a6a39729ac2a4548e7a9b4ee5613665821ac92) -mstore(0x5de0, mload(0x4360)) +mstore(0x5da0, 0x2826dcf14a991ce4c21f80ae1e814565f8a489388c7cd9b455f27a9f84b657ed) + mstore(0x5dc0, 0x2b8dc208203c58e1034afaa7906c8cde3b5e3ecbb111a0997cbffb3ba5b4422c) +mstore(0x5de0, mload(0x4020)) success := and(eq(staticcall(gas(), 0x7, 0x5da0, 0x60, 0x5da0, 0x40), 1), success) mstore(0x5e00, mload(0x5d20)) mstore(0x5e20, mload(0x5d40)) mstore(0x5e40, mload(0x5da0)) mstore(0x5e60, mload(0x5dc0)) success := and(eq(staticcall(gas(), 0x6, 0x5e00, 0x80, 0x5e00, 0x40), 1), success) -mstore(0x5e80, 0x281cb52cdf2267dd03ad7ecaa4819d5dba7f829b51ff35f0c44ba1bda3be32a8) - mstore(0x5ea0, 0x2c8d8895ebd5e1a46d3907ef26920e5cc0ae32227b48c2c0ab0f75defbf423b9) -mstore(0x5ec0, mload(0x4380)) +mstore(0x5e80, 0x1f11693235739a17fa7f29adcfffbd2a9d191d3f4add8979df2a7165b61e9d12) + mstore(0x5ea0, 0x0019913aa142d6fc990b095edc0ca8896bf473558df26d7a30a0aff88620b86f) +mstore(0x5ec0, mload(0x4040)) success := and(eq(staticcall(gas(), 0x7, 0x5e80, 0x60, 0x5e80, 0x40), 1), success) mstore(0x5ee0, mload(0x5e00)) mstore(0x5f00, mload(0x5e20)) mstore(0x5f20, mload(0x5e80)) mstore(0x5f40, mload(0x5ea0)) success := and(eq(staticcall(gas(), 0x6, 0x5ee0, 0x80, 0x5ee0, 0x40), 1), success) -mstore(0x5f60, 0x229e3a8fb15a80cd79c44393f6ea5556e3ad668adf534b892b0af5be634c9fb8) - mstore(0x5f80, 0x25fca1a25339c7186bd51110235fd26539b8c09cbef8e2ed27c86ec992468257) -mstore(0x5fa0, mload(0x43a0)) +mstore(0x5f60, mload(0x760)) + mstore(0x5f80, mload(0x780)) +mstore(0x5fa0, mload(0x4060)) success := and(eq(staticcall(gas(), 0x7, 0x5f60, 0x60, 0x5f60, 0x40), 1), success) mstore(0x5fc0, mload(0x5ee0)) mstore(0x5fe0, mload(0x5f00)) mstore(0x6000, mload(0x5f60)) mstore(0x6020, mload(0x5f80)) success := and(eq(staticcall(gas(), 0x6, 0x5fc0, 0x80, 0x5fc0, 0x40), 1), success) -mstore(0x6040, 0x0000000000000000000000000000000000000000000000000000000000000000) - mstore(0x6060, 0x0000000000000000000000000000000000000000000000000000000000000000) -mstore(0x6080, mload(0x43c0)) +mstore(0x6040, mload(0x7a0)) + mstore(0x6060, mload(0x7c0)) +mstore(0x6080, mload(0x4080)) success := and(eq(staticcall(gas(), 0x7, 0x6040, 0x60, 0x6040, 0x40), 1), success) mstore(0x60a0, mload(0x5fc0)) mstore(0x60c0, mload(0x5fe0)) mstore(0x60e0, mload(0x6040)) mstore(0x6100, mload(0x6060)) success := and(eq(staticcall(gas(), 0x6, 0x60a0, 0x80, 0x60a0, 0x40), 1), success) -mstore(0x6120, 0x269ea562c797337fa2b82b9e5685ed7ed6a9bf64c10ad1c4647f44f1f724f9ac) - mstore(0x6140, 0x2c9d614e9eba14b280da1c8b88090af4094585a6ae07dceeb208adfcd2e5f43a) -mstore(0x6160, mload(0x43e0)) +mstore(0x6120, mload(0x7e0)) + mstore(0x6140, mload(0x800)) +mstore(0x6160, mload(0x40a0)) success := and(eq(staticcall(gas(), 0x7, 0x6120, 0x60, 0x6120, 0x40), 1), success) mstore(0x6180, mload(0x60a0)) mstore(0x61a0, mload(0x60c0)) mstore(0x61c0, mload(0x6120)) mstore(0x61e0, mload(0x6140)) success := and(eq(staticcall(gas(), 0x6, 0x6180, 0x80, 0x6180, 0x40), 1), success) -mstore(0x6200, 0x0f16d043e79abe741ffd913c687816998ea65179e66466a4423325472d070a8a) - mstore(0x6220, 0x260f65885cf0f2931f33b67f2849a41ad02f99ed11555dd5264e3e09cd13fc14) -mstore(0x6240, mload(0x4400)) +mstore(0x6200, mload(0x820)) + mstore(0x6220, mload(0x840)) +mstore(0x6240, mload(0x40c0)) success := and(eq(staticcall(gas(), 0x7, 0x6200, 0x60, 0x6200, 0x40), 1), success) mstore(0x6260, mload(0x6180)) mstore(0x6280, mload(0x61a0)) mstore(0x62a0, mload(0x6200)) mstore(0x62c0, mload(0x6220)) success := and(eq(staticcall(gas(), 0x6, 0x6260, 0x80, 0x6260, 0x40), 1), success) -mstore(0x62e0, 0x2997a9015537f4e44a8e7633288a56fa1cc3521310d0156103346589ab214e99) - mstore(0x6300, 0x20cd7e98721ea1e2b93799024a840f0071612a5baa0e9ccab52c9b366bfcb96a) -mstore(0x6320, mload(0x4420)) +mstore(0x62e0, mload(0x860)) + mstore(0x6300, mload(0x880)) +mstore(0x6320, mload(0x40e0)) success := and(eq(staticcall(gas(), 0x7, 0x62e0, 0x60, 0x62e0, 0x40), 1), success) mstore(0x6340, mload(0x6260)) mstore(0x6360, mload(0x6280)) mstore(0x6380, mload(0x62e0)) mstore(0x63a0, mload(0x6300)) success := and(eq(staticcall(gas(), 0x6, 0x6340, 0x80, 0x6340, 0x40), 1), success) -mstore(0x63c0, 0x1a44806f58e3d90f9b45097904886fb95d29d31c03715294b37ffde7a59691e7) - mstore(0x63e0, 0x026f3cc4cbf564c250d96d0fbcb739cf7a3d1ff8d22f0d419a3ba8f99a618155) -mstore(0x6400, mload(0x4440)) +mstore(0x63c0, mload(0x6c0)) + mstore(0x63e0, mload(0x6e0)) +mstore(0x6400, mload(0x4100)) success := and(eq(staticcall(gas(), 0x7, 0x63c0, 0x60, 0x63c0, 0x40), 1), success) mstore(0x6420, mload(0x6340)) mstore(0x6440, mload(0x6360)) mstore(0x6460, mload(0x63c0)) mstore(0x6480, mload(0x63e0)) success := and(eq(staticcall(gas(), 0x6, 0x6420, 0x80, 0x6420, 0x40), 1), success) -mstore(0x64a0, 0x0be91b11450e24371e3843c298d809dfeab168596633caade349d6551371a6d4) - mstore(0x64c0, 0x1597c95e45833462ea37a9ecc9c7b469017749cab0ab7be3c17c50b823673b55) -mstore(0x64e0, mload(0x4460)) +mstore(0x64a0, 0x2aac7efcdcecc6b9e5bd3dcfb869aa6b9bc4a5997f558b625127b1142190d92c) + mstore(0x64c0, 0x18c5d82b3f3947147a562001dc76441331a05dc86395f3ca0535dc7ba842674c) +mstore(0x64e0, mload(0x43a0)) success := and(eq(staticcall(gas(), 0x7, 0x64a0, 0x60, 0x64a0, 0x40), 1), success) mstore(0x6500, mload(0x6420)) mstore(0x6520, mload(0x6440)) mstore(0x6540, mload(0x64a0)) mstore(0x6560, mload(0x64c0)) success := and(eq(staticcall(gas(), 0x6, 0x6500, 0x80, 0x6500, 0x40), 1), success) -mstore(0x6580, 0x2d1daa8984f7db2ef5513a014c3a5f00b0f45cff80636875cd763df2df820551) - mstore(0x65a0, 0x2712e135c8d6e306715ddaf940c19c746f4d69e0f5756c54ce94009161e7138b) -mstore(0x65c0, mload(0x4480)) +mstore(0x6580, mload(0xe40)) + mstore(0x65a0, mload(0xe60)) +mstore(0x65c0, mload(0x4680)) success := and(eq(staticcall(gas(), 0x7, 0x6580, 0x60, 0x6580, 0x40), 1), success) mstore(0x65e0, mload(0x6500)) mstore(0x6600, mload(0x6520)) mstore(0x6620, mload(0x6580)) mstore(0x6640, mload(0x65a0)) success := and(eq(staticcall(gas(), 0x6, 0x65e0, 0x80, 0x65e0, 0x40), 1), success) -mstore(0x6660, mload(0x7e0)) - mstore(0x6680, mload(0x800)) -mstore(0x66a0, mload(0x44a0)) +mstore(0x6660, mload(0xe80)) + mstore(0x6680, mload(0xea0)) +mstore(0x66a0, mload(0x46c0)) success := and(eq(staticcall(gas(), 0x7, 0x6660, 0x60, 0x6660, 0x40), 1), success) mstore(0x66c0, mload(0x65e0)) mstore(0x66e0, mload(0x6600)) mstore(0x6700, mload(0x6660)) mstore(0x6720, mload(0x6680)) success := and(eq(staticcall(gas(), 0x6, 0x66c0, 0x80, 0x66c0, 0x40), 1), success) -mstore(0x6740, mload(0x820)) - mstore(0x6760, mload(0x840)) -mstore(0x6780, mload(0x44c0)) +mstore(0x6740, mload(0xec0)) + mstore(0x6760, mload(0xee0)) +mstore(0x6780, mload(0x4700)) success := and(eq(staticcall(gas(), 0x7, 0x6740, 0x60, 0x6740, 0x40), 1), success) mstore(0x67a0, mload(0x66c0)) mstore(0x67c0, mload(0x66e0)) mstore(0x67e0, mload(0x6740)) mstore(0x6800, mload(0x6760)) success := and(eq(staticcall(gas(), 0x6, 0x67a0, 0x80, 0x67a0, 0x40), 1), success) -mstore(0x6820, mload(0x860)) - mstore(0x6840, mload(0x880)) -mstore(0x6860, mload(0x44e0)) +mstore(0x6820, mload(0xf00)) + mstore(0x6840, mload(0xf20)) +mstore(0x6860, mload(0x4740)) success := and(eq(staticcall(gas(), 0x7, 0x6820, 0x60, 0x6820, 0x40), 1), success) mstore(0x6880, mload(0x67a0)) mstore(0x68a0, mload(0x67c0)) mstore(0x68c0, mload(0x6820)) mstore(0x68e0, mload(0x6840)) success := and(eq(staticcall(gas(), 0x6, 0x6880, 0x80, 0x6880, 0x40), 1), success) -mstore(0x6900, mload(0x8a0)) - mstore(0x6920, mload(0x8c0)) -mstore(0x6940, mload(0x4500)) +mstore(0x6900, mload(0xe80)) + mstore(0x6920, mload(0xea0)) +mstore(0x6940, mload(0x42e0)) success := and(eq(staticcall(gas(), 0x7, 0x6900, 0x60, 0x6900, 0x40), 1), success) -mstore(0x6960, mload(0x6880)) - mstore(0x6980, mload(0x68a0)) +mstore(0x6960, mload(0xe40)) + mstore(0x6980, mload(0xe60)) mstore(0x69a0, mload(0x6900)) mstore(0x69c0, mload(0x6920)) success := and(eq(staticcall(gas(), 0x6, 0x6960, 0x80, 0x6960, 0x40), 1), success) -mstore(0x69e0, mload(0x8e0)) - mstore(0x6a00, mload(0x900)) -mstore(0x6a20, mload(0x4520)) +mstore(0x69e0, mload(0xec0)) + mstore(0x6a00, mload(0xee0)) +mstore(0x6a20, mload(0x44e0)) success := and(eq(staticcall(gas(), 0x7, 0x69e0, 0x60, 0x69e0, 0x40), 1), success) mstore(0x6a40, mload(0x6960)) mstore(0x6a60, mload(0x6980)) mstore(0x6a80, mload(0x69e0)) mstore(0x6aa0, mload(0x6a00)) success := and(eq(staticcall(gas(), 0x6, 0x6a40, 0x80, 0x6a40, 0x40), 1), success) -mstore(0x6ac0, mload(0x740)) - mstore(0x6ae0, mload(0x760)) -mstore(0x6b00, mload(0x4540)) +mstore(0x6ac0, mload(0xf00)) + mstore(0x6ae0, mload(0xf20)) +mstore(0x6b00, mload(0x45c0)) success := and(eq(staticcall(gas(), 0x7, 0x6ac0, 0x60, 0x6ac0, 0x40), 1), success) mstore(0x6b20, mload(0x6a40)) mstore(0x6b40, mload(0x6a60)) mstore(0x6b60, mload(0x6ac0)) mstore(0x6b80, mload(0x6ae0)) success := and(eq(staticcall(gas(), 0x6, 0x6b20, 0x80, 0x6b20, 0x40), 1), success) -mstore(0x6ba0, 0x2aac7efcdcecc6b9e5bd3dcfb869aa6b9bc4a5997f558b625127b1142190d92c) - mstore(0x6bc0, 0x18c5d82b3f3947147a562001dc76441331a05dc86395f3ca0535dc7ba842674c) -mstore(0x6be0, mload(0x48a0)) -success := and(eq(staticcall(gas(), 0x7, 0x6ba0, 0x60, 0x6ba0, 0x40), 1), success) -mstore(0x6c00, mload(0x6b20)) - mstore(0x6c20, mload(0x6b40)) -mstore(0x6c40, mload(0x6ba0)) - mstore(0x6c60, mload(0x6bc0)) -success := and(eq(staticcall(gas(), 0x6, 0x6c00, 0x80, 0x6c00, 0x40), 1), success) -mstore(0x6c80, mload(0xf40)) - mstore(0x6ca0, mload(0xf60)) -mstore(0x6cc0, mload(0x4bc0)) -success := and(eq(staticcall(gas(), 0x7, 0x6c80, 0x60, 0x6c80, 0x40), 1), success) -mstore(0x6ce0, mload(0x6c00)) - mstore(0x6d00, mload(0x6c20)) -mstore(0x6d20, mload(0x6c80)) - mstore(0x6d40, mload(0x6ca0)) -success := and(eq(staticcall(gas(), 0x6, 0x6ce0, 0x80, 0x6ce0, 0x40), 1), success) -mstore(0x6d60, mload(0xf80)) - mstore(0x6d80, mload(0xfa0)) -mstore(0x6da0, mload(0x4c00)) -success := and(eq(staticcall(gas(), 0x7, 0x6d60, 0x60, 0x6d60, 0x40), 1), success) -mstore(0x6dc0, mload(0x6ce0)) - mstore(0x6de0, mload(0x6d00)) -mstore(0x6e00, mload(0x6d60)) - mstore(0x6e20, mload(0x6d80)) -success := and(eq(staticcall(gas(), 0x6, 0x6dc0, 0x80, 0x6dc0, 0x40), 1), success) -mstore(0x6e40, mload(0xfc0)) - mstore(0x6e60, mload(0xfe0)) -mstore(0x6e80, mload(0x4c40)) -success := and(eq(staticcall(gas(), 0x7, 0x6e40, 0x60, 0x6e40, 0x40), 1), success) -mstore(0x6ea0, mload(0x6dc0)) - mstore(0x6ec0, mload(0x6de0)) -mstore(0x6ee0, mload(0x6e40)) - mstore(0x6f00, mload(0x6e60)) -success := and(eq(staticcall(gas(), 0x6, 0x6ea0, 0x80, 0x6ea0, 0x40), 1), success) -mstore(0x6f20, mload(0x1000)) - mstore(0x6f40, mload(0x1020)) -mstore(0x6f60, mload(0x4c80)) -success := and(eq(staticcall(gas(), 0x7, 0x6f20, 0x60, 0x6f20, 0x40), 1), success) -mstore(0x6f80, mload(0x6ea0)) - mstore(0x6fa0, mload(0x6ec0)) -mstore(0x6fc0, mload(0x6f20)) - mstore(0x6fe0, mload(0x6f40)) -success := and(eq(staticcall(gas(), 0x6, 0x6f80, 0x80, 0x6f80, 0x40), 1), success) -mstore(0x7000, mload(0xf80)) - mstore(0x7020, mload(0xfa0)) -mstore(0x7040, mload(0x47a0)) -success := and(eq(staticcall(gas(), 0x7, 0x7000, 0x60, 0x7000, 0x40), 1), success) -mstore(0x7060, mload(0xf40)) - mstore(0x7080, mload(0xf60)) -mstore(0x70a0, mload(0x7000)) - mstore(0x70c0, mload(0x7020)) -success := and(eq(staticcall(gas(), 0x6, 0x7060, 0x80, 0x7060, 0x40), 1), success) -mstore(0x70e0, mload(0xfc0)) - mstore(0x7100, mload(0xfe0)) -mstore(0x7120, mload(0x4a20)) -success := and(eq(staticcall(gas(), 0x7, 0x70e0, 0x60, 0x70e0, 0x40), 1), success) -mstore(0x7140, mload(0x7060)) - mstore(0x7160, mload(0x7080)) -mstore(0x7180, mload(0x70e0)) - mstore(0x71a0, mload(0x7100)) -success := and(eq(staticcall(gas(), 0x6, 0x7140, 0x80, 0x7140, 0x40), 1), success) -mstore(0x71c0, mload(0x1000)) - mstore(0x71e0, mload(0x1020)) -mstore(0x7200, mload(0x4b00)) -success := and(eq(staticcall(gas(), 0x7, 0x71c0, 0x60, 0x71c0, 0x40), 1), success) -mstore(0x7220, mload(0x7140)) - mstore(0x7240, mload(0x7160)) -mstore(0x7260, mload(0x71c0)) - mstore(0x7280, mload(0x71e0)) -success := and(eq(staticcall(gas(), 0x6, 0x7220, 0x80, 0x7220, 0x40), 1), success) -mstore(0x72a0, mload(0x6f80)) - mstore(0x72c0, mload(0x6fa0)) -mstore(0x72e0, 0x198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2) - mstore(0x7300, 0x1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed) - mstore(0x7320, 0x090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b) - mstore(0x7340, 0x12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa) -mstore(0x7360, mload(0x7220)) - mstore(0x7380, mload(0x7240)) -mstore(0x73a0, 0x23154cd76fc1a1456722405944669193fa5bb5dca6bf2d82a753c2bd4a301844) - mstore(0x73c0, 0x08faab3e0053f08c27e98f5f55d9e6828d5bec3ca616b4f8014ba8a57f087bec) - mstore(0x73e0, 0x2491c974cda41f8748723ea2e5235649e0b01b17471d0152d93be5a0865f3f3e) - mstore(0x7400, 0x078a2487b80fcbfd3b4036c306540ec111c685b7842bd153042a4357b30db70a) -success := and(eq(staticcall(gas(), 0x8, 0x72a0, 0x180, 0x72a0, 0x20), 1), success) -success := and(eq(mload(0x72a0), 1), success) +mstore(0x6ba0, mload(0x6880)) + mstore(0x6bc0, mload(0x68a0)) +mstore(0x6be0, 0x198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2) + mstore(0x6c00, 0x1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed) + mstore(0x6c20, 0x090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b) + mstore(0x6c40, 0x12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa) +mstore(0x6c60, mload(0x6b20)) + mstore(0x6c80, mload(0x6b40)) +mstore(0x6ca0, 0x23154cd76fc1a1456722405944669193fa5bb5dca6bf2d82a753c2bd4a301844) + mstore(0x6cc0, 0x08faab3e0053f08c27e98f5f55d9e6828d5bec3ca616b4f8014ba8a57f087bec) + mstore(0x6ce0, 0x2491c974cda41f8748723ea2e5235649e0b01b17471d0152d93be5a0865f3f3e) + mstore(0x6d00, 0x078a2487b80fcbfd3b4036c306540ec111c685b7842bd153042a4357b30db70a) +success := and(eq(staticcall(gas(), 0x8, 0x6ba0, 0x180, 0x6ba0, 0x20), 1), success) +success := and(eq(mload(0x6ba0), 1), success) if not(success) { revert(0, 0) } // keccak256("taiko") mstore(0x00, 0x93ac8fdbfc0b0608f9195474a0dd6242f019f5abc3c4e26ad51fefb059cc0177) return(0, 32) + } } }