diff --git a/.github/workflows/bri-3.yml b/.github/workflows/bri-3.yml index cb8636195..507b47234 100644 --- a/.github/workflows/bri-3.yml +++ b/.github/workflows/bri-3.yml @@ -6,11 +6,13 @@ on: - examples/bri-3/** branches: - main + - develop pull_request: paths: - examples/bri-3/** branches: - main + - develop jobs: ci: @@ -44,8 +46,9 @@ jobs: DID_REGISTRY: "0x03d5003bf0e79c5f5223588f347eba39afbc3818" DID_BPI_OPERATOR_PUBLIC_KEY: "0x08872e27BC5d78F1FC4590803369492868A1FCCb" DID_BPI_OPERATOR_PRIVATE_KEY: "2c95d82bcd8851bd3a813c50afafb025228bf8d237e8fd37ba4adba3a7596d58" - DID_NETWORK: "sepolia" + CCSM_NETWORK: "localhost" INFURA_PROVIDER_API_KEY: "c5f37cd25eca4007a9768f18f492bc6f" + CCSM_BPI_STATE_ANCHOR_CONTRACT_ADDRESS: "0x1CC96ba639d4fd7624913fde39122270a1aC5c34" SERVICE_URL: "bri-3" BPI_NATS_SERVER_URL: "localhost:4222" BPI_NATS_SERVER_USER: "bpi_operator" @@ -105,6 +108,16 @@ jobs: - name: Run prisma db seed working-directory: examples/bri-3 run: npx prisma db seed + + - name: Install hardhat dependencies + working-directory: examples/bri-3/ccsm + run: npm ci + + - name: Run hardhat and deploy contracts + working-directory: examples/bri-3/ccsm + run: | + npx hardhat node & + npx hardhat run scripts/deploy.ts - name: Run e2e tests working-directory: examples/bri-3 diff --git a/examples/bri-3/.env.sample b/examples/bri-3/.env.sample index 027e2084d..4bb6d335e 100644 --- a/examples/bri-3/.env.sample +++ b/examples/bri-3/.env.sample @@ -8,8 +8,9 @@ DATABASE_URL="postgresql://postgres:example@localhost:5432/postgres" # DB connec DID_REGISTRY="0x03d5003bf0e79c5f5223588f347eba39afbc3818" # Sepolia did registry https://sepolia.etherscan.io/address/0x03d5003bf0e79c5f5223588f347eba39afbc3818#code DID_BPI_OPERATOR_PUBLIC_KEY="" # bpi_operator_public_key = public key of the bpi operator that represents the issuer of the JWT token DID_BPI_OPERATOR_PRIVATE_KEY="" # bpi_operator_private_key = private key of the bpi operator that is used to sign the issued JWT token -DID_NETWORK="sepolia" # network used to resolve dids +CCSM_NETWORK="localhost" # network used to connect to BPI smart contract INFURA_PROVIDER_API_KEY="" # API key of the infura account used to connect to the network +CCSM_BPI_STATE_ANCHOR_CONTRACT_ADDRESS="" # address of the smart contract where CAHs are stored (0x1CC96ba639d4fd7624913fde39122270a1aC5c34 for local hardhat node) SERVICE_URL="bri-3" # JWT token audience BPI_NATS_SERVER_URL="localhost:4222" # URL of the local NATS server instance used by the BPI BPI_NATS_SERVER_USER="bpi_operator" diff --git a/examples/bri-3/.gitignore b/examples/bri-3/.gitignore index 236becda6..0be91a911 100644 --- a/examples/bri-3/.gitignore +++ b/examples/bri-3/.gitignore @@ -2,7 +2,6 @@ /dist /node_modules src/bri/zeroKnowledgeProof/services/circuit/snarkjs/*.sol -/zeroKnowledgeArtifacts/blockchain/ethereum/artifacts /typechain-types /cache diff --git a/examples/bri-3/.vscode/settings.json b/examples/bri-3/.vscode/settings.json index 55712c19f..2e9280a41 100644 --- a/examples/bri-3/.vscode/settings.json +++ b/examples/bri-3/.vscode/settings.json @@ -1,3 +1,5 @@ { - "typescript.tsdk": "node_modules/typescript/lib" + "typescript.tsdk": "node_modules/typescript/lib", + "solidity-va.diagnostics.cdili_json.import": true, + "solidity.compileUsingRemoteVersion": "v0.8.20+commit.a1b79de6" } \ No newline at end of file diff --git a/examples/bri-3/README.md b/examples/bri-3/README.md index 73d90c99a..f313eb50f 100644 --- a/examples/bri-3/README.md +++ b/examples/bri-3/README.md @@ -83,12 +83,12 @@ $ npm run test -- transactions.agent.spec.ts ```bash -# e2e testing - .e2e.spec files located in ./test folder +# e2e testing - .e2e.spec files and the bash script used for running located in ./test folder # before running the tests, make sure that postgres and nats are running -# and the database is properly populated with the seed.ts command (explained above) # also make sure that the .env file contains correct values for DID login to work (as explained in the .env.sample) -$ npm run test:e2e +$ cd test +$ sh ./e2e-test.sh ``` ## Architecture diff --git a/examples/bri-3/ccsm/.gitignore b/examples/bri-3/ccsm/.gitignore new file mode 100644 index 000000000..e8c12ff4f --- /dev/null +++ b/examples/bri-3/ccsm/.gitignore @@ -0,0 +1,17 @@ +node_modules +.env + +# Hardhat files +/cache +/artifacts + +# TypeChain files +/typechain +/typechain-types + +# solidity-coverage files +/coverage +/coverage.json + +# Hardhat Ignition default folder for deployments against a local node +ignition/deployments/chain-31337 diff --git a/examples/bri-3/ccsm/README.md b/examples/bri-3/ccsm/README.md new file mode 100644 index 000000000..606304da9 --- /dev/null +++ b/examples/bri-3/ccsm/README.md @@ -0,0 +1,12 @@ +# Sample Hardhat Project + +This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a Hardhat Ignition module that deploys that contract. + +Try running some of the following tasks: + +```shell +npx hardhat help +npx hardhat test +REPORT_GAS=true npx hardhat test +npx hardhat node +``` diff --git a/examples/bri-3/ccsm/contracts/CcsmBpiStateAnchor.sol b/examples/bri-3/ccsm/contracts/CcsmBpiStateAnchor.sol new file mode 100644 index 000000000..a3f49a36e --- /dev/null +++ b/examples/bri-3/ccsm/contracts/CcsmBpiStateAnchor.sol @@ -0,0 +1,56 @@ +//SPDX-License-Identifier: UNLICENSED +pragma solidity 0.8.24; + +import '@openzeppelin/contracts/access/AccessControl.sol'; + +contract CcsmBpiStateAnchor is AccessControl { + mapping(string => string) public anchorHashStore; + event AnchorHashSet(string indexed workstepInstanceId, string anchorHash); + + bytes32 public constant ADMIN_ROLE = keccak256('ADMIN_ROLE'); + + constructor(address[] memory admins) { + _grantRole(DEFAULT_ADMIN_ROLE, msg.sender); // Grant deployer the default admin role + + for (uint i = 0; i < admins.length; i++) { + _grantRole(ADMIN_ROLE, admins[i]); // Grant admin role to each address + } + } + + function setAnchorHash( + string calldata _workstepInstanceId, + string calldata _anchorHash + ) external onlyAdmin { + require( + bytes(_workstepInstanceId).length > 0, + 'WorkstepInstanceId cannot be empty' + ); + require( + bytes(_workstepInstanceId).length < 40, + 'WorkstepInstanceId cannot exceed 40 bytes' + ); + require(bytes(_anchorHash).length > 0, 'AnchorHash cannot be empty'); + require( + bytes(_anchorHash).length <= 256, + 'AnchorHash cannot exceed 256 bytes' + ); + + anchorHashStore[_workstepInstanceId] = _anchorHash; + + emit AnchorHashSet(_workstepInstanceId, _anchorHash); + } + + function getAnchorHash( + string calldata _workstepInstanceId + ) external view returns (string memory) { + return anchorHashStore[_workstepInstanceId]; + } + + modifier onlyAdmin() { + require( + hasRole(ADMIN_ROLE, msg.sender), + 'Only admin can call this function' + ); + _; + } +} diff --git a/examples/bri-3/ccsm/contracts/workstep1Verifier.sol b/examples/bri-3/ccsm/contracts/workstep1Verifier.sol new file mode 100644 index 000000000..37eefdf95 --- /dev/null +++ b/examples/bri-3/ccsm/contracts/workstep1Verifier.sol @@ -0,0 +1,652 @@ +// SPDX-License-Identifier: GPL-3.0 +/* + Copyright 2021 0KIMS association. + + This file is generated with [snarkJS](https://github.com/iden3/snarkjs). + + snarkJS is a free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + snarkJS is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU General Public License + along with snarkJS. If not, see . +*/ + + +pragma solidity >=0.7.0 <0.9.0; + +contract Workstep1Verifier { + + uint32 constant n = 32768; + uint16 constant nPublic = 1; + uint16 constant nLagrange = 1; + + uint256 constant Qmx = 10194515970599655109282911583529565849380113195932357171927870801826137307774; + uint256 constant Qmy = 13140940011443490941222100702885231336933018003050133753669339785410949789318; + uint256 constant Qlx = 9075702821792504836345109031609121656336462373875253577566881197906035654776; + uint256 constant Qly = 18954037199706809918078978569604036271719091221321522515280996454686959634667; + uint256 constant Qrx = 14125739754959425112951448565023067073272356473857387194868146753139341737481; + uint256 constant Qry = 9211804802878452259667024877839323417493810024412294758516974036979308136919; + uint256 constant Qox = 13352593265832352698392334901719590216083652550510765281779096890792086115148; + uint256 constant Qoy = 21171212246999274828233761278619486390083267569257427931416020748289597739922; + uint256 constant Qcx = 5480056686458973564008058219103481932927511500969774465272533080708796456916; + uint256 constant Qcy = 18487662305128159302246915279383311188386526722958024410734396746249896900994; + uint256 constant S1x = 17437666502495807466379659324529146642963221649250738321282955596403801525575; + uint256 constant S1y = 18377485979133540239288926929244885650557281677382052473844064353786021038654; + uint256 constant S2x = 10333151760014968029254102863611638785552971938423162339326135439408834116154; + uint256 constant S2y = 6543452700579038735255020802571735600538633455576730189571594753630185539443; + uint256 constant S3x = 8285393960618857014807148089475294222094460765549151605952886640511103409207; + uint256 constant S3y = 11915398849747589245935203954132611261473678566697922313039161652306295887431; + uint256 constant k1 = 2; + uint256 constant k2 = 3; + uint256 constant X2x1 = 7550171141489642323345496683737244277083256424004707715998483409540040587466; + uint256 constant X2x2 = 13674327281456600895607819848682159502956608479735975762218411599033981559968; + uint256 constant X2y1 = 16329427655915944908484974060898761683974646318074639198003187154525254176520; + uint256 constant X2y2 = 19604631653040203911523494213678188005987622194545572529608835183936569820990; + + uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant w1 = 20402931748843538985151001264530049874871572933694634836567070693966133783803; + + uint256 constant G1x = 1; + uint256 constant G1y = 2; + uint256 constant G2x1 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; + uint256 constant G2x2 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; + uint256 constant G2y1 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; + uint256 constant G2y2 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; + uint16 constant pA = 32; + uint16 constant pB = 96; + uint16 constant pC = 160; + uint16 constant pZ = 224; + uint16 constant pT1 = 288; + uint16 constant pT2 = 352; + uint16 constant pT3 = 416; + uint16 constant pWxi = 480; + uint16 constant pWxiw = 544; + uint16 constant pEval_a = 608; + uint16 constant pEval_b = 640; + uint16 constant pEval_c = 672; + uint16 constant pEval_s1 = 704; + uint16 constant pEval_s2 = 736; + uint16 constant pEval_zw = 768; + uint16 constant pEval_r = 800; + + uint16 constant pAlpha = 0; + uint16 constant pBeta = 32; + uint16 constant pGamma = 64; + uint16 constant pXi = 96; + uint16 constant pXin = 128; + uint16 constant pBetaXi = 160; + uint16 constant pV1 = 192; + uint16 constant pV2 = 224; + uint16 constant pV3 = 256; + uint16 constant pV4 = 288; + uint16 constant pV5 = 320; + uint16 constant pV6 = 352; + uint16 constant pU = 384; + uint16 constant pPl = 416; + uint16 constant pEval_t = 448; + uint16 constant pA1 = 480; + uint16 constant pB1 = 544; + uint16 constant pZh = 608; + uint16 constant pZhInv = 640; + + uint16 constant pEval_l1 = 672; + + + + uint16 constant lastMem = 704; + + function verifyProof(bytes memory proof, uint[] memory pubSignals) public view returns (bool) { + assembly { + ///////// + // Computes the inverse using the extended euclidean algorithm + ///////// + function inverse(a, q) -> inv { + let t := 0 + let newt := 1 + let r := q + let newr := a + let quotient + let aux + + for { } newr { } { + quotient := sdiv(r, newr) + aux := sub(t, mul(quotient, newt)) + t:= newt + newt:= aux + + aux := sub(r,mul(quotient, newr)) + r := newr + newr := aux + } + + if gt(r, 1) { revert(0,0) } + if slt(t, 0) { t:= add(t, q) } + + inv := t + } + + /////// + // Computes the inverse of an array of values + // See https://vitalik.ca/general/2018/07/21/starks_part_3.html in section where explain fields operations + ////// + function inverseArray(pVals, n) { + + let pAux := mload(0x40) // Point to the next free position + let pIn := pVals + let lastPIn := add(pVals, mul(n, 32)) // Read n elemnts + let acc := mload(pIn) // Read the first element + pIn := add(pIn, 32) // Point to the second element + let inv + + + for { } lt(pIn, lastPIn) { + pAux := add(pAux, 32) + pIn := add(pIn, 32) + } + { + mstore(pAux, acc) + acc := mulmod(acc, mload(pIn), q) + } + acc := inverse(acc, q) + + // At this point pAux pint to the next free position we substract 1 to point to the last used + pAux := sub(pAux, 32) + // pIn points to the n+1 element, we substract to point to n + pIn := sub(pIn, 32) + lastPIn := pVals // We don't process the first element + for { } gt(pIn, lastPIn) { + pAux := sub(pAux, 32) + pIn := sub(pIn, 32) + } + { + inv := mulmod(acc, mload(pAux), q) + acc := mulmod(acc, mload(pIn), q) + mstore(pIn, inv) + } + // pIn points to first element, we just set it. + mstore(pIn, acc) + } + + function checkField(v) { + if iszero(lt(v, q)) { + mstore(0, 0) + return(0,0x20) + } + } + + function checkInput(pProof) { + if iszero(eq(mload(pProof), 800 )) { + mstore(0, 0) + return(0,0x20) + } + checkField(mload(add(pProof, pEval_a))) + checkField(mload(add(pProof, pEval_b))) + checkField(mload(add(pProof, pEval_c))) + checkField(mload(add(pProof, pEval_s1))) + checkField(mload(add(pProof, pEval_s2))) + checkField(mload(add(pProof, pEval_zw))) + checkField(mload(add(pProof, pEval_r))) + + // Points are checked in the point operations precompiled smart contracts + } + + function calculateChallanges(pProof, pMem, pPublic) { + + let a + let b + + + mstore( add(pMem, 704 ), mload( add( pPublic, 32))) + + mstore( add(pMem, 736 ), mload( add( pProof, pA))) + mstore( add(pMem, 768 ), mload( add( pProof, add(pA,32)))) + mstore( add(pMem, 800 ), mload( add( pProof, add(pA,64)))) + mstore( add(pMem, 832 ), mload( add( pProof, add(pA,96)))) + mstore( add(pMem, 864 ), mload( add( pProof, add(pA,128)))) + mstore( add(pMem, 896 ), mload( add( pProof, add(pA,160)))) + + b := mod(keccak256(add(pMem, lastMem), 224), q) + mstore( add(pMem, pBeta), b) + mstore( add(pMem, pGamma), mod(keccak256(add(pMem, pBeta), 32), q)) + mstore( add(pMem, pAlpha), mod(keccak256(add(pProof, pZ), 64), q)) + + a := mod(keccak256(add(pProof, pT1), 192), q) + mstore( add(pMem, pXi), a) + mstore( add(pMem, pBetaXi), mulmod(b, a, q)) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + mstore( add(pMem, pXin), a) + a:= mod(add(sub(a, 1),q), q) + mstore( add(pMem, pZh), a) + mstore( add(pMem, pZhInv), a) // We will invert later together with lagrange pols + + let v1 := mod(keccak256(add(pProof, pEval_a), 224), q) + mstore( add(pMem, pV1), v1) + a := mulmod(v1, v1, q) + mstore( add(pMem, pV2), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV3), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV4), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV5), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV6), a) + + mstore( add(pMem, pU), mod(keccak256(add(pProof, pWxi), 128), q)) + } + + function calculateLagrange(pMem) { + + let w := 1 + + mstore( + add(pMem, pEval_l1), + mulmod( + n, + mod( + add( + sub( + mload(add(pMem, pXi)), + w + ), + q + ), + q + ), + q + ) + ) + + + + inverseArray(add(pMem, pZhInv), 2 ) + + let zh := mload(add(pMem, pZh)) + w := 1 + + + mstore( + add(pMem, pEval_l1 ), + mulmod( + mload(add(pMem, pEval_l1 )), + zh, + q + ) + ) + + + + + + } + + function calculatePl(pMem, pPub) { + let pl := 0 + + + pl := mod( + add( + sub( + pl, + mulmod( + mload(add(pMem, pEval_l1)), + mload(add(pPub, 32)), + q + ) + ), + q + ), + q + ) + + + mstore(add(pMem, pPl), pl) + + + } + + function calculateT(pProof, pMem) { + let t + let t1 + let t2 + t := addmod( + mload(add(pProof, pEval_r)), + mload(add(pMem, pPl)), + q + ) + + t1 := mulmod( + mload(add(pProof, pEval_s1)), + mload(add(pMem, pBeta)), + q + ) + + t1 := addmod( + t1, + mload(add(pProof, pEval_a)), + q + ) + + t1 := addmod( + t1, + mload(add(pMem, pGamma)), + q + ) + + t2 := mulmod( + mload(add(pProof, pEval_s2)), + mload(add(pMem, pBeta)), + q + ) + + t2 := addmod( + t2, + mload(add(pProof, pEval_b)), + q + ) + + t2 := addmod( + t2, + mload(add(pMem, pGamma)), + q + ) + + t1 := mulmod(t1, t2, q) + + t2 := addmod( + mload(add(pProof, pEval_c)), + mload(add(pMem, pGamma)), + q + ) + + t1 := mulmod(t1, t2, q) + t1 := mulmod(t1, mload(add(pProof, pEval_zw)), q) + t1 := mulmod(t1, mload(add(pMem, pAlpha)), q) + + t2 := mulmod( + mload(add(pMem, pEval_l1)), + mload(add(pMem, pAlpha)), + q + ) + + t2 := mulmod( + t2, + mload(add(pMem, pAlpha)), + q + ) + + t1 := addmod(t1, t2, q) + + t := mod(sub(add(t, q), t1), q) + t := mulmod(t, mload(add(pMem, pZhInv)), q) + + mstore( add(pMem, pEval_t) , t) + + } + + function g1_set(pR, pP) { + mstore(pR, mload(pP)) + mstore(add(pR, 32), mload(add(pP,32))) + } + + function g1_acc(pR, pP) { + let mIn := mload(0x40) + mstore(mIn, mload(pR)) + mstore(add(mIn,32), mload(add(pR, 32))) + mstore(add(mIn,64), mload(pP)) + mstore(add(mIn,96), mload(add(pP, 32))) + + let success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + } + + function g1_mulAcc(pR, pP, s) { + let success + let mIn := mload(0x40) + mstore(mIn, mload(pP)) + mstore(add(mIn,32), mload(add(pP, 32))) + mstore(add(mIn,64), s) + + success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + + mstore(add(mIn,64), mload(pR)) + mstore(add(mIn,96), mload(add(pR, 32))) + + success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + + } + + function g1_mulAccC(pR, x, y, s) { + let success + let mIn := mload(0x40) + mstore(mIn, x) + mstore(add(mIn,32), y) + mstore(add(mIn,64), s) + + success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + + mstore(add(mIn,64), mload(pR)) + mstore(add(mIn,96), mload(add(pR, 32))) + + success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + } + + function g1_mulSetC(pR, x, y, s) { + let success + let mIn := mload(0x40) + mstore(mIn, x) + mstore(add(mIn,32), y) + mstore(add(mIn,64), s) + + success := staticcall(sub(gas(), 2000), 7, mIn, 96, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + } + + + function calculateA1(pProof, pMem) { + let p := add(pMem, pA1) + g1_set(p, add(pProof, pWxi)) + g1_mulAcc(p, add(pProof, pWxiw), mload(add(pMem, pU))) + } + + + function calculateB1(pProof, pMem) { + let s + let s1 + let p := add(pMem, pB1) + + // Calculate D + s := mulmod( mload(add(pProof, pEval_a)), mload(add(pMem, pV1)), q) + g1_mulSetC(p, Qlx, Qly, s) + + s := mulmod( s, mload(add(pProof, pEval_b)), q) + g1_mulAccC(p, Qmx, Qmy, s) + + s := mulmod( mload(add(pProof, pEval_b)), mload(add(pMem, pV1)), q) + g1_mulAccC(p, Qrx, Qry, s) + + s := mulmod( mload(add(pProof, pEval_c)), mload(add(pMem, pV1)), q) + g1_mulAccC(p, Qox, Qoy, s) + + s :=mload(add(pMem, pV1)) + g1_mulAccC(p, Qcx, Qcy, s) + + s := addmod(mload(add(pProof, pEval_a)), mload(add(pMem, pBetaXi)), q) + s := addmod(s, mload(add(pMem, pGamma)), q) + s1 := mulmod(k1, mload(add(pMem, pBetaXi)), q) + s1 := addmod(s1, mload(add(pProof, pEval_b)), q) + s1 := addmod(s1, mload(add(pMem, pGamma)), q) + s := mulmod(s, s1, q) + s1 := mulmod(k2, mload(add(pMem, pBetaXi)), q) + s1 := addmod(s1, mload(add(pProof, pEval_c)), q) + s1 := addmod(s1, mload(add(pMem, pGamma)), q) + s := mulmod(s, s1, q) + s := mulmod(s, mload(add(pMem, pAlpha)), q) + s := mulmod(s, mload(add(pMem, pV1)), q) + s1 := mulmod(mload(add(pMem, pEval_l1)), mload(add(pMem, pAlpha)), q) + s1 := mulmod(s1, mload(add(pMem, pAlpha)), q) + s1 := mulmod(s1, mload(add(pMem, pV1)), q) + s := addmod(s, s1, q) + s := addmod(s, mload(add(pMem, pU)), q) + g1_mulAcc(p, add(pProof, pZ), s) + + s := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s1)), q) + s := addmod(s, mload(add(pProof, pEval_a)), q) + s := addmod(s, mload(add(pMem, pGamma)), q) + s1 := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s2)), q) + s1 := addmod(s1, mload(add(pProof, pEval_b)), q) + s1 := addmod(s1, mload(add(pMem, pGamma)), q) + s := mulmod(s, s1, q) + s := mulmod(s, mload(add(pMem, pAlpha)), q) + s := mulmod(s, mload(add(pMem, pV1)), q) + s := mulmod(s, mload(add(pMem, pBeta)), q) + s := mulmod(s, mload(add(pProof, pEval_zw)), q) + s := mod(sub(q, s), q) + g1_mulAccC(p, S3x, S3y, s) + + + // calculate F + g1_acc(p , add(pProof, pT1)) + + s := mload(add(pMem, pXin)) + g1_mulAcc(p, add(pProof, pT2), s) + + s := mulmod(s, s, q) + g1_mulAcc(p, add(pProof, pT3), s) + + g1_mulAcc(p, add(pProof, pA), mload(add(pMem, pV2))) + g1_mulAcc(p, add(pProof, pB), mload(add(pMem, pV3))) + g1_mulAcc(p, add(pProof, pC), mload(add(pMem, pV4))) + g1_mulAccC(p, S1x, S1y, mload(add(pMem, pV5))) + g1_mulAccC(p, S2x, S2y, mload(add(pMem, pV6))) + + // calculate E + s := mload(add(pMem, pEval_t)) + s := addmod(s, mulmod(mload(add(pProof, pEval_r)), mload(add(pMem, pV1)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_a)), mload(add(pMem, pV2)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_b)), mload(add(pMem, pV3)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_c)), mload(add(pMem, pV4)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_s1)), mload(add(pMem, pV5)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_s2)), mload(add(pMem, pV6)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_zw)), mload(add(pMem, pU)), q), q) + s := mod(sub(q, s), q) + g1_mulAccC(p, G1x, G1y, s) + + + // Last part of B + s := mload(add(pMem, pXi)) + g1_mulAcc(p, add(pProof, pWxi), s) + + s := mulmod(mload(add(pMem, pU)), mload(add(pMem, pXi)), q) + s := mulmod(s, w1, q) + g1_mulAcc(p, add(pProof, pWxiw), s) + + } + + function checkPairing(pMem) -> isOk { + let mIn := mload(0x40) + mstore(mIn, mload(add(pMem, pA1))) + mstore(add(mIn,32), mload(add(add(pMem, pA1), 32))) + mstore(add(mIn,64), X2x2) + mstore(add(mIn,96), X2x1) + mstore(add(mIn,128), X2y2) + mstore(add(mIn,160), X2y1) + mstore(add(mIn,192), mload(add(pMem, pB1))) + let s := mload(add(add(pMem, pB1), 32)) + s := mod(sub(qf, s), qf) + mstore(add(mIn,224), s) + mstore(add(mIn,256), G2x2) + mstore(add(mIn,288), G2x1) + mstore(add(mIn,320), G2y2) + mstore(add(mIn,352), G2y1) + + let success := staticcall(sub(gas(), 2000), 8, mIn, 384, mIn, 0x20) + + isOk := and(success, mload(mIn)) + } + + let pMem := mload(0x40) + mstore(0x40, add(pMem, lastMem)) + + checkInput(proof) + calculateChallanges(proof, pMem, pubSignals) + calculateLagrange(pMem) + calculatePl(pMem, pubSignals) + calculateT(proof, pMem) + calculateA1(proof, pMem) + calculateB1(proof, pMem) + let isValid := checkPairing(pMem) + + mstore(0x40, sub(pMem, lastMem)) + mstore(0, isValid) + return(0,0x20) + } + + } +} diff --git a/examples/bri-3/ccsm/contracts/workstep2Verifier.sol b/examples/bri-3/ccsm/contracts/workstep2Verifier.sol new file mode 100644 index 000000000..1a5f9808f --- /dev/null +++ b/examples/bri-3/ccsm/contracts/workstep2Verifier.sol @@ -0,0 +1,652 @@ +// SPDX-License-Identifier: GPL-3.0 +/* + Copyright 2021 0KIMS association. + + This file is generated with [snarkJS](https://github.com/iden3/snarkjs). + + snarkJS is a free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + snarkJS is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU General Public License + along with snarkJS. If not, see . +*/ + + +pragma solidity >=0.7.0 <0.9.0; + +contract Workstep2Verifier { + + uint32 constant n = 32768; + uint16 constant nPublic = 1; + uint16 constant nLagrange = 1; + + uint256 constant Qmx = 9031014201334786598437474819333373897984837472962630324851335361844058545780; + uint256 constant Qmy = 16607210786086921981367283815049778740600968770620223098147538097138430537595; + uint256 constant Qlx = 6808278280485306759745548891536191162342236099697633650996345740914224220305; + uint256 constant Qly = 3270170195800647956439730797339220040656917583598598133609260645618986123588; + uint256 constant Qrx = 6148500901704548782540313024093324774763190834353235759778239054380115761181; + uint256 constant Qry = 17496928704547418787249113629100332597587390388927992302390890724367334325226; + uint256 constant Qox = 21659278811951783556483125629272843184764885478213749993598444862278045884755; + uint256 constant Qoy = 16660597475205619545281468126006239987539267348200340592793952148487504874309; + uint256 constant Qcx = 5305510349838087338783547875566294471771494030996437605662252026376037082958; + uint256 constant Qcy = 19377334097772342373923876594211562277705091388899497313132675599004144975313; + uint256 constant S1x = 13511374588247167997414482771460319777500130147065290737814654512741747616346; + uint256 constant S1y = 9410442723228155800609023852081630300440285014469359549251506116352343840765; + uint256 constant S2x = 6234343642032529676304475840139856609542183618893282794848722265839404121608; + uint256 constant S2y = 198081256679397470117078185378786682134167977767481936106730933658216400205; + uint256 constant S3x = 15607364487714913306100446210105619358733676078036562302151585058643715232255; + uint256 constant S3y = 16418203895932101971661510317717759015568131982287223931136504811190200970422; + uint256 constant k1 = 2; + uint256 constant k2 = 3; + uint256 constant X2x1 = 7550171141489642323345496683737244277083256424004707715998483409540040587466; + uint256 constant X2x2 = 13674327281456600895607819848682159502956608479735975762218411599033981559968; + uint256 constant X2y1 = 16329427655915944908484974060898761683974646318074639198003187154525254176520; + uint256 constant X2y2 = 19604631653040203911523494213678188005987622194545572529608835183936569820990; + + uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant w1 = 20402931748843538985151001264530049874871572933694634836567070693966133783803; + + uint256 constant G1x = 1; + uint256 constant G1y = 2; + uint256 constant G2x1 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; + uint256 constant G2x2 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; + uint256 constant G2y1 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; + uint256 constant G2y2 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; + uint16 constant pA = 32; + uint16 constant pB = 96; + uint16 constant pC = 160; + uint16 constant pZ = 224; + uint16 constant pT1 = 288; + uint16 constant pT2 = 352; + uint16 constant pT3 = 416; + uint16 constant pWxi = 480; + uint16 constant pWxiw = 544; + uint16 constant pEval_a = 608; + uint16 constant pEval_b = 640; + uint16 constant pEval_c = 672; + uint16 constant pEval_s1 = 704; + uint16 constant pEval_s2 = 736; + uint16 constant pEval_zw = 768; + uint16 constant pEval_r = 800; + + uint16 constant pAlpha = 0; + uint16 constant pBeta = 32; + uint16 constant pGamma = 64; + uint16 constant pXi = 96; + uint16 constant pXin = 128; + uint16 constant pBetaXi = 160; + uint16 constant pV1 = 192; + uint16 constant pV2 = 224; + uint16 constant pV3 = 256; + uint16 constant pV4 = 288; + uint16 constant pV5 = 320; + uint16 constant pV6 = 352; + uint16 constant pU = 384; + uint16 constant pPl = 416; + uint16 constant pEval_t = 448; + uint16 constant pA1 = 480; + uint16 constant pB1 = 544; + uint16 constant pZh = 608; + uint16 constant pZhInv = 640; + + uint16 constant pEval_l1 = 672; + + + + uint16 constant lastMem = 704; + + function verifyProof(bytes memory proof, uint[] memory pubSignals) public view returns (bool) { + assembly { + ///////// + // Computes the inverse using the extended euclidean algorithm + ///////// + function inverse(a, q) -> inv { + let t := 0 + let newt := 1 + let r := q + let newr := a + let quotient + let aux + + for { } newr { } { + quotient := sdiv(r, newr) + aux := sub(t, mul(quotient, newt)) + t:= newt + newt:= aux + + aux := sub(r,mul(quotient, newr)) + r := newr + newr := aux + } + + if gt(r, 1) { revert(0,0) } + if slt(t, 0) { t:= add(t, q) } + + inv := t + } + + /////// + // Computes the inverse of an array of values + // See https://vitalik.ca/general/2018/07/21/starks_part_3.html in section where explain fields operations + ////// + function inverseArray(pVals, n) { + + let pAux := mload(0x40) // Point to the next free position + let pIn := pVals + let lastPIn := add(pVals, mul(n, 32)) // Read n elemnts + let acc := mload(pIn) // Read the first element + pIn := add(pIn, 32) // Point to the second element + let inv + + + for { } lt(pIn, lastPIn) { + pAux := add(pAux, 32) + pIn := add(pIn, 32) + } + { + mstore(pAux, acc) + acc := mulmod(acc, mload(pIn), q) + } + acc := inverse(acc, q) + + // At this point pAux pint to the next free position we substract 1 to point to the last used + pAux := sub(pAux, 32) + // pIn points to the n+1 element, we substract to point to n + pIn := sub(pIn, 32) + lastPIn := pVals // We don't process the first element + for { } gt(pIn, lastPIn) { + pAux := sub(pAux, 32) + pIn := sub(pIn, 32) + } + { + inv := mulmod(acc, mload(pAux), q) + acc := mulmod(acc, mload(pIn), q) + mstore(pIn, inv) + } + // pIn points to first element, we just set it. + mstore(pIn, acc) + } + + function checkField(v) { + if iszero(lt(v, q)) { + mstore(0, 0) + return(0,0x20) + } + } + + function checkInput(pProof) { + if iszero(eq(mload(pProof), 800 )) { + mstore(0, 0) + return(0,0x20) + } + checkField(mload(add(pProof, pEval_a))) + checkField(mload(add(pProof, pEval_b))) + checkField(mload(add(pProof, pEval_c))) + checkField(mload(add(pProof, pEval_s1))) + checkField(mload(add(pProof, pEval_s2))) + checkField(mload(add(pProof, pEval_zw))) + checkField(mload(add(pProof, pEval_r))) + + // Points are checked in the point operations precompiled smart contracts + } + + function calculateChallanges(pProof, pMem, pPublic) { + + let a + let b + + + mstore( add(pMem, 704 ), mload( add( pPublic, 32))) + + mstore( add(pMem, 736 ), mload( add( pProof, pA))) + mstore( add(pMem, 768 ), mload( add( pProof, add(pA,32)))) + mstore( add(pMem, 800 ), mload( add( pProof, add(pA,64)))) + mstore( add(pMem, 832 ), mload( add( pProof, add(pA,96)))) + mstore( add(pMem, 864 ), mload( add( pProof, add(pA,128)))) + mstore( add(pMem, 896 ), mload( add( pProof, add(pA,160)))) + + b := mod(keccak256(add(pMem, lastMem), 224), q) + mstore( add(pMem, pBeta), b) + mstore( add(pMem, pGamma), mod(keccak256(add(pMem, pBeta), 32), q)) + mstore( add(pMem, pAlpha), mod(keccak256(add(pProof, pZ), 64), q)) + + a := mod(keccak256(add(pProof, pT1), 192), q) + mstore( add(pMem, pXi), a) + mstore( add(pMem, pBetaXi), mulmod(b, a, q)) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + mstore( add(pMem, pXin), a) + a:= mod(add(sub(a, 1),q), q) + mstore( add(pMem, pZh), a) + mstore( add(pMem, pZhInv), a) // We will invert later together with lagrange pols + + let v1 := mod(keccak256(add(pProof, pEval_a), 224), q) + mstore( add(pMem, pV1), v1) + a := mulmod(v1, v1, q) + mstore( add(pMem, pV2), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV3), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV4), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV5), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV6), a) + + mstore( add(pMem, pU), mod(keccak256(add(pProof, pWxi), 128), q)) + } + + function calculateLagrange(pMem) { + + let w := 1 + + mstore( + add(pMem, pEval_l1), + mulmod( + n, + mod( + add( + sub( + mload(add(pMem, pXi)), + w + ), + q + ), + q + ), + q + ) + ) + + + + inverseArray(add(pMem, pZhInv), 2 ) + + let zh := mload(add(pMem, pZh)) + w := 1 + + + mstore( + add(pMem, pEval_l1 ), + mulmod( + mload(add(pMem, pEval_l1 )), + zh, + q + ) + ) + + + + + + } + + function calculatePl(pMem, pPub) { + let pl := 0 + + + pl := mod( + add( + sub( + pl, + mulmod( + mload(add(pMem, pEval_l1)), + mload(add(pPub, 32)), + q + ) + ), + q + ), + q + ) + + + mstore(add(pMem, pPl), pl) + + + } + + function calculateT(pProof, pMem) { + let t + let t1 + let t2 + t := addmod( + mload(add(pProof, pEval_r)), + mload(add(pMem, pPl)), + q + ) + + t1 := mulmod( + mload(add(pProof, pEval_s1)), + mload(add(pMem, pBeta)), + q + ) + + t1 := addmod( + t1, + mload(add(pProof, pEval_a)), + q + ) + + t1 := addmod( + t1, + mload(add(pMem, pGamma)), + q + ) + + t2 := mulmod( + mload(add(pProof, pEval_s2)), + mload(add(pMem, pBeta)), + q + ) + + t2 := addmod( + t2, + mload(add(pProof, pEval_b)), + q + ) + + t2 := addmod( + t2, + mload(add(pMem, pGamma)), + q + ) + + t1 := mulmod(t1, t2, q) + + t2 := addmod( + mload(add(pProof, pEval_c)), + mload(add(pMem, pGamma)), + q + ) + + t1 := mulmod(t1, t2, q) + t1 := mulmod(t1, mload(add(pProof, pEval_zw)), q) + t1 := mulmod(t1, mload(add(pMem, pAlpha)), q) + + t2 := mulmod( + mload(add(pMem, pEval_l1)), + mload(add(pMem, pAlpha)), + q + ) + + t2 := mulmod( + t2, + mload(add(pMem, pAlpha)), + q + ) + + t1 := addmod(t1, t2, q) + + t := mod(sub(add(t, q), t1), q) + t := mulmod(t, mload(add(pMem, pZhInv)), q) + + mstore( add(pMem, pEval_t) , t) + + } + + function g1_set(pR, pP) { + mstore(pR, mload(pP)) + mstore(add(pR, 32), mload(add(pP,32))) + } + + function g1_acc(pR, pP) { + let mIn := mload(0x40) + mstore(mIn, mload(pR)) + mstore(add(mIn,32), mload(add(pR, 32))) + mstore(add(mIn,64), mload(pP)) + mstore(add(mIn,96), mload(add(pP, 32))) + + let success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + } + + function g1_mulAcc(pR, pP, s) { + let success + let mIn := mload(0x40) + mstore(mIn, mload(pP)) + mstore(add(mIn,32), mload(add(pP, 32))) + mstore(add(mIn,64), s) + + success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + + mstore(add(mIn,64), mload(pR)) + mstore(add(mIn,96), mload(add(pR, 32))) + + success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + + } + + function g1_mulAccC(pR, x, y, s) { + let success + let mIn := mload(0x40) + mstore(mIn, x) + mstore(add(mIn,32), y) + mstore(add(mIn,64), s) + + success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + + mstore(add(mIn,64), mload(pR)) + mstore(add(mIn,96), mload(add(pR, 32))) + + success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + } + + function g1_mulSetC(pR, x, y, s) { + let success + let mIn := mload(0x40) + mstore(mIn, x) + mstore(add(mIn,32), y) + mstore(add(mIn,64), s) + + success := staticcall(sub(gas(), 2000), 7, mIn, 96, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + } + + + function calculateA1(pProof, pMem) { + let p := add(pMem, pA1) + g1_set(p, add(pProof, pWxi)) + g1_mulAcc(p, add(pProof, pWxiw), mload(add(pMem, pU))) + } + + + function calculateB1(pProof, pMem) { + let s + let s1 + let p := add(pMem, pB1) + + // Calculate D + s := mulmod( mload(add(pProof, pEval_a)), mload(add(pMem, pV1)), q) + g1_mulSetC(p, Qlx, Qly, s) + + s := mulmod( s, mload(add(pProof, pEval_b)), q) + g1_mulAccC(p, Qmx, Qmy, s) + + s := mulmod( mload(add(pProof, pEval_b)), mload(add(pMem, pV1)), q) + g1_mulAccC(p, Qrx, Qry, s) + + s := mulmod( mload(add(pProof, pEval_c)), mload(add(pMem, pV1)), q) + g1_mulAccC(p, Qox, Qoy, s) + + s :=mload(add(pMem, pV1)) + g1_mulAccC(p, Qcx, Qcy, s) + + s := addmod(mload(add(pProof, pEval_a)), mload(add(pMem, pBetaXi)), q) + s := addmod(s, mload(add(pMem, pGamma)), q) + s1 := mulmod(k1, mload(add(pMem, pBetaXi)), q) + s1 := addmod(s1, mload(add(pProof, pEval_b)), q) + s1 := addmod(s1, mload(add(pMem, pGamma)), q) + s := mulmod(s, s1, q) + s1 := mulmod(k2, mload(add(pMem, pBetaXi)), q) + s1 := addmod(s1, mload(add(pProof, pEval_c)), q) + s1 := addmod(s1, mload(add(pMem, pGamma)), q) + s := mulmod(s, s1, q) + s := mulmod(s, mload(add(pMem, pAlpha)), q) + s := mulmod(s, mload(add(pMem, pV1)), q) + s1 := mulmod(mload(add(pMem, pEval_l1)), mload(add(pMem, pAlpha)), q) + s1 := mulmod(s1, mload(add(pMem, pAlpha)), q) + s1 := mulmod(s1, mload(add(pMem, pV1)), q) + s := addmod(s, s1, q) + s := addmod(s, mload(add(pMem, pU)), q) + g1_mulAcc(p, add(pProof, pZ), s) + + s := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s1)), q) + s := addmod(s, mload(add(pProof, pEval_a)), q) + s := addmod(s, mload(add(pMem, pGamma)), q) + s1 := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s2)), q) + s1 := addmod(s1, mload(add(pProof, pEval_b)), q) + s1 := addmod(s1, mload(add(pMem, pGamma)), q) + s := mulmod(s, s1, q) + s := mulmod(s, mload(add(pMem, pAlpha)), q) + s := mulmod(s, mload(add(pMem, pV1)), q) + s := mulmod(s, mload(add(pMem, pBeta)), q) + s := mulmod(s, mload(add(pProof, pEval_zw)), q) + s := mod(sub(q, s), q) + g1_mulAccC(p, S3x, S3y, s) + + + // calculate F + g1_acc(p , add(pProof, pT1)) + + s := mload(add(pMem, pXin)) + g1_mulAcc(p, add(pProof, pT2), s) + + s := mulmod(s, s, q) + g1_mulAcc(p, add(pProof, pT3), s) + + g1_mulAcc(p, add(pProof, pA), mload(add(pMem, pV2))) + g1_mulAcc(p, add(pProof, pB), mload(add(pMem, pV3))) + g1_mulAcc(p, add(pProof, pC), mload(add(pMem, pV4))) + g1_mulAccC(p, S1x, S1y, mload(add(pMem, pV5))) + g1_mulAccC(p, S2x, S2y, mload(add(pMem, pV6))) + + // calculate E + s := mload(add(pMem, pEval_t)) + s := addmod(s, mulmod(mload(add(pProof, pEval_r)), mload(add(pMem, pV1)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_a)), mload(add(pMem, pV2)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_b)), mload(add(pMem, pV3)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_c)), mload(add(pMem, pV4)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_s1)), mload(add(pMem, pV5)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_s2)), mload(add(pMem, pV6)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_zw)), mload(add(pMem, pU)), q), q) + s := mod(sub(q, s), q) + g1_mulAccC(p, G1x, G1y, s) + + + // Last part of B + s := mload(add(pMem, pXi)) + g1_mulAcc(p, add(pProof, pWxi), s) + + s := mulmod(mload(add(pMem, pU)), mload(add(pMem, pXi)), q) + s := mulmod(s, w1, q) + g1_mulAcc(p, add(pProof, pWxiw), s) + + } + + function checkPairing(pMem) -> isOk { + let mIn := mload(0x40) + mstore(mIn, mload(add(pMem, pA1))) + mstore(add(mIn,32), mload(add(add(pMem, pA1), 32))) + mstore(add(mIn,64), X2x2) + mstore(add(mIn,96), X2x1) + mstore(add(mIn,128), X2y2) + mstore(add(mIn,160), X2y1) + mstore(add(mIn,192), mload(add(pMem, pB1))) + let s := mload(add(add(pMem, pB1), 32)) + s := mod(sub(qf, s), qf) + mstore(add(mIn,224), s) + mstore(add(mIn,256), G2x2) + mstore(add(mIn,288), G2x1) + mstore(add(mIn,320), G2y2) + mstore(add(mIn,352), G2y1) + + let success := staticcall(sub(gas(), 2000), 8, mIn, 384, mIn, 0x20) + + isOk := and(success, mload(mIn)) + } + + let pMem := mload(0x40) + mstore(0x40, add(pMem, lastMem)) + + checkInput(proof) + calculateChallanges(proof, pMem, pubSignals) + calculateLagrange(pMem) + calculatePl(pMem, pubSignals) + calculateT(proof, pMem) + calculateA1(proof, pMem) + calculateB1(proof, pMem) + let isValid := checkPairing(pMem) + + mstore(0x40, sub(pMem, lastMem)) + mstore(0, isValid) + return(0,0x20) + } + + } +} diff --git a/examples/bri-3/ccsm/contracts/workstep3Verifier.sol b/examples/bri-3/ccsm/contracts/workstep3Verifier.sol new file mode 100644 index 000000000..73585f7b4 --- /dev/null +++ b/examples/bri-3/ccsm/contracts/workstep3Verifier.sol @@ -0,0 +1,652 @@ +// SPDX-License-Identifier: GPL-3.0 +/* + Copyright 2021 0KIMS association. + + This file is generated with [snarkJS](https://github.com/iden3/snarkjs). + + snarkJS is a free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + snarkJS is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU General Public License + along with snarkJS. If not, see . +*/ + + +pragma solidity >=0.7.0 <0.9.0; + +contract Workstep3Verifier { + + uint32 constant n = 32768; + uint16 constant nPublic = 1; + uint16 constant nLagrange = 1; + + uint256 constant Qmx = 9031014201334786598437474819333373897984837472962630324851335361844058545780; + uint256 constant Qmy = 16607210786086921981367283815049778740600968770620223098147538097138430537595; + uint256 constant Qlx = 6808278280485306759745548891536191162342236099697633650996345740914224220305; + uint256 constant Qly = 3270170195800647956439730797339220040656917583598598133609260645618986123588; + uint256 constant Qrx = 19867659962940379415833721956196885812592831298524381980555731113220022045761; + uint256 constant Qry = 5839482012031765332886537848770371473868238809091147323904600653094947875345; + uint256 constant Qox = 21659278811951783556483125629272843184764885478213749993598444862278045884755; + uint256 constant Qoy = 16660597475205619545281468126006239987539267348200340592793952148487504874309; + uint256 constant Qcx = 5305510349838087338783547875566294471771494030996437605662252026376037082958; + uint256 constant Qcy = 19377334097772342373923876594211562277705091388899497313132675599004144975313; + uint256 constant S1x = 13511374588247167997414482771460319777500130147065290737814654512741747616346; + uint256 constant S1y = 9410442723228155800609023852081630300440285014469359549251506116352343840765; + uint256 constant S2x = 6234343642032529676304475840139856609542183618893282794848722265839404121608; + uint256 constant S2y = 198081256679397470117078185378786682134167977767481936106730933658216400205; + uint256 constant S3x = 15607364487714913306100446210105619358733676078036562302151585058643715232255; + uint256 constant S3y = 16418203895932101971661510317717759015568131982287223931136504811190200970422; + uint256 constant k1 = 2; + uint256 constant k2 = 3; + uint256 constant X2x1 = 7550171141489642323345496683737244277083256424004707715998483409540040587466; + uint256 constant X2x2 = 13674327281456600895607819848682159502956608479735975762218411599033981559968; + uint256 constant X2y1 = 16329427655915944908484974060898761683974646318074639198003187154525254176520; + uint256 constant X2y2 = 19604631653040203911523494213678188005987622194545572529608835183936569820990; + + uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617; + uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583; + uint256 constant w1 = 20402931748843538985151001264530049874871572933694634836567070693966133783803; + + uint256 constant G1x = 1; + uint256 constant G1y = 2; + uint256 constant G2x1 = 10857046999023057135944570762232829481370756359578518086990519993285655852781; + uint256 constant G2x2 = 11559732032986387107991004021392285783925812861821192530917403151452391805634; + uint256 constant G2y1 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; + uint256 constant G2y2 = 4082367875863433681332203403145435568316851327593401208105741076214120093531; + uint16 constant pA = 32; + uint16 constant pB = 96; + uint16 constant pC = 160; + uint16 constant pZ = 224; + uint16 constant pT1 = 288; + uint16 constant pT2 = 352; + uint16 constant pT3 = 416; + uint16 constant pWxi = 480; + uint16 constant pWxiw = 544; + uint16 constant pEval_a = 608; + uint16 constant pEval_b = 640; + uint16 constant pEval_c = 672; + uint16 constant pEval_s1 = 704; + uint16 constant pEval_s2 = 736; + uint16 constant pEval_zw = 768; + uint16 constant pEval_r = 800; + + uint16 constant pAlpha = 0; + uint16 constant pBeta = 32; + uint16 constant pGamma = 64; + uint16 constant pXi = 96; + uint16 constant pXin = 128; + uint16 constant pBetaXi = 160; + uint16 constant pV1 = 192; + uint16 constant pV2 = 224; + uint16 constant pV3 = 256; + uint16 constant pV4 = 288; + uint16 constant pV5 = 320; + uint16 constant pV6 = 352; + uint16 constant pU = 384; + uint16 constant pPl = 416; + uint16 constant pEval_t = 448; + uint16 constant pA1 = 480; + uint16 constant pB1 = 544; + uint16 constant pZh = 608; + uint16 constant pZhInv = 640; + + uint16 constant pEval_l1 = 672; + + + + uint16 constant lastMem = 704; + + function verifyProof(bytes memory proof, uint[] memory pubSignals) public view returns (bool) { + assembly { + ///////// + // Computes the inverse using the extended euclidean algorithm + ///////// + function inverse(a, q) -> inv { + let t := 0 + let newt := 1 + let r := q + let newr := a + let quotient + let aux + + for { } newr { } { + quotient := sdiv(r, newr) + aux := sub(t, mul(quotient, newt)) + t:= newt + newt:= aux + + aux := sub(r,mul(quotient, newr)) + r := newr + newr := aux + } + + if gt(r, 1) { revert(0,0) } + if slt(t, 0) { t:= add(t, q) } + + inv := t + } + + /////// + // Computes the inverse of an array of values + // See https://vitalik.ca/general/2018/07/21/starks_part_3.html in section where explain fields operations + ////// + function inverseArray(pVals, n) { + + let pAux := mload(0x40) // Point to the next free position + let pIn := pVals + let lastPIn := add(pVals, mul(n, 32)) // Read n elemnts + let acc := mload(pIn) // Read the first element + pIn := add(pIn, 32) // Point to the second element + let inv + + + for { } lt(pIn, lastPIn) { + pAux := add(pAux, 32) + pIn := add(pIn, 32) + } + { + mstore(pAux, acc) + acc := mulmod(acc, mload(pIn), q) + } + acc := inverse(acc, q) + + // At this point pAux pint to the next free position we substract 1 to point to the last used + pAux := sub(pAux, 32) + // pIn points to the n+1 element, we substract to point to n + pIn := sub(pIn, 32) + lastPIn := pVals // We don't process the first element + for { } gt(pIn, lastPIn) { + pAux := sub(pAux, 32) + pIn := sub(pIn, 32) + } + { + inv := mulmod(acc, mload(pAux), q) + acc := mulmod(acc, mload(pIn), q) + mstore(pIn, inv) + } + // pIn points to first element, we just set it. + mstore(pIn, acc) + } + + function checkField(v) { + if iszero(lt(v, q)) { + mstore(0, 0) + return(0,0x20) + } + } + + function checkInput(pProof) { + if iszero(eq(mload(pProof), 800 )) { + mstore(0, 0) + return(0,0x20) + } + checkField(mload(add(pProof, pEval_a))) + checkField(mload(add(pProof, pEval_b))) + checkField(mload(add(pProof, pEval_c))) + checkField(mload(add(pProof, pEval_s1))) + checkField(mload(add(pProof, pEval_s2))) + checkField(mload(add(pProof, pEval_zw))) + checkField(mload(add(pProof, pEval_r))) + + // Points are checked in the point operations precompiled smart contracts + } + + function calculateChallanges(pProof, pMem, pPublic) { + + let a + let b + + + mstore( add(pMem, 704 ), mload( add( pPublic, 32))) + + mstore( add(pMem, 736 ), mload( add( pProof, pA))) + mstore( add(pMem, 768 ), mload( add( pProof, add(pA,32)))) + mstore( add(pMem, 800 ), mload( add( pProof, add(pA,64)))) + mstore( add(pMem, 832 ), mload( add( pProof, add(pA,96)))) + mstore( add(pMem, 864 ), mload( add( pProof, add(pA,128)))) + mstore( add(pMem, 896 ), mload( add( pProof, add(pA,160)))) + + b := mod(keccak256(add(pMem, lastMem), 224), q) + mstore( add(pMem, pBeta), b) + mstore( add(pMem, pGamma), mod(keccak256(add(pMem, pBeta), 32), q)) + mstore( add(pMem, pAlpha), mod(keccak256(add(pProof, pZ), 64), q)) + + a := mod(keccak256(add(pProof, pT1), 192), q) + mstore( add(pMem, pXi), a) + mstore( add(pMem, pBetaXi), mulmod(b, a, q)) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + a:= mulmod(a, a, q) + + mstore( add(pMem, pXin), a) + a:= mod(add(sub(a, 1),q), q) + mstore( add(pMem, pZh), a) + mstore( add(pMem, pZhInv), a) // We will invert later together with lagrange pols + + let v1 := mod(keccak256(add(pProof, pEval_a), 224), q) + mstore( add(pMem, pV1), v1) + a := mulmod(v1, v1, q) + mstore( add(pMem, pV2), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV3), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV4), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV5), a) + a := mulmod(a, v1, q) + mstore( add(pMem, pV6), a) + + mstore( add(pMem, pU), mod(keccak256(add(pProof, pWxi), 128), q)) + } + + function calculateLagrange(pMem) { + + let w := 1 + + mstore( + add(pMem, pEval_l1), + mulmod( + n, + mod( + add( + sub( + mload(add(pMem, pXi)), + w + ), + q + ), + q + ), + q + ) + ) + + + + inverseArray(add(pMem, pZhInv), 2 ) + + let zh := mload(add(pMem, pZh)) + w := 1 + + + mstore( + add(pMem, pEval_l1 ), + mulmod( + mload(add(pMem, pEval_l1 )), + zh, + q + ) + ) + + + + + + } + + function calculatePl(pMem, pPub) { + let pl := 0 + + + pl := mod( + add( + sub( + pl, + mulmod( + mload(add(pMem, pEval_l1)), + mload(add(pPub, 32)), + q + ) + ), + q + ), + q + ) + + + mstore(add(pMem, pPl), pl) + + + } + + function calculateT(pProof, pMem) { + let t + let t1 + let t2 + t := addmod( + mload(add(pProof, pEval_r)), + mload(add(pMem, pPl)), + q + ) + + t1 := mulmod( + mload(add(pProof, pEval_s1)), + mload(add(pMem, pBeta)), + q + ) + + t1 := addmod( + t1, + mload(add(pProof, pEval_a)), + q + ) + + t1 := addmod( + t1, + mload(add(pMem, pGamma)), + q + ) + + t2 := mulmod( + mload(add(pProof, pEval_s2)), + mload(add(pMem, pBeta)), + q + ) + + t2 := addmod( + t2, + mload(add(pProof, pEval_b)), + q + ) + + t2 := addmod( + t2, + mload(add(pMem, pGamma)), + q + ) + + t1 := mulmod(t1, t2, q) + + t2 := addmod( + mload(add(pProof, pEval_c)), + mload(add(pMem, pGamma)), + q + ) + + t1 := mulmod(t1, t2, q) + t1 := mulmod(t1, mload(add(pProof, pEval_zw)), q) + t1 := mulmod(t1, mload(add(pMem, pAlpha)), q) + + t2 := mulmod( + mload(add(pMem, pEval_l1)), + mload(add(pMem, pAlpha)), + q + ) + + t2 := mulmod( + t2, + mload(add(pMem, pAlpha)), + q + ) + + t1 := addmod(t1, t2, q) + + t := mod(sub(add(t, q), t1), q) + t := mulmod(t, mload(add(pMem, pZhInv)), q) + + mstore( add(pMem, pEval_t) , t) + + } + + function g1_set(pR, pP) { + mstore(pR, mload(pP)) + mstore(add(pR, 32), mload(add(pP,32))) + } + + function g1_acc(pR, pP) { + let mIn := mload(0x40) + mstore(mIn, mload(pR)) + mstore(add(mIn,32), mload(add(pR, 32))) + mstore(add(mIn,64), mload(pP)) + mstore(add(mIn,96), mload(add(pP, 32))) + + let success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + } + + function g1_mulAcc(pR, pP, s) { + let success + let mIn := mload(0x40) + mstore(mIn, mload(pP)) + mstore(add(mIn,32), mload(add(pP, 32))) + mstore(add(mIn,64), s) + + success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + + mstore(add(mIn,64), mload(pR)) + mstore(add(mIn,96), mload(add(pR, 32))) + + success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + + } + + function g1_mulAccC(pR, x, y, s) { + let success + let mIn := mload(0x40) + mstore(mIn, x) + mstore(add(mIn,32), y) + mstore(add(mIn,64), s) + + success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + + mstore(add(mIn,64), mload(pR)) + mstore(add(mIn,96), mload(add(pR, 32))) + + success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + } + + function g1_mulSetC(pR, x, y, s) { + let success + let mIn := mload(0x40) + mstore(mIn, x) + mstore(add(mIn,32), y) + mstore(add(mIn,64), s) + + success := staticcall(sub(gas(), 2000), 7, mIn, 96, pR, 64) + + if iszero(success) { + mstore(0, 0) + return(0,0x20) + } + } + + + function calculateA1(pProof, pMem) { + let p := add(pMem, pA1) + g1_set(p, add(pProof, pWxi)) + g1_mulAcc(p, add(pProof, pWxiw), mload(add(pMem, pU))) + } + + + function calculateB1(pProof, pMem) { + let s + let s1 + let p := add(pMem, pB1) + + // Calculate D + s := mulmod( mload(add(pProof, pEval_a)), mload(add(pMem, pV1)), q) + g1_mulSetC(p, Qlx, Qly, s) + + s := mulmod( s, mload(add(pProof, pEval_b)), q) + g1_mulAccC(p, Qmx, Qmy, s) + + s := mulmod( mload(add(pProof, pEval_b)), mload(add(pMem, pV1)), q) + g1_mulAccC(p, Qrx, Qry, s) + + s := mulmod( mload(add(pProof, pEval_c)), mload(add(pMem, pV1)), q) + g1_mulAccC(p, Qox, Qoy, s) + + s :=mload(add(pMem, pV1)) + g1_mulAccC(p, Qcx, Qcy, s) + + s := addmod(mload(add(pProof, pEval_a)), mload(add(pMem, pBetaXi)), q) + s := addmod(s, mload(add(pMem, pGamma)), q) + s1 := mulmod(k1, mload(add(pMem, pBetaXi)), q) + s1 := addmod(s1, mload(add(pProof, pEval_b)), q) + s1 := addmod(s1, mload(add(pMem, pGamma)), q) + s := mulmod(s, s1, q) + s1 := mulmod(k2, mload(add(pMem, pBetaXi)), q) + s1 := addmod(s1, mload(add(pProof, pEval_c)), q) + s1 := addmod(s1, mload(add(pMem, pGamma)), q) + s := mulmod(s, s1, q) + s := mulmod(s, mload(add(pMem, pAlpha)), q) + s := mulmod(s, mload(add(pMem, pV1)), q) + s1 := mulmod(mload(add(pMem, pEval_l1)), mload(add(pMem, pAlpha)), q) + s1 := mulmod(s1, mload(add(pMem, pAlpha)), q) + s1 := mulmod(s1, mload(add(pMem, pV1)), q) + s := addmod(s, s1, q) + s := addmod(s, mload(add(pMem, pU)), q) + g1_mulAcc(p, add(pProof, pZ), s) + + s := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s1)), q) + s := addmod(s, mload(add(pProof, pEval_a)), q) + s := addmod(s, mload(add(pMem, pGamma)), q) + s1 := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s2)), q) + s1 := addmod(s1, mload(add(pProof, pEval_b)), q) + s1 := addmod(s1, mload(add(pMem, pGamma)), q) + s := mulmod(s, s1, q) + s := mulmod(s, mload(add(pMem, pAlpha)), q) + s := mulmod(s, mload(add(pMem, pV1)), q) + s := mulmod(s, mload(add(pMem, pBeta)), q) + s := mulmod(s, mload(add(pProof, pEval_zw)), q) + s := mod(sub(q, s), q) + g1_mulAccC(p, S3x, S3y, s) + + + // calculate F + g1_acc(p , add(pProof, pT1)) + + s := mload(add(pMem, pXin)) + g1_mulAcc(p, add(pProof, pT2), s) + + s := mulmod(s, s, q) + g1_mulAcc(p, add(pProof, pT3), s) + + g1_mulAcc(p, add(pProof, pA), mload(add(pMem, pV2))) + g1_mulAcc(p, add(pProof, pB), mload(add(pMem, pV3))) + g1_mulAcc(p, add(pProof, pC), mload(add(pMem, pV4))) + g1_mulAccC(p, S1x, S1y, mload(add(pMem, pV5))) + g1_mulAccC(p, S2x, S2y, mload(add(pMem, pV6))) + + // calculate E + s := mload(add(pMem, pEval_t)) + s := addmod(s, mulmod(mload(add(pProof, pEval_r)), mload(add(pMem, pV1)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_a)), mload(add(pMem, pV2)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_b)), mload(add(pMem, pV3)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_c)), mload(add(pMem, pV4)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_s1)), mload(add(pMem, pV5)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_s2)), mload(add(pMem, pV6)), q), q) + s := addmod(s, mulmod(mload(add(pProof, pEval_zw)), mload(add(pMem, pU)), q), q) + s := mod(sub(q, s), q) + g1_mulAccC(p, G1x, G1y, s) + + + // Last part of B + s := mload(add(pMem, pXi)) + g1_mulAcc(p, add(pProof, pWxi), s) + + s := mulmod(mload(add(pMem, pU)), mload(add(pMem, pXi)), q) + s := mulmod(s, w1, q) + g1_mulAcc(p, add(pProof, pWxiw), s) + + } + + function checkPairing(pMem) -> isOk { + let mIn := mload(0x40) + mstore(mIn, mload(add(pMem, pA1))) + mstore(add(mIn,32), mload(add(add(pMem, pA1), 32))) + mstore(add(mIn,64), X2x2) + mstore(add(mIn,96), X2x1) + mstore(add(mIn,128), X2y2) + mstore(add(mIn,160), X2y1) + mstore(add(mIn,192), mload(add(pMem, pB1))) + let s := mload(add(add(pMem, pB1), 32)) + s := mod(sub(qf, s), qf) + mstore(add(mIn,224), s) + mstore(add(mIn,256), G2x2) + mstore(add(mIn,288), G2x1) + mstore(add(mIn,320), G2y2) + mstore(add(mIn,352), G2y1) + + let success := staticcall(sub(gas(), 2000), 8, mIn, 384, mIn, 0x20) + + isOk := and(success, mload(mIn)) + } + + let pMem := mload(0x40) + mstore(0x40, add(pMem, lastMem)) + + checkInput(proof) + calculateChallanges(proof, pMem, pubSignals) + calculateLagrange(pMem) + calculatePl(pMem, pubSignals) + calculateT(proof, pMem) + calculateA1(proof, pMem) + calculateB1(proof, pMem) + let isValid := checkPairing(pMem) + + mstore(0x40, sub(pMem, lastMem)) + mstore(0, isValid) + return(0,0x20) + } + + } +} diff --git a/examples/bri-3/ccsm/hardhat.config.ts b/examples/bri-3/ccsm/hardhat.config.ts new file mode 100644 index 000000000..274cb99ab --- /dev/null +++ b/examples/bri-3/ccsm/hardhat.config.ts @@ -0,0 +1,23 @@ +import { HardhatUserConfig } from 'hardhat/config'; +import '@nomicfoundation/hardhat-toolbox'; + +const config: HardhatUserConfig = { + solidity: "0.8.24", + defaultNetwork: "localhost", + networks: { + localhost: { + url: "http://127.0.0.1:8545", + }, + sepolia: { + url: + 'https://sepolia.infura.io/v3/' + process.env.INFURA_PROVIDER_API_KEY, + accounts: + process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [], // TODO: Add test account for sepolia + }, + }, + paths: { + artifacts: '../ccsmArtifacts', + }, +}; + +export default config; diff --git a/examples/bri-3/ccsm/package-lock.json b/examples/bri-3/ccsm/package-lock.json new file mode 100644 index 000000000..2c63399d2 --- /dev/null +++ b/examples/bri-3/ccsm/package-lock.json @@ -0,0 +1,6524 @@ +{ + "name": "hardhat-project", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "hardhat-project", + "dependencies": { + "@nomicfoundation/hardhat-chai-matchers": "^2.0.7", + "@nomicfoundation/hardhat-ignition": "^0.15.5", + "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@openzeppelin/contracts": "^5.0.2" + }, + "devDependencies": { + "hardhat": "^2.22.6" + } + }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@ethereumjs/rlp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "peer": true, + "bin": { + "rlp": "bin/rlp" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ethereumjs/util": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "peer": true, + "dependencies": { + "@ethereumjs/rlp": "^4.0.1", + "ethereum-cryptography": "^2.0.0", + "micro-ftch": "^0.3.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ethereumjs/util/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "peer": true, + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@ethereumjs/util/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "peer": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@ethereumjs/util/node_modules/@scure/bip32": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", + "peer": true, + "dependencies": { + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@ethereumjs/util/node_modules/@scure/bip39": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", + "peer": true, + "dependencies": { + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@ethereumjs/util/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "peer": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/json-wallets/node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", + "peer": true + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "node_modules/@ethersproject/providers/node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "peer": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "dependencies": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@noble/secp256k1": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "peer": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nomicfoundation/edr": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.4.2.tgz", + "integrity": "sha512-U7v0HuZHfrsl/5FpUzuB2FYA0+FUglHHwiO6NhvLtNYKMZcPzdS6iUriMp/7GWs0SVxW3bAht9GinZPxdhVwWg==", + "dependencies": { + "@nomicfoundation/edr-darwin-arm64": "0.4.2", + "@nomicfoundation/edr-darwin-x64": "0.4.2", + "@nomicfoundation/edr-linux-arm64-gnu": "0.4.2", + "@nomicfoundation/edr-linux-arm64-musl": "0.4.2", + "@nomicfoundation/edr-linux-x64-gnu": "0.4.2", + "@nomicfoundation/edr-linux-x64-musl": "0.4.2", + "@nomicfoundation/edr-win32-x64-msvc": "0.4.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-darwin-arm64": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.4.2.tgz", + "integrity": "sha512-S+hhepupfqpBvMa9M1PVS08sVjGXsLnjyAsjhrrsjsNuTHVLhKzhkguvBD5g4If5skrwgOaVqpag4wnQbd15kQ==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-darwin-x64": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.4.2.tgz", + "integrity": "sha512-/zM94AUrXz6CmcsecRNHJ50jABDUFafmGc4iBmkfX/mTp4tVZj7XTyIogrQIt0FnTaeb4CgZoLap2+8tW/Uldg==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.4.2.tgz", + "integrity": "sha512-TV3Pr2tFvvmCfPCi9PaCGLtqn+oLaPKfL2NWpnoCeFFdzDQXi2L930yP1oUPY5RXd78NLdVHMkEkbhb2b6Wuvg==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-arm64-musl": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.4.2.tgz", + "integrity": "sha512-PALwrLBk1M9rolXyhSX8xdhe5jL0qf/PgiCIF7W7lUyVKrI/I0oiU0EHDk/Xw7yi2UJg4WRyhhZoHYa0g4g8Qg==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-x64-gnu": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.4.2.tgz", + "integrity": "sha512-5svkftypDjAZ1LxV1onojlaqPRxrTEjJLkrUwLL+Fao5ZMe7aTnk5QQ1Jv76gW6WYZnMXNgjPhRcnw3oSNrqFA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-linux-x64-musl": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.4.2.tgz", + "integrity": "sha512-qiMlXQTggdH9zfOB4Eil4rQ95z8s7QdLJcOfz5Aym12qJNkCyF9hi4cc4dDCWA0CdI3x3oLbuf8qb81SF8R45w==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/edr-win32-x64-msvc": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.4.2.tgz", + "integrity": "sha512-hDkAb0iaMmGYwBY/rA1oCX8VpsezfQcHPEPIEGXEcWC3WbnOgIZo0Qkpu/g0OMtFOJSQlWLXvKZuV7blhnrQag==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@nomicfoundation/ethereumjs-common": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", + "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", + "dependencies": { + "@nomicfoundation/ethereumjs-util": "9.0.4" + } + }, + "node_modules/@nomicfoundation/ethereumjs-rlp": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", + "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@nomicfoundation/ethereumjs-tx": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", + "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", + "dependencies": { + "@nomicfoundation/ethereumjs-common": "4.0.4", + "@nomicfoundation/ethereumjs-rlp": "5.0.4", + "@nomicfoundation/ethereumjs-util": "9.0.4", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "c-kzg": "^2.1.2" + }, + "peerDependenciesMeta": { + "c-kzg": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/ethereumjs-tx/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/ethereumjs-util": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", + "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", + "dependencies": { + "@nomicfoundation/ethereumjs-rlp": "5.0.4", + "ethereum-cryptography": "0.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "c-kzg": "^2.1.2" + }, + "peerDependenciesMeta": { + "c-kzg": { + "optional": true + } + } + }, + "node_modules/@nomicfoundation/ethereumjs-util/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/hardhat-chai-matchers": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.7.tgz", + "integrity": "sha512-RQfsiTwdf0SP+DtuNYvm4921X6VirCQq0Xyh+mnuGlTwEFSPZ/o27oQC+l+3Y/l48DDU7+ZcYBR+Fp+Rp94LfQ==", + "dependencies": { + "@types/chai-as-promised": "^7.1.3", + "chai-as-promised": "^7.1.1", + "deep-eql": "^4.0.1", + "ordinal": "^1.0.3" + }, + "peerDependencies": { + "@nomicfoundation/hardhat-ethers": "^3.0.0", + "chai": "^4.2.0", + "ethers": "^6.1.0", + "hardhat": "^2.9.4" + } + }, + "node_modules/@nomicfoundation/hardhat-ethers": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.6.tgz", + "integrity": "sha512-/xzkFQAaHQhmIAYOQmvHBPwL+NkwLzT9gRZBsgWUYeV+E6pzXsBQsHfRYbAZ3XEYare+T7S+5Tg/1KDJgepSkA==", + "peer": true, + "dependencies": { + "debug": "^4.1.1", + "lodash.isequal": "^4.5.0" + }, + "peerDependencies": { + "ethers": "^6.1.0", + "hardhat": "^2.0.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.5.tgz", + "integrity": "sha512-Y5nhFXFqt4owA6Ooag8ZBFDF2RAZElMXViknVIsi3m45pbQimS50ti6FU8HxfRkDnBARa40CIn7UGV0hrelzDw==", + "dependencies": { + "@nomicfoundation/ignition-core": "^0.15.5", + "@nomicfoundation/ignition-ui": "^0.15.5", + "chalk": "^4.0.0", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "prompts": "^2.4.2" + }, + "peerDependencies": { + "@nomicfoundation/hardhat-verify": "^2.0.1", + "hardhat": "^2.18.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition-ethers": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ignition-ethers/-/hardhat-ignition-ethers-0.15.5.tgz", + "integrity": "sha512-W6s1QN9CFxzSVZS6w9Jcj3WLaK32z2FP5MxNU2OKY1Fn9ZzLr+miXbUbWYuRHl6dxrrl6sE8cv33Cybv19pmCg==", + "peer": true, + "peerDependencies": { + "@nomicfoundation/hardhat-ethers": "^3.0.4", + "@nomicfoundation/hardhat-ignition": "^0.15.5", + "@nomicfoundation/ignition-core": "^0.15.5", + "ethers": "^6.7.0", + "hardhat": "^2.18.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@nomicfoundation/hardhat-ignition/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@nomicfoundation/hardhat-network-helpers": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.11.tgz", + "integrity": "sha512-uGPL7QSKvxrHRU69dx8jzoBvuztlLCtyFsbgfXIwIjnO3dqZRz2GNMHJoO3C3dIiUNM6jdNF4AUnoQKDscdYrA==", + "peer": true, + "dependencies": { + "ethereumjs-util": "^7.1.4" + }, + "peerDependencies": { + "hardhat": "^2.9.5" + } + }, + "node_modules/@nomicfoundation/hardhat-network-helpers/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "peer": true, + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@nomicfoundation/hardhat-network-helpers/node_modules/ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "peer": true, + "dependencies": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@nomicfoundation/hardhat-toolbox": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-5.0.0.tgz", + "integrity": "sha512-FnUtUC5PsakCbwiVNsqlXVIWG5JIb5CEZoSXbJUsEBun22Bivx2jhF1/q9iQbzuaGpJKFQyOhemPB2+XlEE6pQ==", + "peerDependencies": { + "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", + "@nomicfoundation/hardhat-ethers": "^3.0.0", + "@nomicfoundation/hardhat-ignition-ethers": "^0.15.0", + "@nomicfoundation/hardhat-network-helpers": "^1.0.0", + "@nomicfoundation/hardhat-verify": "^2.0.0", + "@typechain/ethers-v6": "^0.5.0", + "@typechain/hardhat": "^9.0.0", + "@types/chai": "^4.2.0", + "@types/mocha": ">=9.1.0", + "@types/node": ">=18.0.0", + "chai": "^4.2.0", + "ethers": "^6.4.0", + "hardhat": "^2.11.0", + "hardhat-gas-reporter": "^1.0.8", + "solidity-coverage": "^0.8.1", + "ts-node": ">=8.0.0", + "typechain": "^8.3.0", + "typescript": ">=4.5.0" + } + }, + "node_modules/@nomicfoundation/hardhat-verify": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.8.tgz", + "integrity": "sha512-x/OYya7A2Kcz+3W/J78dyDHxr0ezU23DKTrRKfy5wDPCnePqnr79vm8EXqX3gYps6IjPBYyGPZ9K6E5BnrWx5Q==", + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^8.1.0", + "chalk": "^2.4.2", + "debug": "^4.1.1", + "lodash.clonedeep": "^4.5.0", + "semver": "^6.3.0", + "table": "^6.8.0", + "undici": "^5.14.0" + }, + "peerDependencies": { + "hardhat": "^2.0.4" + } + }, + "node_modules/@nomicfoundation/ignition-core": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-core/-/ignition-core-0.15.5.tgz", + "integrity": "sha512-FgvuoIXhakRSP524JzNQ4BviyzBBKpsFaOWubPZ4XACLT4/7vGqlJ/7DIn0D2NL2anQ2qs98/BNBY9WccXUX1Q==", + "dependencies": { + "@ethersproject/address": "5.6.1", + "@nomicfoundation/solidity-analyzer": "^0.1.1", + "cbor": "^9.0.0", + "debug": "^4.3.2", + "ethers": "^6.7.0", + "fs-extra": "^10.0.0", + "immer": "10.0.2", + "lodash": "4.17.21", + "ndjson": "2.0.0" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/@ethersproject/address": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", + "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.1" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/cbor": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-9.0.2.tgz", + "integrity": "sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==", + "dependencies": { + "nofilter": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@nomicfoundation/ignition-ui": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.5.tgz", + "integrity": "sha512-ZcE4rIn10qKahR4OqS8rl8NM2Fbg2QYiBXgMgj74ZI0++LlCcZgB5HyaBbX+lsnKHjTXtjYD3b+2mtg7jFbAMQ==" + }, + "node_modules/@nomicfoundation/solidity-analyzer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", + "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", + "engines": { + "node": ">= 12" + }, + "optionalDependencies": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", + "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", + "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", + "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", + "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", + "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", + "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", + "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@openzeppelin/contracts": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.0.2.tgz", + "integrity": "sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA==" + }, + "node_modules/@scure/base": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.7.tgz", + "integrity": "sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.2.0", + "@noble/secp256k1": "~1.7.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@scure/bip39": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.2.0", + "@scure/base": "~1.1.0" + } + }, + "node_modules/@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "dependencies": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "dependencies": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "dependencies": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@solidity-parser/parser": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.5.tgz", + "integrity": "sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==", + "peer": true, + "dependencies": { + "antlr4ts": "^0.5.0-alpha.4" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "peer": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "peer": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "peer": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "peer": true + }, + "node_modules/@typechain/ethers-v6": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v6/-/ethers-v6-0.5.1.tgz", + "integrity": "sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA==", + "peer": true, + "dependencies": { + "lodash": "^4.17.15", + "ts-essentials": "^7.0.1" + }, + "peerDependencies": { + "ethers": "6.x", + "typechain": "^8.3.2", + "typescript": ">=4.7.0" + } + }, + "node_modules/@typechain/hardhat": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-9.1.0.tgz", + "integrity": "sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA==", + "peer": true, + "dependencies": { + "fs-extra": "^9.1.0" + }, + "peerDependencies": { + "@typechain/ethers-v6": "^0.5.1", + "ethers": "^6.1.0", + "hardhat": "^2.9.9", + "typechain": "^8.3.2" + } + }, + "node_modules/@typechain/hardhat/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "peer": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typechain/hardhat/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "peer": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@typechain/hardhat/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "peer": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@types/bn.js": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", + "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/chai": { + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==" + }, + "node_modules/@types/chai-as-promised": { + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", + "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", + "dependencies": { + "@types/chai": "*" + } + }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "peer": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "peer": true + }, + "node_modules/@types/mocha": { + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", + "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", + "peer": true + }, + "node_modules/@types/node": { + "version": "20.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", + "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "peer": true + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", + "peer": true + }, + "node_modules/@types/secp256k1": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", + "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==", + "peer": true + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "peer": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/aes-js": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/antlr4ts": { + "version": "0.5.0-alpha.4", + "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", + "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", + "peer": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "peer": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "peer": true + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", + "peer": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "peer": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "peer": true, + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base-x": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", + "peer": true + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "peer": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "peer": true + }, + "node_modules/cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "peer": true, + "dependencies": { + "nofilter": "^3.1.0" + }, + "engines": { + "node": ">=12.19" + } + }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "peer": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chai-as-promised": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", + "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", + "dependencies": { + "check-error": "^1.0.2" + }, + "peerDependencies": { + "chai": ">= 2.1.2 < 6" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "peer": true, + "dependencies": { + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "colors": "^1.1.2" + } + }, + "node_modules/cli-table3/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-table3/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "peer": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-table3/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "peer": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "peer": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "peer": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "peer": true, + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-usage": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", + "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "peer": true, + "dependencies": { + "array-back": "^4.0.2", + "chalk": "^2.4.2", + "table-layout": "^1.0.2", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/command-line-usage/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "peer": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "peer": true + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/death": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", + "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==", + "peer": true + }, + "node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-eql": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "peer": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "peer": true + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "peer": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/difflib": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", + "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", + "peer": true, + "dependencies": { + "heap": ">= 0.2.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "peer": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", + "peer": true, + "dependencies": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.12.0" + }, + "optionalDependencies": { + "source-map": "~0.2.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", + "optional": true, + "peer": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "peer": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eth-gas-reporter": { + "version": "0.2.27", + "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz", + "integrity": "sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==", + "peer": true, + "dependencies": { + "@solidity-parser/parser": "^0.14.0", + "axios": "^1.5.1", + "cli-table3": "^0.5.0", + "colors": "1.4.0", + "ethereum-cryptography": "^1.0.3", + "ethers": "^5.7.2", + "fs-readdir-recursive": "^1.1.0", + "lodash": "^4.17.14", + "markdown-table": "^1.1.3", + "mocha": "^10.2.0", + "req-cwd": "^2.0.0", + "sha1": "^1.1.1", + "sync-request": "^6.0.0" + }, + "peerDependencies": { + "@codechecks/client": "^0.1.0" + }, + "peerDependenciesMeta": { + "@codechecks/client": { + "optional": true + } + } + }, + "node_modules/eth-gas-reporter/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "peer": true, + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/ethereum-bloom-filters": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.1.0.tgz", + "integrity": "sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==", + "peer": true, + "dependencies": { + "@noble/hashes": "^1.4.0" + } + }, + "node_modules/ethereum-bloom-filters/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "peer": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethereum-cryptography": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "dependencies": { + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", + "@scure/bip32": "1.1.5", + "@scure/bip39": "1.1.1" + } + }, + "node_modules/ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "dependencies": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ethereumjs-abi/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ethereumjs-util/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/ethereumjs-util/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/ethers": { + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.1.tgz", + "integrity": "sha512-hdJ2HOxg/xx97Lm9HdCWk949BfYqYWpyw4//78SiwOLgASyfrNszfMUNB2joKjvGUdwhHfaiMMFFwacVVoLR9A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/ethers-io/" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "18.15.13", + "aes-js": "4.0.0-beta.5", + "tslib": "2.4.0", + "ws": "8.17.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ethers/node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethers/node_modules/@types/node": { + "version": "18.15.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", + "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" + }, + "node_modules/ethers/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/ethers/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "peer": true, + "dependencies": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ethjs-unit/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "peer": true + }, + "node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "peer": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "peer": true + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "peer": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "peer": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "peer": true, + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "peer": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + }, + "node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "peer": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "peer": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ghost-testrpc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", + "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", + "peer": true, + "dependencies": { + "chalk": "^2.4.2", + "node-emoji": "^1.10.0" + }, + "bin": { + "testrpc-sc": "index.js" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "peer": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "peer": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "peer": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "peer": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/hardhat": { + "version": "2.22.6", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.22.6.tgz", + "integrity": "sha512-abFEnd9QACwEtSvZZGSmzvw7N3zhQN1cDKz5SLHAupfG24qTHofCjqvD5kT5Wwsq5XOL0ON1Mq5rr4v0XX5ciw==", + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@nomicfoundation/edr": "^0.4.1", + "@nomicfoundation/ethereumjs-common": "4.0.4", + "@nomicfoundation/ethereumjs-tx": "5.0.4", + "@nomicfoundation/ethereumjs-util": "9.0.4", + "@nomicfoundation/solidity-analyzer": "^0.1.0", + "@sentry/node": "^5.18.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "boxen": "^5.1.2", + "chalk": "^2.4.2", + "chokidar": "^3.4.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^1.0.3", + "ethereumjs-abi": "^0.6.8", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "7.2.0", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "keccak": "^3.0.2", + "lodash": "^4.17.11", + "mnemonist": "^0.38.0", + "mocha": "^10.0.0", + "p-map": "^4.0.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "solc": "0.8.26", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "tsort": "0.0.1", + "undici": "^5.14.0", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "bin": { + "hardhat": "internal/cli/bootstrap.js" + }, + "peerDependencies": { + "ts-node": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/hardhat-gas-reporter": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz", + "integrity": "sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==", + "peer": true, + "dependencies": { + "array-uniq": "1.0.3", + "eth-gas-reporter": "^0.2.25", + "sha1": "^1.1.1" + }, + "peerDependencies": { + "hardhat": "^2.0.2" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "peer": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "peer": true + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "peer": true, + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "peer": true, + "dependencies": { + "@types/node": "^10.0.3" + } + }, + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "peer": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.2.tgz", + "integrity": "sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==" + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "peer": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "peer": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "dependencies": { + "fp-ts": "^1.0.0" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "peer": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "peer": true + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "peer": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonschema": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", + "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/keccak": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "peer": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "peer": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "peer": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "peer": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "peer": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "peer": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "peer": true + }, + "node_modules/markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", + "peer": true + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micro-ftch": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", + "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==", + "peer": true + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "peer": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "peer": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "dependencies": { + "obliterator": "^2.0.0" + } + }, + "node_modules/mocha": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", + "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/ndjson": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ndjson/-/ndjson-2.0.0.tgz", + "integrity": "sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==", + "dependencies": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.5", + "readable-stream": "^3.6.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "ndjson": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "peer": true + }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "peer": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", + "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "engines": { + "node": ">=12.19" + } + }, + "node_modules/nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "peer": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "peer": true, + "dependencies": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/number-to-bn/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "peer": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obliterator": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "peer": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ordinal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz", + "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==" + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "engines": { + "node": ">=4" + } + }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", + "peer": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "peer": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "peer": true + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "peer": true, + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "peer": true + }, + "node_modules/qs": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", + "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", + "peer": true, + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "peer": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "peer": true, + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/req-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", + "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", + "peer": true, + "dependencies": { + "req-from": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/req-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", + "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", + "peer": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "peer": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sc-istanbul": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", + "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", + "peer": true, + "dependencies": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "istanbul": "lib/cli.js" + } + }, + "node_modules/sc-istanbul/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "peer": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/sc-istanbul/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "peer": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sc-istanbul/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sc-istanbul/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "peer": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/sc-istanbul/node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "peer": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sc-istanbul/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "peer": true + }, + "node_modules/sc-istanbul/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "peer": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "hasInstallScript": true, + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "peer": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", + "peer": true, + "dependencies": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "peer": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/solc": { + "version": "0.8.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", + "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "^8.1.0", + "follow-redirects": "^1.12.1", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solc.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/solc/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solidity-coverage": { + "version": "0.8.12", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.12.tgz", + "integrity": "sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==", + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.0.9", + "@solidity-parser/parser": "^0.18.0", + "chalk": "^2.4.2", + "death": "^1.1.0", + "difflib": "^0.2.4", + "fs-extra": "^8.1.0", + "ghost-testrpc": "^0.0.2", + "global-modules": "^2.0.0", + "globby": "^10.0.1", + "jsonschema": "^1.2.4", + "lodash": "^4.17.21", + "mocha": "^10.2.0", + "node-emoji": "^1.10.0", + "pify": "^4.0.1", + "recursive-readdir": "^2.2.2", + "sc-istanbul": "^0.4.5", + "semver": "^7.3.4", + "shelljs": "^0.8.3", + "web3-utils": "^1.3.6" + }, + "bin": { + "solidity-coverage": "plugins/bin.js" + }, + "peerDependencies": { + "hardhat": "^2.11.0" + } + }, + "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.18.0.tgz", + "integrity": "sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==", + "peer": true + }, + "node_modules/solidity-coverage/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/solidity-coverage/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "peer": true + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-format": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", + "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", + "peer": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "peer": true, + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "peer": true, + "dependencies": { + "get-port": "^3.1.0" + } + }, + "node_modules/table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "peer": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "peer": true, + "dependencies": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table-layout/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "peer": true, + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "peer": true + }, + "node_modules/then-request/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "peer": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/ts-command-line-args": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz", + "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==", + "peer": true, + "dependencies": { + "chalk": "^4.1.0", + "command-line-args": "^5.1.1", + "command-line-usage": "^6.1.0", + "string-format": "^2.0.0" + }, + "bin": { + "write-markdown": "dist/write-markdown.js" + } + }, + "node_modules/ts-command-line-args/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ts-command-line-args/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ts-command-line-args/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ts-command-line-args/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/ts-command-line-args/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-command-line-args/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "peer": true, + "peerDependencies": { + "typescript": ">=3.7.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "peer": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "peer": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" + }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "node_modules/tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "peer": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typechain": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz", + "integrity": "sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==", + "peer": true, + "dependencies": { + "@types/prettier": "^2.1.1", + "debug": "^4.3.1", + "fs-extra": "^7.0.0", + "glob": "7.1.7", + "js-sha3": "^0.8.0", + "lodash": "^4.17.15", + "mkdirp": "^1.0.4", + "prettier": "^2.3.1", + "ts-command-line-args": "^2.2.0", + "ts-essentials": "^7.0.1" + }, + "bin": { + "typechain": "dist/cli/cli.js" + }, + "peerDependencies": { + "typescript": ">=4.3.0" + } + }, + "node_modules/typechain/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typechain/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "peer": true + }, + "node_modules/typescript": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/uglify-js": { + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.18.0.tgz", + "integrity": "sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==", + "optional": true, + "peer": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici": { + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "peer": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "peer": true + }, + "node_modules/web3-utils": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", + "peer": true, + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "bn.js": "^5.2.1", + "ethereum-bloom-filters": "^1.0.6", + "ethereum-cryptography": "^2.1.2", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-utils/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "peer": true, + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/web3-utils/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "peer": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/web3-utils/node_modules/@scure/bip32": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", + "peer": true, + "dependencies": { + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/web3-utils/node_modules/@scure/bip39": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", + "peer": true, + "dependencies": { + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/web3-utils/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "peer": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "peer": true + }, + "node_modules/wordwrapjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "peer": true, + "dependencies": { + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/wordwrapjs/node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/examples/bri-3/ccsm/package.json b/examples/bri-3/ccsm/package.json new file mode 100644 index 000000000..4f8833c48 --- /dev/null +++ b/examples/bri-3/ccsm/package.json @@ -0,0 +1,12 @@ +{ + "name": "hardhat-project", + "dependencies": { + "@nomicfoundation/hardhat-chai-matchers": "^2.0.7", + "@nomicfoundation/hardhat-ignition": "^0.15.5", + "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@openzeppelin/contracts": "^5.0.2" + }, + "devDependencies": { + "hardhat": "^2.22.6" + } +} diff --git a/examples/bri-3/ccsm/scripts/deploy.ts b/examples/bri-3/ccsm/scripts/deploy.ts new file mode 100644 index 000000000..a86e7bec5 --- /dev/null +++ b/examples/bri-3/ccsm/scripts/deploy.ts @@ -0,0 +1,51 @@ +const hre = require("hardhat"); + +async function main() { + const [originalOwner] = await hre.ethers.getSigners(); + + // use internal bpi subject account as the owner of the CcsmBpiStateAnchor contract + const ownerAndAdminPrivateKey = "2c95d82bcd8851bd3a813c50afafb025228bf8d237e8fd37ba4adba3a7596d58"; + const ownerAndAdmin = new hre.ethers.Wallet(ownerAndAdminPrivateKey, hre.ethers.provider); + + await originalOwner.sendTransaction({ + to: ownerAndAdmin.address, + value: hre.ethers.parseEther("1.0") + }); + + const CcsmBpiStateAnchor = await hre.ethers.getContractFactory("CcsmBpiStateAnchor"); + + const ccsmBpiStateAnchor = await CcsmBpiStateAnchor.connect(ownerAndAdmin).deploy([ + ownerAndAdmin.address, + ownerAndAdmin.address, + ]); + + console.log("CcsmBpiStateAnchor deployed to:", await ccsmBpiStateAnchor.getAddress()); + + // deploy verifier contracts for 3 worksteps from the e2e use-case. + // in practice, they would be deployed by however is setting up the workflow + // and only contract addresses would be added to the workstep + const Workstep1Verifier = await hre.ethers.getContractFactory("Workstep1Verifier"); + + const workstep1Verifier = await Workstep1Verifier.deploy(); + + console.log("Workstep1Verifier deployed to:", await workstep1Verifier.getAddress()); + + const Workstep2Verifier = await hre.ethers.getContractFactory("Workstep2Verifier"); + + const workstep2Verifier = await Workstep2Verifier.deploy(); + + console.log("Workstep2Verifier deployed to:", await workstep2Verifier.getAddress()); + + const Workstep3Verifier = await hre.ethers.getContractFactory("Workstep3Verifier"); + + const workstep3Verifier = await Workstep3Verifier.deploy(); + + console.log("Workstep3Verifier deployed to:", await workstep3Verifier.getAddress()); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); \ No newline at end of file diff --git a/examples/bri-3/ccsm/test/CcsmBpiStateAnchor.ts b/examples/bri-3/ccsm/test/CcsmBpiStateAnchor.ts new file mode 100644 index 000000000..931562c73 --- /dev/null +++ b/examples/bri-3/ccsm/test/CcsmBpiStateAnchor.ts @@ -0,0 +1,187 @@ +import { loadFixture } from '@nomicfoundation/hardhat-toolbox/network-helpers'; +import { expect } from 'chai'; +import hre from 'hardhat'; + +describe('CcsmBpiStateAnchor', function () { + async function deployCcsmBpiStateAnchor() { + const [owner, otherAccount, adminAccount] = await hre.ethers.getSigners(); + + const CcsmBpiStateAnchor = await hre.ethers.getContractFactory( + 'CcsmBpiStateAnchor', + ); + const ccsmBpiStateAnchor = await CcsmBpiStateAnchor.deploy([ + await owner.getAddress(), + await adminAccount.getAddress(), + ]); + + return { ccsmBpiStateAnchor, owner, otherAccount, adminAccount }; + } + + describe('Deployment', function () { + it('Should deploy the contract', async function () { + const { ccsmBpiStateAnchor } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + expect(await ccsmBpiStateAnchor.getAddress()).to.be.properAddress; + }); + + it('Should set the correct admin roles', async function () { + const { ccsmBpiStateAnchor, owner, adminAccount } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const adminRole = await ccsmBpiStateAnchor.ADMIN_ROLE(); + expect(await ccsmBpiStateAnchor.hasRole(adminRole, owner.address)).to.be + .true; + expect(await ccsmBpiStateAnchor.hasRole(adminRole, adminAccount.address)) + .to.be.true; + }); + }); + + describe('setAnchorHash', function () { + it('Should allow an admin to set an anchor hash', async function () { + const { ccsmBpiStateAnchor, owner } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const workstepInstanceId = 'testWorkstepInstance'; + const anchorHash = '0x1234567890abcdef'; + + await expect( + ccsmBpiStateAnchor + .connect(owner) + .setAnchorHash(workstepInstanceId, anchorHash), + ) + .to.emit(ccsmBpiStateAnchor, 'AnchorHashSet') + .withArgs(workstepInstanceId, anchorHash); + + expect( + await ccsmBpiStateAnchor.anchorHashStore(workstepInstanceId), + ).to.equal(anchorHash); + }); + + it('Should not allow a non-admin to set an anchor hash', async function () { + const { ccsmBpiStateAnchor, otherAccount } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const workstepInstanceId = 'testWorkstepInstance'; + const anchorHash = '0x1234567890abcdef'; + + await expect( + ccsmBpiStateAnchor + .connect(otherAccount) + .setAnchorHash(workstepInstanceId, anchorHash), + ).to.be.revertedWith('Only admin can call this function'); + }); + + it('Should revert when workstepInstanceId is empty', async function () { + const { ccsmBpiStateAnchor, owner } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const anchorHash = '0x1234567890abcdef'; + + await expect( + ccsmBpiStateAnchor.connect(owner).setAnchorHash('', anchorHash), + ).to.be.revertedWith('WorkstepInstanceId cannot be empty'); + }); + + it('Should revert when workstepInstanceId exceeds 36 bytes', async function () { + const { ccsmBpiStateAnchor, owner } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const longWorkstepInstanceId = 'a'.repeat(37); + const anchorHash = '0x1234567890abcdef'; + + await expect( + ccsmBpiStateAnchor + .connect(owner) + .setAnchorHash(longWorkstepInstanceId, anchorHash), + ).to.be.revertedWith('WorkstepInstanceId cannot exceed 36 bytes'); + }); + + it('Should revert when anchorHash is empty', async function () { + const { ccsmBpiStateAnchor, owner } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const workstepInstanceId = 'testWorkstepInstance'; + + await expect( + ccsmBpiStateAnchor.connect(owner).setAnchorHash(workstepInstanceId, ''), + ).to.be.revertedWith('AnchorHash cannot be empty'); + }); + + it('Should revert when anchorHash exceeds 256 bytes', async function () { + const { ccsmBpiStateAnchor, owner } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const workstepInstanceId = 'testWorkstepInstance'; + const longAnchorHash = '0x' + 'a'.repeat(257); + + await expect( + ccsmBpiStateAnchor + .connect(owner) + .setAnchorHash(workstepInstanceId, longAnchorHash), + ).to.be.revertedWith('AnchorHash cannot exceed 256 bytes'); + }); + }); + + describe('getAnchorHash', function () { + it('Should return the correct anchor hash for a given workstepInstanceId', async function () { + const { ccsmBpiStateAnchor, owner } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const workstepInstanceId = 'testWorkstepInstance'; + const anchorHash = '0x1234567890abcdef'; + + await ccsmBpiStateAnchor + .connect(owner) + .setAnchorHash(workstepInstanceId, anchorHash); + expect( + await ccsmBpiStateAnchor.getAnchorHash(workstepInstanceId), + ).to.equal(anchorHash); + }); + + it('Should return an empty string for a non-existent workstepInstanceId', async function () { + const { ccsmBpiStateAnchor } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const nonExistentWorkstepInstanceId = 'nonExistent'; + + expect( + await ccsmBpiStateAnchor.getAnchorHash(nonExistentWorkstepInstanceId), + ).to.equal(''); + }); + }); + + describe('AccessControl', function () { + it('Should allow the owner to grant admin role', async function () { + const { ccsmBpiStateAnchor, owner, otherAccount } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const adminRole = await ccsmBpiStateAnchor.ADMIN_ROLE(); + + await expect( + ccsmBpiStateAnchor + .connect(owner) + .grantRole(adminRole, otherAccount.address), + ).to.not.be.reverted; + + expect(await ccsmBpiStateAnchor.hasRole(adminRole, otherAccount.address)) + .to.be.true; + }); + + it('Should allow the owner to revoke admin role', async function () { + const { ccsmBpiStateAnchor, owner, adminAccount } = await loadFixture( + deployCcsmBpiStateAnchor, + ); + const adminRole = await ccsmBpiStateAnchor.ADMIN_ROLE(); + + await expect( + ccsmBpiStateAnchor + .connect(owner) + .revokeRole(adminRole, adminAccount.address), + ).to.not.be.reverted; + + expect(await ccsmBpiStateAnchor.hasRole(adminRole, adminAccount.address)) + .to.be.false; + }); + }); +}); diff --git a/examples/bri-3/ccsm/tsconfig.json b/examples/bri-3/ccsm/tsconfig.json new file mode 100644 index 000000000..574e785c7 --- /dev/null +++ b/examples/bri-3/ccsm/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "es2020", + "module": "commonjs", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true, + "resolveJsonModule": true + } +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json new file mode 100644 index 000000000..13b996c63 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/189c1ee8bdf5b684eaab5cd99ba5c880.json" +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json new file mode 100644 index 000000000..68fb7833e --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json @@ -0,0 +1,236 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AccessControl", + "sourceName": "@openzeppelin/contracts/access/AccessControl.sol", + "abi": [ + { + "inputs": [], + "name": "AccessControlBadConfirmation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "neededRole", + "type": "bytes32" + } + ], + "name": "AccessControlUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "callerConfirmation", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json new file mode 100644 index 000000000..13b996c63 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/189c1ee8bdf5b684eaab5cd99ba5c880.json" +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json new file mode 100644 index 000000000..cdd4cba9d --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json @@ -0,0 +1,204 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IAccessControl", + "sourceName": "@openzeppelin/contracts/access/IAccessControl.sol", + "abi": [ + { + "inputs": [], + "name": "AccessControlBadConfirmation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "neededRole", + "type": "bytes32" + } + ], + "name": "AccessControlUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "callerConfirmation", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json new file mode 100644 index 000000000..13b996c63 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/189c1ee8bdf5b684eaab5cd99ba5c880.json" +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/Context.sol/Context.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/Context.sol/Context.json new file mode 100644 index 000000000..8fe86fc78 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/Context.sol/Context.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Context", + "sourceName": "@openzeppelin/contracts/utils/Context.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json new file mode 100644 index 000000000..319d8be93 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/189c1ee8bdf5b684eaab5cd99ba5c880.json" +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json new file mode 100644 index 000000000..1304472c7 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC165", + "sourceName": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json new file mode 100644 index 000000000..319d8be93 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/189c1ee8bdf5b684eaab5cd99ba5c880.json" +} diff --git a/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json new file mode 100644 index 000000000..ff87f91ee --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC165", + "sourceName": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/ccsmArtifacts/build-info/040dfe25dc16b88ff557ca6b496676df.json b/examples/bri-3/ccsmArtifacts/build-info/040dfe25dc16b88ff557ca6b496676df.json new file mode 100644 index 000000000..48357327c --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/build-info/040dfe25dc16b88ff557ca6b496676df.json @@ -0,0 +1 @@ +{"id":"040dfe25dc16b88ff557ca6b496676df","_format":"hh-sol-build-info-1","solcVersion":"0.8.24","solcLongVersion":"0.8.24+commit.e11b9ed9","input":{"language":"Solidity","sources":{"contracts/workstep1Verifier.sol":{"content":"// SPDX-License-Identifier: GPL-3.0\n/*\n Copyright 2021 0KIMS association.\n\n This file is generated with [snarkJS](https://github.com/iden3/snarkjs).\n\n snarkJS is a free software: you can redistribute it and/or modify it\n under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n snarkJS is distributed in the hope that it will be useful, but WITHOUT\n ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public\n License for more details.\n\n You should have received a copy of the GNU General Public License\n along with snarkJS. If not, see .\n*/\n\n\npragma solidity >=0.7.0 <0.9.0;\n\ncontract Workstep1Verifier {\n \n uint32 constant n = 32768;\n uint16 constant nPublic = 1;\n uint16 constant nLagrange = 1;\n \n uint256 constant Qmx = 10194515970599655109282911583529565849380113195932357171927870801826137307774;\n uint256 constant Qmy = 13140940011443490941222100702885231336933018003050133753669339785410949789318;\n uint256 constant Qlx = 9075702821792504836345109031609121656336462373875253577566881197906035654776;\n uint256 constant Qly = 18954037199706809918078978569604036271719091221321522515280996454686959634667;\n uint256 constant Qrx = 14125739754959425112951448565023067073272356473857387194868146753139341737481;\n uint256 constant Qry = 9211804802878452259667024877839323417493810024412294758516974036979308136919;\n uint256 constant Qox = 13352593265832352698392334901719590216083652550510765281779096890792086115148;\n uint256 constant Qoy = 21171212246999274828233761278619486390083267569257427931416020748289597739922;\n uint256 constant Qcx = 5480056686458973564008058219103481932927511500969774465272533080708796456916;\n uint256 constant Qcy = 18487662305128159302246915279383311188386526722958024410734396746249896900994;\n uint256 constant S1x = 17437666502495807466379659324529146642963221649250738321282955596403801525575;\n uint256 constant S1y = 18377485979133540239288926929244885650557281677382052473844064353786021038654;\n uint256 constant S2x = 10333151760014968029254102863611638785552971938423162339326135439408834116154;\n uint256 constant S2y = 6543452700579038735255020802571735600538633455576730189571594753630185539443;\n uint256 constant S3x = 8285393960618857014807148089475294222094460765549151605952886640511103409207;\n uint256 constant S3y = 11915398849747589245935203954132611261473678566697922313039161652306295887431;\n uint256 constant k1 = 2;\n uint256 constant k2 = 3;\n uint256 constant X2x1 = 7550171141489642323345496683737244277083256424004707715998483409540040587466;\n uint256 constant X2x2 = 13674327281456600895607819848682159502956608479735975762218411599033981559968;\n uint256 constant X2y1 = 16329427655915944908484974060898761683974646318074639198003187154525254176520;\n uint256 constant X2y2 = 19604631653040203911523494213678188005987622194545572529608835183936569820990;\n \n uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n uint256 constant w1 = 20402931748843538985151001264530049874871572933694634836567070693966133783803; \n \n uint256 constant G1x = 1;\n uint256 constant G1y = 2;\n uint256 constant G2x1 = 10857046999023057135944570762232829481370756359578518086990519993285655852781;\n uint256 constant G2x2 = 11559732032986387107991004021392285783925812861821192530917403151452391805634;\n uint256 constant G2y1 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;\n uint256 constant G2y2 = 4082367875863433681332203403145435568316851327593401208105741076214120093531;\n uint16 constant pA = 32;\n uint16 constant pB = 96;\n uint16 constant pC = 160;\n uint16 constant pZ = 224;\n uint16 constant pT1 = 288;\n uint16 constant pT2 = 352;\n uint16 constant pT3 = 416;\n uint16 constant pWxi = 480;\n uint16 constant pWxiw = 544;\n uint16 constant pEval_a = 608;\n uint16 constant pEval_b = 640;\n uint16 constant pEval_c = 672;\n uint16 constant pEval_s1 = 704;\n uint16 constant pEval_s2 = 736;\n uint16 constant pEval_zw = 768;\n uint16 constant pEval_r = 800;\n \n uint16 constant pAlpha = 0;\n uint16 constant pBeta = 32;\n uint16 constant pGamma = 64;\n uint16 constant pXi = 96;\n uint16 constant pXin = 128;\n uint16 constant pBetaXi = 160;\n uint16 constant pV1 = 192;\n uint16 constant pV2 = 224;\n uint16 constant pV3 = 256;\n uint16 constant pV4 = 288;\n uint16 constant pV5 = 320;\n uint16 constant pV6 = 352;\n uint16 constant pU = 384;\n uint16 constant pPl = 416;\n uint16 constant pEval_t = 448;\n uint16 constant pA1 = 480;\n uint16 constant pB1 = 544;\n uint16 constant pZh = 608;\n uint16 constant pZhInv = 640;\n \n uint16 constant pEval_l1 = 672;\n \n \n \n uint16 constant lastMem = 704;\n\n function verifyProof(bytes memory proof, uint[] memory pubSignals) public view returns (bool) {\n assembly {\n /////////\n // Computes the inverse using the extended euclidean algorithm\n /////////\n function inverse(a, q) -> inv {\n let t := 0 \n let newt := 1\n let r := q \n let newr := a\n let quotient\n let aux\n \n for { } newr { } {\n quotient := sdiv(r, newr)\n aux := sub(t, mul(quotient, newt))\n t:= newt\n newt:= aux\n \n aux := sub(r,mul(quotient, newr))\n r := newr\n newr := aux\n }\n \n if gt(r, 1) { revert(0,0) }\n if slt(t, 0) { t:= add(t, q) }\n\n inv := t\n }\n \n ///////\n // Computes the inverse of an array of values\n // See https://vitalik.ca/general/2018/07/21/starks_part_3.html in section where explain fields operations\n //////\n function inverseArray(pVals, n) {\n \n let pAux := mload(0x40) // Point to the next free position\n let pIn := pVals\n let lastPIn := add(pVals, mul(n, 32)) // Read n elemnts\n let acc := mload(pIn) // Read the first element\n pIn := add(pIn, 32) // Point to the second element\n let inv\n \n \n for { } lt(pIn, lastPIn) { \n pAux := add(pAux, 32) \n pIn := add(pIn, 32)\n } \n {\n mstore(pAux, acc)\n acc := mulmod(acc, mload(pIn), q)\n }\n acc := inverse(acc, q)\n \n // At this point pAux pint to the next free position we substract 1 to point to the last used\n pAux := sub(pAux, 32)\n // pIn points to the n+1 element, we substract to point to n\n pIn := sub(pIn, 32)\n lastPIn := pVals // We don't process the first element \n for { } gt(pIn, lastPIn) { \n pAux := sub(pAux, 32) \n pIn := sub(pIn, 32)\n } \n {\n inv := mulmod(acc, mload(pAux), q)\n acc := mulmod(acc, mload(pIn), q)\n mstore(pIn, inv)\n }\n // pIn points to first element, we just set it.\n mstore(pIn, acc)\n }\n \n function checkField(v) {\n if iszero(lt(v, q)) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n \n function checkInput(pProof) {\n if iszero(eq(mload(pProof), 800 )) {\n mstore(0, 0)\n return(0,0x20)\n }\n checkField(mload(add(pProof, pEval_a)))\n checkField(mload(add(pProof, pEval_b)))\n checkField(mload(add(pProof, pEval_c)))\n checkField(mload(add(pProof, pEval_s1)))\n checkField(mload(add(pProof, pEval_s2)))\n checkField(mload(add(pProof, pEval_zw)))\n checkField(mload(add(pProof, pEval_r)))\n\n // Points are checked in the point operations precompiled smart contracts\n }\n \n function calculateChallanges(pProof, pMem, pPublic) {\n \n let a\n let b\n\n \n mstore( add(pMem, 704 ), mload( add( pPublic, 32)))\n \n mstore( add(pMem, 736 ), mload( add( pProof, pA)))\n mstore( add(pMem, 768 ), mload( add( pProof, add(pA,32))))\n mstore( add(pMem, 800 ), mload( add( pProof, add(pA,64))))\n mstore( add(pMem, 832 ), mload( add( pProof, add(pA,96))))\n mstore( add(pMem, 864 ), mload( add( pProof, add(pA,128))))\n mstore( add(pMem, 896 ), mload( add( pProof, add(pA,160))))\n \n b := mod(keccak256(add(pMem, lastMem), 224), q) \n mstore( add(pMem, pBeta), b)\n mstore( add(pMem, pGamma), mod(keccak256(add(pMem, pBeta), 32), q))\n mstore( add(pMem, pAlpha), mod(keccak256(add(pProof, pZ), 64), q))\n \n a := mod(keccak256(add(pProof, pT1), 192), q)\n mstore( add(pMem, pXi), a)\n mstore( add(pMem, pBetaXi), mulmod(b, a, q))\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n mstore( add(pMem, pXin), a)\n a:= mod(add(sub(a, 1),q), q)\n mstore( add(pMem, pZh), a)\n mstore( add(pMem, pZhInv), a) // We will invert later together with lagrange pols\n \n let v1 := mod(keccak256(add(pProof, pEval_a), 224), q)\n mstore( add(pMem, pV1), v1)\n a := mulmod(v1, v1, q)\n mstore( add(pMem, pV2), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV3), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV4), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV5), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV6), a)\n \n mstore( add(pMem, pU), mod(keccak256(add(pProof, pWxi), 128), q))\n }\n \n function calculateLagrange(pMem) {\n\n let w := 1 \n \n mstore(\n add(pMem, pEval_l1), \n mulmod(\n n, \n mod(\n add(\n sub(\n mload(add(pMem, pXi)), \n w\n ), \n q\n ),\n q\n ), \n q\n )\n )\n \n \n \n inverseArray(add(pMem, pZhInv), 2 )\n \n let zh := mload(add(pMem, pZh))\n w := 1\n \n \n mstore(\n add(pMem, pEval_l1 ), \n mulmod(\n mload(add(pMem, pEval_l1 )),\n zh,\n q\n )\n )\n \n \n \n\n\n }\n \n function calculatePl(pMem, pPub) {\n let pl := 0\n \n \n pl := mod(\n add(\n sub(\n pl, \n mulmod(\n mload(add(pMem, pEval_l1)),\n mload(add(pPub, 32)),\n q\n )\n ),\n q\n ),\n q\n )\n \n \n mstore(add(pMem, pPl), pl)\n \n\n }\n\n function calculateT(pProof, pMem) {\n let t\n let t1\n let t2\n t := addmod(\n mload(add(pProof, pEval_r)), \n mload(add(pMem, pPl)), \n q\n )\n \n t1 := mulmod(\n mload(add(pProof, pEval_s1)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t1 := addmod(\n t1,\n mload(add(pProof, pEval_a)),\n q\n )\n \n t1 := addmod(\n t1,\n mload(add(pMem, pGamma)),\n q\n )\n\n t2 := mulmod(\n mload(add(pProof, pEval_s2)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t2 := addmod(\n t2,\n mload(add(pProof, pEval_b)),\n q\n )\n \n t2 := addmod(\n t2,\n mload(add(pMem, pGamma)),\n q\n )\n \n t1 := mulmod(t1, t2, q)\n \n t2 := addmod(\n mload(add(pProof, pEval_c)),\n mload(add(pMem, pGamma)),\n q\n )\n\n t1 := mulmod(t1, t2, q)\n t1 := mulmod(t1, mload(add(pProof, pEval_zw)), q)\n t1 := mulmod(t1, mload(add(pMem, pAlpha)), q)\n \n t2 := mulmod(\n mload(add(pMem, pEval_l1)), \n mload(add(pMem, pAlpha)), \n q\n )\n\n t2 := mulmod(\n t2, \n mload(add(pMem, pAlpha)), \n q\n )\n\n t1 := addmod(t1, t2, q)\n \n t := mod(sub(add(t, q), t1), q)\n t := mulmod(t, mload(add(pMem, pZhInv)), q)\n \n mstore( add(pMem, pEval_t) , t)\n\n }\n \n function g1_set(pR, pP) {\n mstore(pR, mload(pP))\n mstore(add(pR, 32), mload(add(pP,32)))\n }\n\n function g1_acc(pR, pP) {\n let mIn := mload(0x40)\n mstore(mIn, mload(pR))\n mstore(add(mIn,32), mload(add(pR, 32)))\n mstore(add(mIn,64), mload(pP))\n mstore(add(mIn,96), mload(add(pP, 32)))\n\n let success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulAcc(pR, pP, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, mload(pP))\n mstore(add(mIn,32), mload(add(pP, 32)))\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n }\n\n function g1_mulAccC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulSetC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n\n function calculateA1(pProof, pMem) {\n let p := add(pMem, pA1)\n g1_set(p, add(pProof, pWxi))\n g1_mulAcc(p, add(pProof, pWxiw), mload(add(pMem, pU)))\n }\n \n \n function calculateB1(pProof, pMem) {\n let s\n let s1\n let p := add(pMem, pB1)\n \n // Calculate D\n s := mulmod( mload(add(pProof, pEval_a)), mload(add(pMem, pV1)), q)\n g1_mulSetC(p, Qlx, Qly, s)\n\n s := mulmod( s, mload(add(pProof, pEval_b)), q) \n g1_mulAccC(p, Qmx, Qmy, s)\n\n s := mulmod( mload(add(pProof, pEval_b)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qrx, Qry, s)\n \n s := mulmod( mload(add(pProof, pEval_c)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qox, Qoy, s)\n\n s :=mload(add(pMem, pV1))\n g1_mulAccC(p, Qcx, Qcy, s)\n\n s := addmod(mload(add(pProof, pEval_a)), mload(add(pMem, pBetaXi)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(k1, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s1 := mulmod(k2, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_c)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s1 := mulmod(mload(add(pMem, pEval_l1)), mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pV1)), q)\n s := addmod(s, s1, q)\n s := addmod(s, mload(add(pMem, pU)), q)\n g1_mulAcc(p, add(pProof, pZ), s)\n \n s := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s1)), q)\n s := addmod(s, mload(add(pProof, pEval_a)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s2)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s := mulmod(s, mload(add(pMem, pBeta)), q)\n s := mulmod(s, mload(add(pProof, pEval_zw)), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, S3x, S3y, s)\n\n\n // calculate F\n g1_acc(p , add(pProof, pT1))\n\n s := mload(add(pMem, pXin))\n g1_mulAcc(p, add(pProof, pT2), s)\n \n s := mulmod(s, s, q)\n g1_mulAcc(p, add(pProof, pT3), s)\n \n g1_mulAcc(p, add(pProof, pA), mload(add(pMem, pV2)))\n g1_mulAcc(p, add(pProof, pB), mload(add(pMem, pV3)))\n g1_mulAcc(p, add(pProof, pC), mload(add(pMem, pV4)))\n g1_mulAccC(p, S1x, S1y, mload(add(pMem, pV5)))\n g1_mulAccC(p, S2x, S2y, mload(add(pMem, pV6)))\n \n // calculate E\n s := mload(add(pMem, pEval_t))\n s := addmod(s, mulmod(mload(add(pProof, pEval_r)), mload(add(pMem, pV1)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_a)), mload(add(pMem, pV2)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_b)), mload(add(pMem, pV3)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_c)), mload(add(pMem, pV4)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s1)), mload(add(pMem, pV5)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s2)), mload(add(pMem, pV6)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_zw)), mload(add(pMem, pU)), q), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, G1x, G1y, s)\n \n \n // Last part of B\n s := mload(add(pMem, pXi))\n g1_mulAcc(p, add(pProof, pWxi), s)\n\n s := mulmod(mload(add(pMem, pU)), mload(add(pMem, pXi)), q)\n s := mulmod(s, w1, q)\n g1_mulAcc(p, add(pProof, pWxiw), s)\n\n }\n \n function checkPairing(pMem) -> isOk {\n let mIn := mload(0x40)\n mstore(mIn, mload(add(pMem, pA1)))\n mstore(add(mIn,32), mload(add(add(pMem, pA1), 32)))\n mstore(add(mIn,64), X2x2)\n mstore(add(mIn,96), X2x1)\n mstore(add(mIn,128), X2y2)\n mstore(add(mIn,160), X2y1)\n mstore(add(mIn,192), mload(add(pMem, pB1)))\n let s := mload(add(add(pMem, pB1), 32))\n s := mod(sub(qf, s), qf)\n mstore(add(mIn,224), s)\n mstore(add(mIn,256), G2x2)\n mstore(add(mIn,288), G2x1)\n mstore(add(mIn,320), G2y2)\n mstore(add(mIn,352), G2y1)\n \n let success := staticcall(sub(gas(), 2000), 8, mIn, 384, mIn, 0x20)\n \n isOk := and(success, mload(mIn))\n }\n \n let pMem := mload(0x40)\n mstore(0x40, add(pMem, lastMem))\n \n checkInput(proof)\n calculateChallanges(proof, pMem, pubSignals)\n calculateLagrange(pMem)\n calculatePl(pMem, pubSignals)\n calculateT(proof, pMem)\n calculateA1(proof, pMem)\n calculateB1(proof, pMem)\n let isValid := checkPairing(pMem)\n \n mstore(0x40, sub(pMem, lastMem))\n mstore(0, isValid)\n return(0,0x20)\n }\n \n }\n}\n"},"contracts/workstep2Verifier.sol":{"content":"// SPDX-License-Identifier: GPL-3.0\n/*\n Copyright 2021 0KIMS association.\n\n This file is generated with [snarkJS](https://github.com/iden3/snarkjs).\n\n snarkJS is a free software: you can redistribute it and/or modify it\n under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n snarkJS is distributed in the hope that it will be useful, but WITHOUT\n ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public\n License for more details.\n\n You should have received a copy of the GNU General Public License\n along with snarkJS. If not, see .\n*/\n\n\npragma solidity >=0.7.0 <0.9.0;\n\ncontract Workstep2Verifier {\n \n uint32 constant n = 32768;\n uint16 constant nPublic = 1;\n uint16 constant nLagrange = 1;\n \n uint256 constant Qmx = 9031014201334786598437474819333373897984837472962630324851335361844058545780;\n uint256 constant Qmy = 16607210786086921981367283815049778740600968770620223098147538097138430537595;\n uint256 constant Qlx = 6808278280485306759745548891536191162342236099697633650996345740914224220305;\n uint256 constant Qly = 3270170195800647956439730797339220040656917583598598133609260645618986123588;\n uint256 constant Qrx = 6148500901704548782540313024093324774763190834353235759778239054380115761181;\n uint256 constant Qry = 17496928704547418787249113629100332597587390388927992302390890724367334325226;\n uint256 constant Qox = 21659278811951783556483125629272843184764885478213749993598444862278045884755;\n uint256 constant Qoy = 16660597475205619545281468126006239987539267348200340592793952148487504874309;\n uint256 constant Qcx = 5305510349838087338783547875566294471771494030996437605662252026376037082958;\n uint256 constant Qcy = 19377334097772342373923876594211562277705091388899497313132675599004144975313;\n uint256 constant S1x = 13511374588247167997414482771460319777500130147065290737814654512741747616346;\n uint256 constant S1y = 9410442723228155800609023852081630300440285014469359549251506116352343840765;\n uint256 constant S2x = 6234343642032529676304475840139856609542183618893282794848722265839404121608;\n uint256 constant S2y = 198081256679397470117078185378786682134167977767481936106730933658216400205;\n uint256 constant S3x = 15607364487714913306100446210105619358733676078036562302151585058643715232255;\n uint256 constant S3y = 16418203895932101971661510317717759015568131982287223931136504811190200970422;\n uint256 constant k1 = 2;\n uint256 constant k2 = 3;\n uint256 constant X2x1 = 7550171141489642323345496683737244277083256424004707715998483409540040587466;\n uint256 constant X2x2 = 13674327281456600895607819848682159502956608479735975762218411599033981559968;\n uint256 constant X2y1 = 16329427655915944908484974060898761683974646318074639198003187154525254176520;\n uint256 constant X2y2 = 19604631653040203911523494213678188005987622194545572529608835183936569820990;\n \n uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n uint256 constant w1 = 20402931748843538985151001264530049874871572933694634836567070693966133783803; \n \n uint256 constant G1x = 1;\n uint256 constant G1y = 2;\n uint256 constant G2x1 = 10857046999023057135944570762232829481370756359578518086990519993285655852781;\n uint256 constant G2x2 = 11559732032986387107991004021392285783925812861821192530917403151452391805634;\n uint256 constant G2y1 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;\n uint256 constant G2y2 = 4082367875863433681332203403145435568316851327593401208105741076214120093531;\n uint16 constant pA = 32;\n uint16 constant pB = 96;\n uint16 constant pC = 160;\n uint16 constant pZ = 224;\n uint16 constant pT1 = 288;\n uint16 constant pT2 = 352;\n uint16 constant pT3 = 416;\n uint16 constant pWxi = 480;\n uint16 constant pWxiw = 544;\n uint16 constant pEval_a = 608;\n uint16 constant pEval_b = 640;\n uint16 constant pEval_c = 672;\n uint16 constant pEval_s1 = 704;\n uint16 constant pEval_s2 = 736;\n uint16 constant pEval_zw = 768;\n uint16 constant pEval_r = 800;\n \n uint16 constant pAlpha = 0;\n uint16 constant pBeta = 32;\n uint16 constant pGamma = 64;\n uint16 constant pXi = 96;\n uint16 constant pXin = 128;\n uint16 constant pBetaXi = 160;\n uint16 constant pV1 = 192;\n uint16 constant pV2 = 224;\n uint16 constant pV3 = 256;\n uint16 constant pV4 = 288;\n uint16 constant pV5 = 320;\n uint16 constant pV6 = 352;\n uint16 constant pU = 384;\n uint16 constant pPl = 416;\n uint16 constant pEval_t = 448;\n uint16 constant pA1 = 480;\n uint16 constant pB1 = 544;\n uint16 constant pZh = 608;\n uint16 constant pZhInv = 640;\n \n uint16 constant pEval_l1 = 672;\n \n \n \n uint16 constant lastMem = 704;\n\n function verifyProof(bytes memory proof, uint[] memory pubSignals) public view returns (bool) {\n assembly {\n /////////\n // Computes the inverse using the extended euclidean algorithm\n /////////\n function inverse(a, q) -> inv {\n let t := 0 \n let newt := 1\n let r := q \n let newr := a\n let quotient\n let aux\n \n for { } newr { } {\n quotient := sdiv(r, newr)\n aux := sub(t, mul(quotient, newt))\n t:= newt\n newt:= aux\n \n aux := sub(r,mul(quotient, newr))\n r := newr\n newr := aux\n }\n \n if gt(r, 1) { revert(0,0) }\n if slt(t, 0) { t:= add(t, q) }\n\n inv := t\n }\n \n ///////\n // Computes the inverse of an array of values\n // See https://vitalik.ca/general/2018/07/21/starks_part_3.html in section where explain fields operations\n //////\n function inverseArray(pVals, n) {\n \n let pAux := mload(0x40) // Point to the next free position\n let pIn := pVals\n let lastPIn := add(pVals, mul(n, 32)) // Read n elemnts\n let acc := mload(pIn) // Read the first element\n pIn := add(pIn, 32) // Point to the second element\n let inv\n \n \n for { } lt(pIn, lastPIn) { \n pAux := add(pAux, 32) \n pIn := add(pIn, 32)\n } \n {\n mstore(pAux, acc)\n acc := mulmod(acc, mload(pIn), q)\n }\n acc := inverse(acc, q)\n \n // At this point pAux pint to the next free position we substract 1 to point to the last used\n pAux := sub(pAux, 32)\n // pIn points to the n+1 element, we substract to point to n\n pIn := sub(pIn, 32)\n lastPIn := pVals // We don't process the first element \n for { } gt(pIn, lastPIn) { \n pAux := sub(pAux, 32) \n pIn := sub(pIn, 32)\n } \n {\n inv := mulmod(acc, mload(pAux), q)\n acc := mulmod(acc, mload(pIn), q)\n mstore(pIn, inv)\n }\n // pIn points to first element, we just set it.\n mstore(pIn, acc)\n }\n \n function checkField(v) {\n if iszero(lt(v, q)) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n \n function checkInput(pProof) {\n if iszero(eq(mload(pProof), 800 )) {\n mstore(0, 0)\n return(0,0x20)\n }\n checkField(mload(add(pProof, pEval_a)))\n checkField(mload(add(pProof, pEval_b)))\n checkField(mload(add(pProof, pEval_c)))\n checkField(mload(add(pProof, pEval_s1)))\n checkField(mload(add(pProof, pEval_s2)))\n checkField(mload(add(pProof, pEval_zw)))\n checkField(mload(add(pProof, pEval_r)))\n\n // Points are checked in the point operations precompiled smart contracts\n }\n \n function calculateChallanges(pProof, pMem, pPublic) {\n \n let a\n let b\n\n \n mstore( add(pMem, 704 ), mload( add( pPublic, 32)))\n \n mstore( add(pMem, 736 ), mload( add( pProof, pA)))\n mstore( add(pMem, 768 ), mload( add( pProof, add(pA,32))))\n mstore( add(pMem, 800 ), mload( add( pProof, add(pA,64))))\n mstore( add(pMem, 832 ), mload( add( pProof, add(pA,96))))\n mstore( add(pMem, 864 ), mload( add( pProof, add(pA,128))))\n mstore( add(pMem, 896 ), mload( add( pProof, add(pA,160))))\n \n b := mod(keccak256(add(pMem, lastMem), 224), q) \n mstore( add(pMem, pBeta), b)\n mstore( add(pMem, pGamma), mod(keccak256(add(pMem, pBeta), 32), q))\n mstore( add(pMem, pAlpha), mod(keccak256(add(pProof, pZ), 64), q))\n \n a := mod(keccak256(add(pProof, pT1), 192), q)\n mstore( add(pMem, pXi), a)\n mstore( add(pMem, pBetaXi), mulmod(b, a, q))\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n mstore( add(pMem, pXin), a)\n a:= mod(add(sub(a, 1),q), q)\n mstore( add(pMem, pZh), a)\n mstore( add(pMem, pZhInv), a) // We will invert later together with lagrange pols\n \n let v1 := mod(keccak256(add(pProof, pEval_a), 224), q)\n mstore( add(pMem, pV1), v1)\n a := mulmod(v1, v1, q)\n mstore( add(pMem, pV2), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV3), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV4), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV5), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV6), a)\n \n mstore( add(pMem, pU), mod(keccak256(add(pProof, pWxi), 128), q))\n }\n \n function calculateLagrange(pMem) {\n\n let w := 1 \n \n mstore(\n add(pMem, pEval_l1), \n mulmod(\n n, \n mod(\n add(\n sub(\n mload(add(pMem, pXi)), \n w\n ), \n q\n ),\n q\n ), \n q\n )\n )\n \n \n \n inverseArray(add(pMem, pZhInv), 2 )\n \n let zh := mload(add(pMem, pZh))\n w := 1\n \n \n mstore(\n add(pMem, pEval_l1 ), \n mulmod(\n mload(add(pMem, pEval_l1 )),\n zh,\n q\n )\n )\n \n \n \n\n\n }\n \n function calculatePl(pMem, pPub) {\n let pl := 0\n \n \n pl := mod(\n add(\n sub(\n pl, \n mulmod(\n mload(add(pMem, pEval_l1)),\n mload(add(pPub, 32)),\n q\n )\n ),\n q\n ),\n q\n )\n \n \n mstore(add(pMem, pPl), pl)\n \n\n }\n\n function calculateT(pProof, pMem) {\n let t\n let t1\n let t2\n t := addmod(\n mload(add(pProof, pEval_r)), \n mload(add(pMem, pPl)), \n q\n )\n \n t1 := mulmod(\n mload(add(pProof, pEval_s1)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t1 := addmod(\n t1,\n mload(add(pProof, pEval_a)),\n q\n )\n \n t1 := addmod(\n t1,\n mload(add(pMem, pGamma)),\n q\n )\n\n t2 := mulmod(\n mload(add(pProof, pEval_s2)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t2 := addmod(\n t2,\n mload(add(pProof, pEval_b)),\n q\n )\n \n t2 := addmod(\n t2,\n mload(add(pMem, pGamma)),\n q\n )\n \n t1 := mulmod(t1, t2, q)\n \n t2 := addmod(\n mload(add(pProof, pEval_c)),\n mload(add(pMem, pGamma)),\n q\n )\n\n t1 := mulmod(t1, t2, q)\n t1 := mulmod(t1, mload(add(pProof, pEval_zw)), q)\n t1 := mulmod(t1, mload(add(pMem, pAlpha)), q)\n \n t2 := mulmod(\n mload(add(pMem, pEval_l1)), \n mload(add(pMem, pAlpha)), \n q\n )\n\n t2 := mulmod(\n t2, \n mload(add(pMem, pAlpha)), \n q\n )\n\n t1 := addmod(t1, t2, q)\n \n t := mod(sub(add(t, q), t1), q)\n t := mulmod(t, mload(add(pMem, pZhInv)), q)\n \n mstore( add(pMem, pEval_t) , t)\n\n }\n \n function g1_set(pR, pP) {\n mstore(pR, mload(pP))\n mstore(add(pR, 32), mload(add(pP,32)))\n }\n\n function g1_acc(pR, pP) {\n let mIn := mload(0x40)\n mstore(mIn, mload(pR))\n mstore(add(mIn,32), mload(add(pR, 32)))\n mstore(add(mIn,64), mload(pP))\n mstore(add(mIn,96), mload(add(pP, 32)))\n\n let success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulAcc(pR, pP, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, mload(pP))\n mstore(add(mIn,32), mload(add(pP, 32)))\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n }\n\n function g1_mulAccC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulSetC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n\n function calculateA1(pProof, pMem) {\n let p := add(pMem, pA1)\n g1_set(p, add(pProof, pWxi))\n g1_mulAcc(p, add(pProof, pWxiw), mload(add(pMem, pU)))\n }\n \n \n function calculateB1(pProof, pMem) {\n let s\n let s1\n let p := add(pMem, pB1)\n \n // Calculate D\n s := mulmod( mload(add(pProof, pEval_a)), mload(add(pMem, pV1)), q)\n g1_mulSetC(p, Qlx, Qly, s)\n\n s := mulmod( s, mload(add(pProof, pEval_b)), q) \n g1_mulAccC(p, Qmx, Qmy, s)\n\n s := mulmod( mload(add(pProof, pEval_b)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qrx, Qry, s)\n \n s := mulmod( mload(add(pProof, pEval_c)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qox, Qoy, s)\n\n s :=mload(add(pMem, pV1))\n g1_mulAccC(p, Qcx, Qcy, s)\n\n s := addmod(mload(add(pProof, pEval_a)), mload(add(pMem, pBetaXi)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(k1, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s1 := mulmod(k2, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_c)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s1 := mulmod(mload(add(pMem, pEval_l1)), mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pV1)), q)\n s := addmod(s, s1, q)\n s := addmod(s, mload(add(pMem, pU)), q)\n g1_mulAcc(p, add(pProof, pZ), s)\n \n s := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s1)), q)\n s := addmod(s, mload(add(pProof, pEval_a)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s2)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s := mulmod(s, mload(add(pMem, pBeta)), q)\n s := mulmod(s, mload(add(pProof, pEval_zw)), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, S3x, S3y, s)\n\n\n // calculate F\n g1_acc(p , add(pProof, pT1))\n\n s := mload(add(pMem, pXin))\n g1_mulAcc(p, add(pProof, pT2), s)\n \n s := mulmod(s, s, q)\n g1_mulAcc(p, add(pProof, pT3), s)\n \n g1_mulAcc(p, add(pProof, pA), mload(add(pMem, pV2)))\n g1_mulAcc(p, add(pProof, pB), mload(add(pMem, pV3)))\n g1_mulAcc(p, add(pProof, pC), mload(add(pMem, pV4)))\n g1_mulAccC(p, S1x, S1y, mload(add(pMem, pV5)))\n g1_mulAccC(p, S2x, S2y, mload(add(pMem, pV6)))\n \n // calculate E\n s := mload(add(pMem, pEval_t))\n s := addmod(s, mulmod(mload(add(pProof, pEval_r)), mload(add(pMem, pV1)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_a)), mload(add(pMem, pV2)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_b)), mload(add(pMem, pV3)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_c)), mload(add(pMem, pV4)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s1)), mload(add(pMem, pV5)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s2)), mload(add(pMem, pV6)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_zw)), mload(add(pMem, pU)), q), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, G1x, G1y, s)\n \n \n // Last part of B\n s := mload(add(pMem, pXi))\n g1_mulAcc(p, add(pProof, pWxi), s)\n\n s := mulmod(mload(add(pMem, pU)), mload(add(pMem, pXi)), q)\n s := mulmod(s, w1, q)\n g1_mulAcc(p, add(pProof, pWxiw), s)\n\n }\n \n function checkPairing(pMem) -> isOk {\n let mIn := mload(0x40)\n mstore(mIn, mload(add(pMem, pA1)))\n mstore(add(mIn,32), mload(add(add(pMem, pA1), 32)))\n mstore(add(mIn,64), X2x2)\n mstore(add(mIn,96), X2x1)\n mstore(add(mIn,128), X2y2)\n mstore(add(mIn,160), X2y1)\n mstore(add(mIn,192), mload(add(pMem, pB1)))\n let s := mload(add(add(pMem, pB1), 32))\n s := mod(sub(qf, s), qf)\n mstore(add(mIn,224), s)\n mstore(add(mIn,256), G2x2)\n mstore(add(mIn,288), G2x1)\n mstore(add(mIn,320), G2y2)\n mstore(add(mIn,352), G2y1)\n \n let success := staticcall(sub(gas(), 2000), 8, mIn, 384, mIn, 0x20)\n \n isOk := and(success, mload(mIn))\n }\n \n let pMem := mload(0x40)\n mstore(0x40, add(pMem, lastMem))\n \n checkInput(proof)\n calculateChallanges(proof, pMem, pubSignals)\n calculateLagrange(pMem)\n calculatePl(pMem, pubSignals)\n calculateT(proof, pMem)\n calculateA1(proof, pMem)\n calculateB1(proof, pMem)\n let isValid := checkPairing(pMem)\n \n mstore(0x40, sub(pMem, lastMem))\n mstore(0, isValid)\n return(0,0x20)\n }\n \n }\n}\n"},"contracts/workstep3Verifier.sol":{"content":"// SPDX-License-Identifier: GPL-3.0\n/*\n Copyright 2021 0KIMS association.\n\n This file is generated with [snarkJS](https://github.com/iden3/snarkjs).\n\n snarkJS is a free software: you can redistribute it and/or modify it\n under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n snarkJS is distributed in the hope that it will be useful, but WITHOUT\n ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public\n License for more details.\n\n You should have received a copy of the GNU General Public License\n along with snarkJS. If not, see .\n*/\n\n\npragma solidity >=0.7.0 <0.9.0;\n\ncontract Workstep3Verifier {\n \n uint32 constant n = 32768;\n uint16 constant nPublic = 1;\n uint16 constant nLagrange = 1;\n \n uint256 constant Qmx = 9031014201334786598437474819333373897984837472962630324851335361844058545780;\n uint256 constant Qmy = 16607210786086921981367283815049778740600968770620223098147538097138430537595;\n uint256 constant Qlx = 6808278280485306759745548891536191162342236099697633650996345740914224220305;\n uint256 constant Qly = 3270170195800647956439730797339220040656917583598598133609260645618986123588;\n uint256 constant Qrx = 19867659962940379415833721956196885812592831298524381980555731113220022045761;\n uint256 constant Qry = 5839482012031765332886537848770371473868238809091147323904600653094947875345;\n uint256 constant Qox = 21659278811951783556483125629272843184764885478213749993598444862278045884755;\n uint256 constant Qoy = 16660597475205619545281468126006239987539267348200340592793952148487504874309;\n uint256 constant Qcx = 5305510349838087338783547875566294471771494030996437605662252026376037082958;\n uint256 constant Qcy = 19377334097772342373923876594211562277705091388899497313132675599004144975313;\n uint256 constant S1x = 13511374588247167997414482771460319777500130147065290737814654512741747616346;\n uint256 constant S1y = 9410442723228155800609023852081630300440285014469359549251506116352343840765;\n uint256 constant S2x = 6234343642032529676304475840139856609542183618893282794848722265839404121608;\n uint256 constant S2y = 198081256679397470117078185378786682134167977767481936106730933658216400205;\n uint256 constant S3x = 15607364487714913306100446210105619358733676078036562302151585058643715232255;\n uint256 constant S3y = 16418203895932101971661510317717759015568131982287223931136504811190200970422;\n uint256 constant k1 = 2;\n uint256 constant k2 = 3;\n uint256 constant X2x1 = 7550171141489642323345496683737244277083256424004707715998483409540040587466;\n uint256 constant X2x2 = 13674327281456600895607819848682159502956608479735975762218411599033981559968;\n uint256 constant X2y1 = 16329427655915944908484974060898761683974646318074639198003187154525254176520;\n uint256 constant X2y2 = 19604631653040203911523494213678188005987622194545572529608835183936569820990;\n \n uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n uint256 constant w1 = 20402931748843538985151001264530049874871572933694634836567070693966133783803; \n \n uint256 constant G1x = 1;\n uint256 constant G1y = 2;\n uint256 constant G2x1 = 10857046999023057135944570762232829481370756359578518086990519993285655852781;\n uint256 constant G2x2 = 11559732032986387107991004021392285783925812861821192530917403151452391805634;\n uint256 constant G2y1 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;\n uint256 constant G2y2 = 4082367875863433681332203403145435568316851327593401208105741076214120093531;\n uint16 constant pA = 32;\n uint16 constant pB = 96;\n uint16 constant pC = 160;\n uint16 constant pZ = 224;\n uint16 constant pT1 = 288;\n uint16 constant pT2 = 352;\n uint16 constant pT3 = 416;\n uint16 constant pWxi = 480;\n uint16 constant pWxiw = 544;\n uint16 constant pEval_a = 608;\n uint16 constant pEval_b = 640;\n uint16 constant pEval_c = 672;\n uint16 constant pEval_s1 = 704;\n uint16 constant pEval_s2 = 736;\n uint16 constant pEval_zw = 768;\n uint16 constant pEval_r = 800;\n \n uint16 constant pAlpha = 0;\n uint16 constant pBeta = 32;\n uint16 constant pGamma = 64;\n uint16 constant pXi = 96;\n uint16 constant pXin = 128;\n uint16 constant pBetaXi = 160;\n uint16 constant pV1 = 192;\n uint16 constant pV2 = 224;\n uint16 constant pV3 = 256;\n uint16 constant pV4 = 288;\n uint16 constant pV5 = 320;\n uint16 constant pV6 = 352;\n uint16 constant pU = 384;\n uint16 constant pPl = 416;\n uint16 constant pEval_t = 448;\n uint16 constant pA1 = 480;\n uint16 constant pB1 = 544;\n uint16 constant pZh = 608;\n uint16 constant pZhInv = 640;\n \n uint16 constant pEval_l1 = 672;\n \n \n \n uint16 constant lastMem = 704;\n\n function verifyProof(bytes memory proof, uint[] memory pubSignals) public view returns (bool) {\n assembly {\n /////////\n // Computes the inverse using the extended euclidean algorithm\n /////////\n function inverse(a, q) -> inv {\n let t := 0 \n let newt := 1\n let r := q \n let newr := a\n let quotient\n let aux\n \n for { } newr { } {\n quotient := sdiv(r, newr)\n aux := sub(t, mul(quotient, newt))\n t:= newt\n newt:= aux\n \n aux := sub(r,mul(quotient, newr))\n r := newr\n newr := aux\n }\n \n if gt(r, 1) { revert(0,0) }\n if slt(t, 0) { t:= add(t, q) }\n\n inv := t\n }\n \n ///////\n // Computes the inverse of an array of values\n // See https://vitalik.ca/general/2018/07/21/starks_part_3.html in section where explain fields operations\n //////\n function inverseArray(pVals, n) {\n \n let pAux := mload(0x40) // Point to the next free position\n let pIn := pVals\n let lastPIn := add(pVals, mul(n, 32)) // Read n elemnts\n let acc := mload(pIn) // Read the first element\n pIn := add(pIn, 32) // Point to the second element\n let inv\n \n \n for { } lt(pIn, lastPIn) { \n pAux := add(pAux, 32) \n pIn := add(pIn, 32)\n } \n {\n mstore(pAux, acc)\n acc := mulmod(acc, mload(pIn), q)\n }\n acc := inverse(acc, q)\n \n // At this point pAux pint to the next free position we substract 1 to point to the last used\n pAux := sub(pAux, 32)\n // pIn points to the n+1 element, we substract to point to n\n pIn := sub(pIn, 32)\n lastPIn := pVals // We don't process the first element \n for { } gt(pIn, lastPIn) { \n pAux := sub(pAux, 32) \n pIn := sub(pIn, 32)\n } \n {\n inv := mulmod(acc, mload(pAux), q)\n acc := mulmod(acc, mload(pIn), q)\n mstore(pIn, inv)\n }\n // pIn points to first element, we just set it.\n mstore(pIn, acc)\n }\n \n function checkField(v) {\n if iszero(lt(v, q)) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n \n function checkInput(pProof) {\n if iszero(eq(mload(pProof), 800 )) {\n mstore(0, 0)\n return(0,0x20)\n }\n checkField(mload(add(pProof, pEval_a)))\n checkField(mload(add(pProof, pEval_b)))\n checkField(mload(add(pProof, pEval_c)))\n checkField(mload(add(pProof, pEval_s1)))\n checkField(mload(add(pProof, pEval_s2)))\n checkField(mload(add(pProof, pEval_zw)))\n checkField(mload(add(pProof, pEval_r)))\n\n // Points are checked in the point operations precompiled smart contracts\n }\n \n function calculateChallanges(pProof, pMem, pPublic) {\n \n let a\n let b\n\n \n mstore( add(pMem, 704 ), mload( add( pPublic, 32)))\n \n mstore( add(pMem, 736 ), mload( add( pProof, pA)))\n mstore( add(pMem, 768 ), mload( add( pProof, add(pA,32))))\n mstore( add(pMem, 800 ), mload( add( pProof, add(pA,64))))\n mstore( add(pMem, 832 ), mload( add( pProof, add(pA,96))))\n mstore( add(pMem, 864 ), mload( add( pProof, add(pA,128))))\n mstore( add(pMem, 896 ), mload( add( pProof, add(pA,160))))\n \n b := mod(keccak256(add(pMem, lastMem), 224), q) \n mstore( add(pMem, pBeta), b)\n mstore( add(pMem, pGamma), mod(keccak256(add(pMem, pBeta), 32), q))\n mstore( add(pMem, pAlpha), mod(keccak256(add(pProof, pZ), 64), q))\n \n a := mod(keccak256(add(pProof, pT1), 192), q)\n mstore( add(pMem, pXi), a)\n mstore( add(pMem, pBetaXi), mulmod(b, a, q))\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n mstore( add(pMem, pXin), a)\n a:= mod(add(sub(a, 1),q), q)\n mstore( add(pMem, pZh), a)\n mstore( add(pMem, pZhInv), a) // We will invert later together with lagrange pols\n \n let v1 := mod(keccak256(add(pProof, pEval_a), 224), q)\n mstore( add(pMem, pV1), v1)\n a := mulmod(v1, v1, q)\n mstore( add(pMem, pV2), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV3), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV4), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV5), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV6), a)\n \n mstore( add(pMem, pU), mod(keccak256(add(pProof, pWxi), 128), q))\n }\n \n function calculateLagrange(pMem) {\n\n let w := 1 \n \n mstore(\n add(pMem, pEval_l1), \n mulmod(\n n, \n mod(\n add(\n sub(\n mload(add(pMem, pXi)), \n w\n ), \n q\n ),\n q\n ), \n q\n )\n )\n \n \n \n inverseArray(add(pMem, pZhInv), 2 )\n \n let zh := mload(add(pMem, pZh))\n w := 1\n \n \n mstore(\n add(pMem, pEval_l1 ), \n mulmod(\n mload(add(pMem, pEval_l1 )),\n zh,\n q\n )\n )\n \n \n \n\n\n }\n \n function calculatePl(pMem, pPub) {\n let pl := 0\n \n \n pl := mod(\n add(\n sub(\n pl, \n mulmod(\n mload(add(pMem, pEval_l1)),\n mload(add(pPub, 32)),\n q\n )\n ),\n q\n ),\n q\n )\n \n \n mstore(add(pMem, pPl), pl)\n \n\n }\n\n function calculateT(pProof, pMem) {\n let t\n let t1\n let t2\n t := addmod(\n mload(add(pProof, pEval_r)), \n mload(add(pMem, pPl)), \n q\n )\n \n t1 := mulmod(\n mload(add(pProof, pEval_s1)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t1 := addmod(\n t1,\n mload(add(pProof, pEval_a)),\n q\n )\n \n t1 := addmod(\n t1,\n mload(add(pMem, pGamma)),\n q\n )\n\n t2 := mulmod(\n mload(add(pProof, pEval_s2)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t2 := addmod(\n t2,\n mload(add(pProof, pEval_b)),\n q\n )\n \n t2 := addmod(\n t2,\n mload(add(pMem, pGamma)),\n q\n )\n \n t1 := mulmod(t1, t2, q)\n \n t2 := addmod(\n mload(add(pProof, pEval_c)),\n mload(add(pMem, pGamma)),\n q\n )\n\n t1 := mulmod(t1, t2, q)\n t1 := mulmod(t1, mload(add(pProof, pEval_zw)), q)\n t1 := mulmod(t1, mload(add(pMem, pAlpha)), q)\n \n t2 := mulmod(\n mload(add(pMem, pEval_l1)), \n mload(add(pMem, pAlpha)), \n q\n )\n\n t2 := mulmod(\n t2, \n mload(add(pMem, pAlpha)), \n q\n )\n\n t1 := addmod(t1, t2, q)\n \n t := mod(sub(add(t, q), t1), q)\n t := mulmod(t, mload(add(pMem, pZhInv)), q)\n \n mstore( add(pMem, pEval_t) , t)\n\n }\n \n function g1_set(pR, pP) {\n mstore(pR, mload(pP))\n mstore(add(pR, 32), mload(add(pP,32)))\n }\n\n function g1_acc(pR, pP) {\n let mIn := mload(0x40)\n mstore(mIn, mload(pR))\n mstore(add(mIn,32), mload(add(pR, 32)))\n mstore(add(mIn,64), mload(pP))\n mstore(add(mIn,96), mload(add(pP, 32)))\n\n let success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulAcc(pR, pP, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, mload(pP))\n mstore(add(mIn,32), mload(add(pP, 32)))\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n }\n\n function g1_mulAccC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulSetC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n\n function calculateA1(pProof, pMem) {\n let p := add(pMem, pA1)\n g1_set(p, add(pProof, pWxi))\n g1_mulAcc(p, add(pProof, pWxiw), mload(add(pMem, pU)))\n }\n \n \n function calculateB1(pProof, pMem) {\n let s\n let s1\n let p := add(pMem, pB1)\n \n // Calculate D\n s := mulmod( mload(add(pProof, pEval_a)), mload(add(pMem, pV1)), q)\n g1_mulSetC(p, Qlx, Qly, s)\n\n s := mulmod( s, mload(add(pProof, pEval_b)), q) \n g1_mulAccC(p, Qmx, Qmy, s)\n\n s := mulmod( mload(add(pProof, pEval_b)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qrx, Qry, s)\n \n s := mulmod( mload(add(pProof, pEval_c)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qox, Qoy, s)\n\n s :=mload(add(pMem, pV1))\n g1_mulAccC(p, Qcx, Qcy, s)\n\n s := addmod(mload(add(pProof, pEval_a)), mload(add(pMem, pBetaXi)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(k1, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s1 := mulmod(k2, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_c)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s1 := mulmod(mload(add(pMem, pEval_l1)), mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pV1)), q)\n s := addmod(s, s1, q)\n s := addmod(s, mload(add(pMem, pU)), q)\n g1_mulAcc(p, add(pProof, pZ), s)\n \n s := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s1)), q)\n s := addmod(s, mload(add(pProof, pEval_a)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s2)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s := mulmod(s, mload(add(pMem, pBeta)), q)\n s := mulmod(s, mload(add(pProof, pEval_zw)), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, S3x, S3y, s)\n\n\n // calculate F\n g1_acc(p , add(pProof, pT1))\n\n s := mload(add(pMem, pXin))\n g1_mulAcc(p, add(pProof, pT2), s)\n \n s := mulmod(s, s, q)\n g1_mulAcc(p, add(pProof, pT3), s)\n \n g1_mulAcc(p, add(pProof, pA), mload(add(pMem, pV2)))\n g1_mulAcc(p, add(pProof, pB), mload(add(pMem, pV3)))\n g1_mulAcc(p, add(pProof, pC), mload(add(pMem, pV4)))\n g1_mulAccC(p, S1x, S1y, mload(add(pMem, pV5)))\n g1_mulAccC(p, S2x, S2y, mload(add(pMem, pV6)))\n \n // calculate E\n s := mload(add(pMem, pEval_t))\n s := addmod(s, mulmod(mload(add(pProof, pEval_r)), mload(add(pMem, pV1)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_a)), mload(add(pMem, pV2)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_b)), mload(add(pMem, pV3)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_c)), mload(add(pMem, pV4)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s1)), mload(add(pMem, pV5)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s2)), mload(add(pMem, pV6)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_zw)), mload(add(pMem, pU)), q), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, G1x, G1y, s)\n \n \n // Last part of B\n s := mload(add(pMem, pXi))\n g1_mulAcc(p, add(pProof, pWxi), s)\n\n s := mulmod(mload(add(pMem, pU)), mload(add(pMem, pXi)), q)\n s := mulmod(s, w1, q)\n g1_mulAcc(p, add(pProof, pWxiw), s)\n\n }\n \n function checkPairing(pMem) -> isOk {\n let mIn := mload(0x40)\n mstore(mIn, mload(add(pMem, pA1)))\n mstore(add(mIn,32), mload(add(add(pMem, pA1), 32)))\n mstore(add(mIn,64), X2x2)\n mstore(add(mIn,96), X2x1)\n mstore(add(mIn,128), X2y2)\n mstore(add(mIn,160), X2y1)\n mstore(add(mIn,192), mload(add(pMem, pB1)))\n let s := mload(add(add(pMem, pB1), 32))\n s := mod(sub(qf, s), qf)\n mstore(add(mIn,224), s)\n mstore(add(mIn,256), G2x2)\n mstore(add(mIn,288), G2x1)\n mstore(add(mIn,320), G2y2)\n mstore(add(mIn,352), G2y1)\n \n let success := staticcall(sub(gas(), 2000), 8, mIn, 384, mIn, 0x20)\n \n isOk := and(success, mload(mIn))\n }\n \n let pMem := mload(0x40)\n mstore(0x40, add(pMem, lastMem))\n \n checkInput(proof)\n calculateChallanges(proof, pMem, pubSignals)\n calculateLagrange(pMem)\n calculatePl(pMem, pubSignals)\n calculateT(proof, pMem)\n calculateA1(proof, pMem)\n calculateB1(proof, pMem)\n let isValid := checkPairing(pMem)\n \n mstore(0x40, sub(pMem, lastMem))\n mstore(0, isValid)\n return(0,0x20)\n }\n \n }\n}\n"}},"settings":{"evmVersion":"paris","optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/workstep1Verifier.sol":{"ast":{"absolutePath":"contracts/workstep1Verifier.sol","exportedSymbols":{"Workstep1Verifier":[227]},"id":228,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"799:31:0"},{"abstract":false,"baseContracts":[],"canonicalName":"Workstep1Verifier","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":227,"linearizedBaseContracts":[227],"name":"Workstep1Verifier","nameLocation":"841:17:0","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":4,"mutability":"constant","name":"n","nameLocation":"886:1:0","nodeType":"VariableDeclaration","scope":227,"src":"870:27:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":2,"name":"uint32","nodeType":"ElementaryTypeName","src":"870:6:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"value":{"hexValue":"3332373638","id":3,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"892:5:0","typeDescriptions":{"typeIdentifier":"t_rational_32768_by_1","typeString":"int_const 32768"},"value":"32768"},"visibility":"internal"},{"constant":true,"id":7,"mutability":"constant","name":"nPublic","nameLocation":"919:7:0","nodeType":"VariableDeclaration","scope":227,"src":"903:28:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":5,"name":"uint16","nodeType":"ElementaryTypeName","src":"903:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":6,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"930:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":10,"mutability":"constant","name":"nLagrange","nameLocation":"953:9:0","nodeType":"VariableDeclaration","scope":227,"src":"937:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":8,"name":"uint16","nodeType":"ElementaryTypeName","src":"937:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":9,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"965:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":13,"mutability":"constant","name":"Qmx","nameLocation":"994:3:0","nodeType":"VariableDeclaration","scope":227,"src":"977:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11,"name":"uint256","nodeType":"ElementaryTypeName","src":"977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130313934353135393730353939363535313039323832393131353833353239353635383439333830313133313935393332333537313731393237383730383031383236313337333037373734","id":12,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1000:77:0","typeDescriptions":{"typeIdentifier":"t_rational_10194515970599655109282911583529565849380113195932357171927870801826137307774_by_1","typeString":"int_const 1019...(69 digits omitted)...7774"},"value":"10194515970599655109282911583529565849380113195932357171927870801826137307774"},"visibility":"internal"},{"constant":true,"id":16,"mutability":"constant","name":"Qmy","nameLocation":"1100:3:0","nodeType":"VariableDeclaration","scope":227,"src":"1083:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14,"name":"uint256","nodeType":"ElementaryTypeName","src":"1083:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133313430393430303131343433343930393431323232313030373032383835323331333336393333303138303033303530313333373533363639333339373835343130393439373839333138","id":15,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1106:77:0","typeDescriptions":{"typeIdentifier":"t_rational_13140940011443490941222100702885231336933018003050133753669339785410949789318_by_1","typeString":"int_const 1314...(69 digits omitted)...9318"},"value":"13140940011443490941222100702885231336933018003050133753669339785410949789318"},"visibility":"internal"},{"constant":true,"id":19,"mutability":"constant","name":"Qlx","nameLocation":"1206:3:0","nodeType":"VariableDeclaration","scope":227,"src":"1189:99:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17,"name":"uint256","nodeType":"ElementaryTypeName","src":"1189:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39303735373032383231373932353034383336333435313039303331363039313231363536333336343632333733383735323533353737353636383831313937393036303335363534373736","id":18,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1212:76:0","typeDescriptions":{"typeIdentifier":"t_rational_9075702821792504836345109031609121656336462373875253577566881197906035654776_by_1","typeString":"int_const 9075...(68 digits omitted)...4776"},"value":"9075702821792504836345109031609121656336462373875253577566881197906035654776"},"visibility":"internal"},{"constant":true,"id":22,"mutability":"constant","name":"Qly","nameLocation":"1311:3:0","nodeType":"VariableDeclaration","scope":227,"src":"1294:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20,"name":"uint256","nodeType":"ElementaryTypeName","src":"1294:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3138393534303337313939373036383039393138303738393738353639363034303336323731373139303931323231333231353232353135323830393936343534363836393539363334363637","id":21,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1317:77:0","typeDescriptions":{"typeIdentifier":"t_rational_18954037199706809918078978569604036271719091221321522515280996454686959634667_by_1","typeString":"int_const 1895...(69 digits omitted)...4667"},"value":"18954037199706809918078978569604036271719091221321522515280996454686959634667"},"visibility":"internal"},{"constant":true,"id":25,"mutability":"constant","name":"Qrx","nameLocation":"1417:3:0","nodeType":"VariableDeclaration","scope":227,"src":"1400:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23,"name":"uint256","nodeType":"ElementaryTypeName","src":"1400:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3134313235373339373534393539343235313132393531343438353635303233303637303733323732333536343733383537333837313934383638313436373533313339333431373337343831","id":24,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1423:77:0","typeDescriptions":{"typeIdentifier":"t_rational_14125739754959425112951448565023067073272356473857387194868146753139341737481_by_1","typeString":"int_const 1412...(69 digits omitted)...7481"},"value":"14125739754959425112951448565023067073272356473857387194868146753139341737481"},"visibility":"internal"},{"constant":true,"id":28,"mutability":"constant","name":"Qry","nameLocation":"1523:3:0","nodeType":"VariableDeclaration","scope":227,"src":"1506:99:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26,"name":"uint256","nodeType":"ElementaryTypeName","src":"1506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39323131383034383032383738343532323539363637303234383737383339333233343137343933383130303234343132323934373538353136393734303336393739333038313336393139","id":27,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1529:76:0","typeDescriptions":{"typeIdentifier":"t_rational_9211804802878452259667024877839323417493810024412294758516974036979308136919_by_1","typeString":"int_const 9211...(68 digits omitted)...6919"},"value":"9211804802878452259667024877839323417493810024412294758516974036979308136919"},"visibility":"internal"},{"constant":true,"id":31,"mutability":"constant","name":"Qox","nameLocation":"1628:3:0","nodeType":"VariableDeclaration","scope":227,"src":"1611:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29,"name":"uint256","nodeType":"ElementaryTypeName","src":"1611:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133333532353933323635383332333532363938333932333334393031373139353930323136303833363532353530353130373635323831373739303936383930373932303836313135313438","id":30,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1634:77:0","typeDescriptions":{"typeIdentifier":"t_rational_13352593265832352698392334901719590216083652550510765281779096890792086115148_by_1","typeString":"int_const 1335...(69 digits omitted)...5148"},"value":"13352593265832352698392334901719590216083652550510765281779096890792086115148"},"visibility":"internal"},{"constant":true,"id":34,"mutability":"constant","name":"Qoy","nameLocation":"1734:3:0","nodeType":"VariableDeclaration","scope":227,"src":"1717:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32,"name":"uint256","nodeType":"ElementaryTypeName","src":"1717:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231313731323132323436393939323734383238323333373631323738363139343836333930303833323637353639323537343237393331343136303230373438323839353937373339393232","id":33,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1740:77:0","typeDescriptions":{"typeIdentifier":"t_rational_21171212246999274828233761278619486390083267569257427931416020748289597739922_by_1","typeString":"int_const 2117...(69 digits omitted)...9922"},"value":"21171212246999274828233761278619486390083267569257427931416020748289597739922"},"visibility":"internal"},{"constant":true,"id":37,"mutability":"constant","name":"Qcx","nameLocation":"1840:3:0","nodeType":"VariableDeclaration","scope":227,"src":"1823:99:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35,"name":"uint256","nodeType":"ElementaryTypeName","src":"1823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35343830303536363836343538393733353634303038303538323139313033343831393332393237353131353030393639373734343635323732353333303830373038373936343536393136","id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1846:76:0","typeDescriptions":{"typeIdentifier":"t_rational_5480056686458973564008058219103481932927511500969774465272533080708796456916_by_1","typeString":"int_const 5480...(68 digits omitted)...6916"},"value":"5480056686458973564008058219103481932927511500969774465272533080708796456916"},"visibility":"internal"},{"constant":true,"id":40,"mutability":"constant","name":"Qcy","nameLocation":"1945:3:0","nodeType":"VariableDeclaration","scope":227,"src":"1928:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38,"name":"uint256","nodeType":"ElementaryTypeName","src":"1928:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3138343837363632333035313238313539333032323436393135323739333833333131313838333836353236373232393538303234343130373334333936373436323439383936393030393934","id":39,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1951:77:0","typeDescriptions":{"typeIdentifier":"t_rational_18487662305128159302246915279383311188386526722958024410734396746249896900994_by_1","typeString":"int_const 1848...(69 digits omitted)...0994"},"value":"18487662305128159302246915279383311188386526722958024410734396746249896900994"},"visibility":"internal"},{"constant":true,"id":43,"mutability":"constant","name":"S1x","nameLocation":"2051:3:0","nodeType":"VariableDeclaration","scope":227,"src":"2034:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41,"name":"uint256","nodeType":"ElementaryTypeName","src":"2034:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3137343337363636353032343935383037343636333739363539333234353239313436363432393633323231363439323530373338333231323832393535353936343033383031353235353735","id":42,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2057:77:0","typeDescriptions":{"typeIdentifier":"t_rational_17437666502495807466379659324529146642963221649250738321282955596403801525575_by_1","typeString":"int_const 1743...(69 digits omitted)...5575"},"value":"17437666502495807466379659324529146642963221649250738321282955596403801525575"},"visibility":"internal"},{"constant":true,"id":46,"mutability":"constant","name":"S1y","nameLocation":"2157:3:0","nodeType":"VariableDeclaration","scope":227,"src":"2140:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44,"name":"uint256","nodeType":"ElementaryTypeName","src":"2140:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3138333737343835393739313333353430323339323838393236393239323434383835363530353537323831363737333832303532343733383434303634333533373836303231303338363534","id":45,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2163:77:0","typeDescriptions":{"typeIdentifier":"t_rational_18377485979133540239288926929244885650557281677382052473844064353786021038654_by_1","typeString":"int_const 1837...(69 digits omitted)...8654"},"value":"18377485979133540239288926929244885650557281677382052473844064353786021038654"},"visibility":"internal"},{"constant":true,"id":49,"mutability":"constant","name":"S2x","nameLocation":"2263:3:0","nodeType":"VariableDeclaration","scope":227,"src":"2246:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47,"name":"uint256","nodeType":"ElementaryTypeName","src":"2246:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130333333313531373630303134393638303239323534313032383633363131363338373835353532393731393338343233313632333339333236313335343339343038383334313136313534","id":48,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2269:77:0","typeDescriptions":{"typeIdentifier":"t_rational_10333151760014968029254102863611638785552971938423162339326135439408834116154_by_1","typeString":"int_const 1033...(69 digits omitted)...6154"},"value":"10333151760014968029254102863611638785552971938423162339326135439408834116154"},"visibility":"internal"},{"constant":true,"id":52,"mutability":"constant","name":"S2y","nameLocation":"2369:3:0","nodeType":"VariableDeclaration","scope":227,"src":"2352:99:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"2352:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36353433343532373030353739303338373335323535303230383032353731373335363030353338363333343535353736373330313839353731353934373533363330313835353339343433","id":51,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2375:76:0","typeDescriptions":{"typeIdentifier":"t_rational_6543452700579038735255020802571735600538633455576730189571594753630185539443_by_1","typeString":"int_const 6543...(68 digits omitted)...9443"},"value":"6543452700579038735255020802571735600538633455576730189571594753630185539443"},"visibility":"internal"},{"constant":true,"id":55,"mutability":"constant","name":"S3x","nameLocation":"2474:3:0","nodeType":"VariableDeclaration","scope":227,"src":"2457:99:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53,"name":"uint256","nodeType":"ElementaryTypeName","src":"2457:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38323835333933393630363138383537303134383037313438303839343735323934323232303934343630373635353439313531363035393532383836363430353131313033343039323037","id":54,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2480:76:0","typeDescriptions":{"typeIdentifier":"t_rational_8285393960618857014807148089475294222094460765549151605952886640511103409207_by_1","typeString":"int_const 8285...(68 digits omitted)...9207"},"value":"8285393960618857014807148089475294222094460765549151605952886640511103409207"},"visibility":"internal"},{"constant":true,"id":58,"mutability":"constant","name":"S3y","nameLocation":"2579:3:0","nodeType":"VariableDeclaration","scope":227,"src":"2562:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56,"name":"uint256","nodeType":"ElementaryTypeName","src":"2562:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131393135333938383439373437353839323435393335323033393534313332363131323631343733363738353636363937393232333133303339313631363532333036323935383837343331","id":57,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2585:77:0","typeDescriptions":{"typeIdentifier":"t_rational_11915398849747589245935203954132611261473678566697922313039161652306295887431_by_1","typeString":"int_const 1191...(69 digits omitted)...7431"},"value":"11915398849747589245935203954132611261473678566697922313039161652306295887431"},"visibility":"internal"},{"constant":true,"id":61,"mutability":"constant","name":"k1","nameLocation":"2685:2:0","nodeType":"VariableDeclaration","scope":227,"src":"2668:23:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59,"name":"uint256","nodeType":"ElementaryTypeName","src":"2668:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":60,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2690:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":64,"mutability":"constant","name":"k2","nameLocation":"2714:2:0","nodeType":"VariableDeclaration","scope":227,"src":"2697:23:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62,"name":"uint256","nodeType":"ElementaryTypeName","src":"2697:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":63,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2719:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"internal"},{"constant":true,"id":67,"mutability":"constant","name":"X2x1","nameLocation":"2743:4:0","nodeType":"VariableDeclaration","scope":227,"src":"2726:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65,"name":"uint256","nodeType":"ElementaryTypeName","src":"2726:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"37353530313731313431343839363432333233333435343936363833373337323434323737303833323536343234303034373037373135393938343833343039353430303430353837343636","id":66,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2750:76:0","typeDescriptions":{"typeIdentifier":"t_rational_7550171141489642323345496683737244277083256424004707715998483409540040587466_by_1","typeString":"int_const 7550...(68 digits omitted)...7466"},"value":"7550171141489642323345496683737244277083256424004707715998483409540040587466"},"visibility":"internal"},{"constant":true,"id":70,"mutability":"constant","name":"X2x2","nameLocation":"2849:4:0","nodeType":"VariableDeclaration","scope":227,"src":"2832:101:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68,"name":"uint256","nodeType":"ElementaryTypeName","src":"2832:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133363734333237323831343536363030383935363037383139383438363832313539353032393536363038343739373335393735373632323138343131353939303333393831353539393638","id":69,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2856:77:0","typeDescriptions":{"typeIdentifier":"t_rational_13674327281456600895607819848682159502956608479735975762218411599033981559968_by_1","typeString":"int_const 1367...(69 digits omitted)...9968"},"value":"13674327281456600895607819848682159502956608479735975762218411599033981559968"},"visibility":"internal"},{"constant":true,"id":73,"mutability":"constant","name":"X2y1","nameLocation":"2956:4:0","nodeType":"VariableDeclaration","scope":227,"src":"2939:101:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"2939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136333239343237363535393135393434393038343834393734303630383938373631363833393734363436333138303734363339313938303033313837313534353235323534313736353230","id":72,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2963:77:0","typeDescriptions":{"typeIdentifier":"t_rational_16329427655915944908484974060898761683974646318074639198003187154525254176520_by_1","typeString":"int_const 1632...(69 digits omitted)...6520"},"value":"16329427655915944908484974060898761683974646318074639198003187154525254176520"},"visibility":"internal"},{"constant":true,"id":76,"mutability":"constant","name":"X2y2","nameLocation":"3063:4:0","nodeType":"VariableDeclaration","scope":227,"src":"3046:101:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74,"name":"uint256","nodeType":"ElementaryTypeName","src":"3046:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139363034363331363533303430323033393131353233343934323133363738313838303035393837363232313934353435353732353239363038383335313833393336353639383230393930","id":75,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3070:77:0","typeDescriptions":{"typeIdentifier":"t_rational_19604631653040203911523494213678188005987622194545572529608835183936569820990_by_1","typeString":"int_const 1960...(69 digits omitted)...0990"},"value":"19604631653040203911523494213678188005987622194545572529608835183936569820990"},"visibility":"internal"},{"constant":true,"id":79,"mutability":"constant","name":"q","nameLocation":"3175:1:0","nodeType":"VariableDeclaration","scope":227,"src":"3158:98:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77,"name":"uint256","nodeType":"ElementaryTypeName","src":"3158:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137","id":78,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3179:77:0","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1","typeString":"int_const 2188...(69 digits omitted)...5617"},"value":"21888242871839275222246405745257275088548364400416034343698204186575808495617"},"visibility":"internal"},{"constant":true,"id":82,"mutability":"constant","name":"qf","nameLocation":"3279:2:0","nodeType":"VariableDeclaration","scope":227,"src":"3262:99:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80,"name":"uint256","nodeType":"ElementaryTypeName","src":"3262:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833","id":81,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3284:77:0","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1","typeString":"int_const 2188...(69 digits omitted)...8583"},"value":"21888242871839275222246405745257275088696311157297823662689037894645226208583"},"visibility":"internal"},{"constant":true,"id":85,"mutability":"constant","name":"w1","nameLocation":"3384:2:0","nodeType":"VariableDeclaration","scope":227,"src":"3367:99:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83,"name":"uint256","nodeType":"ElementaryTypeName","src":"3367:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3230343032393331373438383433353338393835313531303031323634353330303439383734383731353732393333363934363334383336353637303730363933393636313333373833383033","id":84,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3389:77:0","typeDescriptions":{"typeIdentifier":"t_rational_20402931748843538985151001264530049874871572933694634836567070693966133783803_by_1","typeString":"int_const 2040...(69 digits omitted)...3803"},"value":"20402931748843538985151001264530049874871572933694634836567070693966133783803"},"visibility":"internal"},{"constant":true,"id":88,"mutability":"constant","name":"G1x","nameLocation":"3498:3:0","nodeType":"VariableDeclaration","scope":227,"src":"3481:24:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86,"name":"uint256","nodeType":"ElementaryTypeName","src":"3481:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":87,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3504:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":91,"mutability":"constant","name":"G1y","nameLocation":"3528:3:0","nodeType":"VariableDeclaration","scope":227,"src":"3511:24:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89,"name":"uint256","nodeType":"ElementaryTypeName","src":"3511:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":90,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3534:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":94,"mutability":"constant","name":"G2x1","nameLocation":"3558:4:0","nodeType":"VariableDeclaration","scope":227,"src":"3541:101:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92,"name":"uint256","nodeType":"ElementaryTypeName","src":"3541:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831","id":93,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3565:77:0","typeDescriptions":{"typeIdentifier":"t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1","typeString":"int_const 1085...(69 digits omitted)...2781"},"value":"10857046999023057135944570762232829481370756359578518086990519993285655852781"},"visibility":"internal"},{"constant":true,"id":97,"mutability":"constant","name":"G2x2","nameLocation":"3665:4:0","nodeType":"VariableDeclaration","scope":227,"src":"3648:101:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95,"name":"uint256","nodeType":"ElementaryTypeName","src":"3648:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334","id":96,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3672:77:0","typeDescriptions":{"typeIdentifier":"t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1","typeString":"int_const 1155...(69 digits omitted)...5634"},"value":"11559732032986387107991004021392285783925812861821192530917403151452391805634"},"visibility":"internal"},{"constant":true,"id":100,"mutability":"constant","name":"G2y1","nameLocation":"3772:4:0","nodeType":"VariableDeclaration","scope":227,"src":"3755:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98,"name":"uint256","nodeType":"ElementaryTypeName","src":"3755:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330","id":99,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3779:76:0","typeDescriptions":{"typeIdentifier":"t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1","typeString":"int_const 8495...(68 digits omitted)...1930"},"value":"8495653923123431417604973247489272438418190587263600148770280649306958101930"},"visibility":"internal"},{"constant":true,"id":103,"mutability":"constant","name":"G2y2","nameLocation":"3878:4:0","nodeType":"VariableDeclaration","scope":227,"src":"3861:100:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101,"name":"uint256","nodeType":"ElementaryTypeName","src":"3861:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331","id":102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3885:76:0","typeDescriptions":{"typeIdentifier":"t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1","typeString":"int_const 4082...(68 digits omitted)...3531"},"value":"4082367875863433681332203403145435568316851327593401208105741076214120093531"},"visibility":"internal"},{"constant":true,"id":106,"mutability":"constant","name":"pA","nameLocation":"3983:2:0","nodeType":"VariableDeclaration","scope":227,"src":"3967:23:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":104,"name":"uint16","nodeType":"ElementaryTypeName","src":"3967:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3988:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":109,"mutability":"constant","name":"pB","nameLocation":"4012:2:0","nodeType":"VariableDeclaration","scope":227,"src":"3996:23:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":107,"name":"uint16","nodeType":"ElementaryTypeName","src":"3996:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4017:2:0","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":112,"mutability":"constant","name":"pC","nameLocation":"4041:2:0","nodeType":"VariableDeclaration","scope":227,"src":"4025:24:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":110,"name":"uint16","nodeType":"ElementaryTypeName","src":"4025:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4046:3:0","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":115,"mutability":"constant","name":"pZ","nameLocation":"4071:2:0","nodeType":"VariableDeclaration","scope":227,"src":"4055:24:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":113,"name":"uint16","nodeType":"ElementaryTypeName","src":"4055:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4076:3:0","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":118,"mutability":"constant","name":"pT1","nameLocation":"4101:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4085:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":116,"name":"uint16","nodeType":"ElementaryTypeName","src":"4085:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4107:3:0","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":121,"mutability":"constant","name":"pT2","nameLocation":"4132:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4116:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":119,"name":"uint16","nodeType":"ElementaryTypeName","src":"4116:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4138:3:0","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":124,"mutability":"constant","name":"pT3","nameLocation":"4163:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4147:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":122,"name":"uint16","nodeType":"ElementaryTypeName","src":"4147:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4169:3:0","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":127,"mutability":"constant","name":"pWxi","nameLocation":"4194:4:0","nodeType":"VariableDeclaration","scope":227,"src":"4178:26:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":125,"name":"uint16","nodeType":"ElementaryTypeName","src":"4178:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4201:3:0","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":130,"mutability":"constant","name":"pWxiw","nameLocation":"4226:5:0","nodeType":"VariableDeclaration","scope":227,"src":"4210:27:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":128,"name":"uint16","nodeType":"ElementaryTypeName","src":"4210:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4234:3:0","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":133,"mutability":"constant","name":"pEval_a","nameLocation":"4259:7:0","nodeType":"VariableDeclaration","scope":227,"src":"4243:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":131,"name":"uint16","nodeType":"ElementaryTypeName","src":"4243:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4269:3:0","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":136,"mutability":"constant","name":"pEval_b","nameLocation":"4294:7:0","nodeType":"VariableDeclaration","scope":227,"src":"4278:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":134,"name":"uint16","nodeType":"ElementaryTypeName","src":"4278:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4304:3:0","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":139,"mutability":"constant","name":"pEval_c","nameLocation":"4329:7:0","nodeType":"VariableDeclaration","scope":227,"src":"4313:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":137,"name":"uint16","nodeType":"ElementaryTypeName","src":"4313:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4339:3:0","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":142,"mutability":"constant","name":"pEval_s1","nameLocation":"4364:8:0","nodeType":"VariableDeclaration","scope":227,"src":"4348:30:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":140,"name":"uint16","nodeType":"ElementaryTypeName","src":"4348:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4375:3:0","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"constant":true,"id":145,"mutability":"constant","name":"pEval_s2","nameLocation":"4400:8:0","nodeType":"VariableDeclaration","scope":227,"src":"4384:30:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":143,"name":"uint16","nodeType":"ElementaryTypeName","src":"4384:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373336","id":144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4411:3:0","typeDescriptions":{"typeIdentifier":"t_rational_736_by_1","typeString":"int_const 736"},"value":"736"},"visibility":"internal"},{"constant":true,"id":148,"mutability":"constant","name":"pEval_zw","nameLocation":"4436:8:0","nodeType":"VariableDeclaration","scope":227,"src":"4420:30:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":146,"name":"uint16","nodeType":"ElementaryTypeName","src":"4420:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373638","id":147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4447:3:0","typeDescriptions":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"},"value":"768"},"visibility":"internal"},{"constant":true,"id":151,"mutability":"constant","name":"pEval_r","nameLocation":"4472:7:0","nodeType":"VariableDeclaration","scope":227,"src":"4456:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":149,"name":"uint16","nodeType":"ElementaryTypeName","src":"4456:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"383030","id":150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4482:3:0","typeDescriptions":{"typeIdentifier":"t_rational_800_by_1","typeString":"int_const 800"},"value":"800"},"visibility":"internal"},{"constant":true,"id":154,"mutability":"constant","name":"pAlpha","nameLocation":"4512:6:0","nodeType":"VariableDeclaration","scope":227,"src":"4496:26:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":152,"name":"uint16","nodeType":"ElementaryTypeName","src":"4496:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"30","id":153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4521:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"constant":true,"id":157,"mutability":"constant","name":"pBeta","nameLocation":"4544:5:0","nodeType":"VariableDeclaration","scope":227,"src":"4528:26:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":155,"name":"uint16","nodeType":"ElementaryTypeName","src":"4528:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4552:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":160,"mutability":"constant","name":"pGamma","nameLocation":"4576:6:0","nodeType":"VariableDeclaration","scope":227,"src":"4560:27:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":158,"name":"uint16","nodeType":"ElementaryTypeName","src":"4560:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3634","id":159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4585:2:0","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"visibility":"internal"},{"constant":true,"id":163,"mutability":"constant","name":"pXi","nameLocation":"4609:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4593:24:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":161,"name":"uint16","nodeType":"ElementaryTypeName","src":"4593:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4615:2:0","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":166,"mutability":"constant","name":"pXin","nameLocation":"4639:4:0","nodeType":"VariableDeclaration","scope":227,"src":"4623:26:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":164,"name":"uint16","nodeType":"ElementaryTypeName","src":"4623:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313238","id":165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4646:3:0","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"visibility":"internal"},{"constant":true,"id":169,"mutability":"constant","name":"pBetaXi","nameLocation":"4671:7:0","nodeType":"VariableDeclaration","scope":227,"src":"4655:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":167,"name":"uint16","nodeType":"ElementaryTypeName","src":"4655:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4681:3:0","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":172,"mutability":"constant","name":"pV1","nameLocation":"4706:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4690:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":170,"name":"uint16","nodeType":"ElementaryTypeName","src":"4690:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313932","id":171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4712:3:0","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"visibility":"internal"},{"constant":true,"id":175,"mutability":"constant","name":"pV2","nameLocation":"4737:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4721:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":173,"name":"uint16","nodeType":"ElementaryTypeName","src":"4721:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4743:3:0","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":178,"mutability":"constant","name":"pV3","nameLocation":"4768:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4752:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":176,"name":"uint16","nodeType":"ElementaryTypeName","src":"4752:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323536","id":177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4774:3:0","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"visibility":"internal"},{"constant":true,"id":181,"mutability":"constant","name":"pV4","nameLocation":"4799:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4783:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":179,"name":"uint16","nodeType":"ElementaryTypeName","src":"4783:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4805:3:0","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":184,"mutability":"constant","name":"pV5","nameLocation":"4830:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4814:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":182,"name":"uint16","nodeType":"ElementaryTypeName","src":"4814:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333230","id":183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4836:3:0","typeDescriptions":{"typeIdentifier":"t_rational_320_by_1","typeString":"int_const 320"},"value":"320"},"visibility":"internal"},{"constant":true,"id":187,"mutability":"constant","name":"pV6","nameLocation":"4861:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4845:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":185,"name":"uint16","nodeType":"ElementaryTypeName","src":"4845:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4867:3:0","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":190,"mutability":"constant","name":"pU","nameLocation":"4892:2:0","nodeType":"VariableDeclaration","scope":227,"src":"4876:24:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":188,"name":"uint16","nodeType":"ElementaryTypeName","src":"4876:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333834","id":189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4897:3:0","typeDescriptions":{"typeIdentifier":"t_rational_384_by_1","typeString":"int_const 384"},"value":"384"},"visibility":"internal"},{"constant":true,"id":193,"mutability":"constant","name":"pPl","nameLocation":"4922:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4906:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":191,"name":"uint16","nodeType":"ElementaryTypeName","src":"4906:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4928:3:0","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":196,"mutability":"constant","name":"pEval_t","nameLocation":"4953:7:0","nodeType":"VariableDeclaration","scope":227,"src":"4937:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":194,"name":"uint16","nodeType":"ElementaryTypeName","src":"4937:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343438","id":195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4963:3:0","typeDescriptions":{"typeIdentifier":"t_rational_448_by_1","typeString":"int_const 448"},"value":"448"},"visibility":"internal"},{"constant":true,"id":199,"mutability":"constant","name":"pA1","nameLocation":"4988:3:0","nodeType":"VariableDeclaration","scope":227,"src":"4972:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":197,"name":"uint16","nodeType":"ElementaryTypeName","src":"4972:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4994:3:0","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":202,"mutability":"constant","name":"pB1","nameLocation":"5019:3:0","nodeType":"VariableDeclaration","scope":227,"src":"5003:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":200,"name":"uint16","nodeType":"ElementaryTypeName","src":"5003:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5025:3:0","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":205,"mutability":"constant","name":"pZh","nameLocation":"5050:3:0","nodeType":"VariableDeclaration","scope":227,"src":"5034:25:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":203,"name":"uint16","nodeType":"ElementaryTypeName","src":"5034:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5056:3:0","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":208,"mutability":"constant","name":"pZhInv","nameLocation":"5081:6:0","nodeType":"VariableDeclaration","scope":227,"src":"5065:28:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":206,"name":"uint16","nodeType":"ElementaryTypeName","src":"5065:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5090:3:0","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":211,"mutability":"constant","name":"pEval_l1","nameLocation":"5120:8:0","nodeType":"VariableDeclaration","scope":227,"src":"5104:30:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":209,"name":"uint16","nodeType":"ElementaryTypeName","src":"5104:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5131:3:0","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":214,"mutability":"constant","name":"lastMem","nameLocation":"5171:7:0","nodeType":"VariableDeclaration","scope":227,"src":"5155:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":212,"name":"uint16","nodeType":"ElementaryTypeName","src":"5155:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5181:3:0","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"body":{"id":225,"nodeType":"Block","src":"5285:19457:0","statements":[{"AST":{"nativeSrc":"5304:19423:0","nodeType":"YulBlock","src":"5304:19423:0","statements":[{"body":{"nativeSrc":"5467:694:0","nodeType":"YulBlock","src":"5467:694:0","statements":[{"nativeSrc":"5485:10:0","nodeType":"YulVariableDeclaration","src":"5485:10:0","value":{"kind":"number","nativeSrc":"5494:1:0","nodeType":"YulLiteral","src":"5494:1:0","type":"","value":"0"},"variables":[{"name":"t","nativeSrc":"5489:1:0","nodeType":"YulTypedName","src":"5489:1:0","type":""}]},{"nativeSrc":"5517:13:0","nodeType":"YulVariableDeclaration","src":"5517:13:0","value":{"kind":"number","nativeSrc":"5529:1:0","nodeType":"YulLiteral","src":"5529:1:0","type":"","value":"1"},"variables":[{"name":"newt","nativeSrc":"5521:4:0","nodeType":"YulTypedName","src":"5521:4:0","type":""}]},{"nativeSrc":"5547:10:0","nodeType":"YulVariableDeclaration","src":"5547:10:0","value":{"name":"q","nativeSrc":"5556:1:0","nodeType":"YulIdentifier","src":"5556:1:0"},"variables":[{"name":"r","nativeSrc":"5551:1:0","nodeType":"YulTypedName","src":"5551:1:0","type":""}]},{"nativeSrc":"5579:13:0","nodeType":"YulVariableDeclaration","src":"5579:13:0","value":{"name":"a","nativeSrc":"5591:1:0","nodeType":"YulIdentifier","src":"5591:1:0"},"variables":[{"name":"newr","nativeSrc":"5583:4:0","nodeType":"YulTypedName","src":"5583:4:0","type":""}]},{"nativeSrc":"5609:12:0","nodeType":"YulVariableDeclaration","src":"5609:12:0","variables":[{"name":"quotient","nativeSrc":"5613:8:0","nodeType":"YulTypedName","src":"5613:8:0","type":""}]},{"nativeSrc":"5638:7:0","nodeType":"YulVariableDeclaration","src":"5638:7:0","variables":[{"name":"aux","nativeSrc":"5642:3:0","nodeType":"YulTypedName","src":"5642:3:0","type":""}]},{"body":{"nativeSrc":"5696:317:0","nodeType":"YulBlock","src":"5696:317:0","statements":[{"nativeSrc":"5718:25:0","nodeType":"YulAssignment","src":"5718:25:0","value":{"arguments":[{"name":"r","nativeSrc":"5735:1:0","nodeType":"YulIdentifier","src":"5735:1:0"},{"name":"newr","nativeSrc":"5738:4:0","nodeType":"YulIdentifier","src":"5738:4:0"}],"functionName":{"name":"sdiv","nativeSrc":"5730:4:0","nodeType":"YulIdentifier","src":"5730:4:0"},"nativeSrc":"5730:13:0","nodeType":"YulFunctionCall","src":"5730:13:0"},"variableNames":[{"name":"quotient","nativeSrc":"5718:8:0","nodeType":"YulIdentifier","src":"5718:8:0"}]},{"nativeSrc":"5764:34:0","nodeType":"YulAssignment","src":"5764:34:0","value":{"arguments":[{"name":"t","nativeSrc":"5775:1:0","nodeType":"YulIdentifier","src":"5775:1:0"},{"arguments":[{"name":"quotient","nativeSrc":"5782:8:0","nodeType":"YulIdentifier","src":"5782:8:0"},{"name":"newt","nativeSrc":"5792:4:0","nodeType":"YulIdentifier","src":"5792:4:0"}],"functionName":{"name":"mul","nativeSrc":"5778:3:0","nodeType":"YulIdentifier","src":"5778:3:0"},"nativeSrc":"5778:19:0","nodeType":"YulFunctionCall","src":"5778:19:0"}],"functionName":{"name":"sub","nativeSrc":"5771:3:0","nodeType":"YulIdentifier","src":"5771:3:0"},"nativeSrc":"5771:27:0","nodeType":"YulFunctionCall","src":"5771:27:0"},"variableNames":[{"name":"aux","nativeSrc":"5764:3:0","nodeType":"YulIdentifier","src":"5764:3:0"}]},{"nativeSrc":"5819:8:0","nodeType":"YulAssignment","src":"5819:8:0","value":{"name":"newt","nativeSrc":"5823:4:0","nodeType":"YulIdentifier","src":"5823:4:0"},"variableNames":[{"name":"t","nativeSrc":"5819:1:0","nodeType":"YulIdentifier","src":"5819:1:0"}]},{"nativeSrc":"5848:10:0","nodeType":"YulAssignment","src":"5848:10:0","value":{"name":"aux","nativeSrc":"5855:3:0","nodeType":"YulIdentifier","src":"5855:3:0"},"variableNames":[{"name":"newt","nativeSrc":"5848:4:0","nodeType":"YulIdentifier","src":"5848:4:0"}]},{"nativeSrc":"5900:33:0","nodeType":"YulAssignment","src":"5900:33:0","value":{"arguments":[{"name":"r","nativeSrc":"5911:1:0","nodeType":"YulIdentifier","src":"5911:1:0"},{"arguments":[{"name":"quotient","nativeSrc":"5917:8:0","nodeType":"YulIdentifier","src":"5917:8:0"},{"name":"newr","nativeSrc":"5927:4:0","nodeType":"YulIdentifier","src":"5927:4:0"}],"functionName":{"name":"mul","nativeSrc":"5913:3:0","nodeType":"YulIdentifier","src":"5913:3:0"},"nativeSrc":"5913:19:0","nodeType":"YulFunctionCall","src":"5913:19:0"}],"functionName":{"name":"sub","nativeSrc":"5907:3:0","nodeType":"YulIdentifier","src":"5907:3:0"},"nativeSrc":"5907:26:0","nodeType":"YulFunctionCall","src":"5907:26:0"},"variableNames":[{"name":"aux","nativeSrc":"5900:3:0","nodeType":"YulIdentifier","src":"5900:3:0"}]},{"nativeSrc":"5954:9:0","nodeType":"YulAssignment","src":"5954:9:0","value":{"name":"newr","nativeSrc":"5959:4:0","nodeType":"YulIdentifier","src":"5959:4:0"},"variableNames":[{"name":"r","nativeSrc":"5954:1:0","nodeType":"YulIdentifier","src":"5954:1:0"}]},{"nativeSrc":"5984:11:0","nodeType":"YulAssignment","src":"5984:11:0","value":{"name":"aux","nativeSrc":"5992:3:0","nodeType":"YulIdentifier","src":"5992:3:0"},"variableNames":[{"name":"newr","nativeSrc":"5984:4:0","nodeType":"YulIdentifier","src":"5984:4:0"}]}]},"condition":{"name":"newr","nativeSrc":"5687:4:0","nodeType":"YulIdentifier","src":"5687:4:0"},"nativeSrc":"5679:334:0","nodeType":"YulForLoop","post":{"nativeSrc":"5692:3:0","nodeType":"YulBlock","src":"5692:3:0","statements":[]},"pre":{"nativeSrc":"5683:3:0","nodeType":"YulBlock","src":"5683:3:0","statements":[]},"src":"5679:334:0"},{"body":{"nativeSrc":"6059:15:0","nodeType":"YulBlock","src":"6059:15:0","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6068:1:0","nodeType":"YulLiteral","src":"6068:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"6070:1:0","nodeType":"YulLiteral","src":"6070:1:0","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6061:6:0","nodeType":"YulIdentifier","src":"6061:6:0"},"nativeSrc":"6061:11:0","nodeType":"YulFunctionCall","src":"6061:11:0"},"nativeSrc":"6061:11:0","nodeType":"YulExpressionStatement","src":"6061:11:0"}]},"condition":{"arguments":[{"name":"r","nativeSrc":"6053:1:0","nodeType":"YulIdentifier","src":"6053:1:0"},{"kind":"number","nativeSrc":"6056:1:0","nodeType":"YulLiteral","src":"6056:1:0","type":"","value":"1"}],"functionName":{"name":"gt","nativeSrc":"6050:2:0","nodeType":"YulIdentifier","src":"6050:2:0"},"nativeSrc":"6050:8:0","nodeType":"YulFunctionCall","src":"6050:8:0"},"nativeSrc":"6047:27:0","nodeType":"YulIf","src":"6047:27:0"},{"body":{"nativeSrc":"6104:17:0","nodeType":"YulBlock","src":"6104:17:0","statements":[{"nativeSrc":"6106:13:0","nodeType":"YulAssignment","src":"6106:13:0","value":{"arguments":[{"name":"t","nativeSrc":"6114:1:0","nodeType":"YulIdentifier","src":"6114:1:0"},{"name":"q","nativeSrc":"6117:1:0","nodeType":"YulIdentifier","src":"6117:1:0"}],"functionName":{"name":"add","nativeSrc":"6110:3:0","nodeType":"YulIdentifier","src":"6110:3:0"},"nativeSrc":"6110:9:0","nodeType":"YulFunctionCall","src":"6110:9:0"},"variableNames":[{"name":"t","nativeSrc":"6106:1:0","nodeType":"YulIdentifier","src":"6106:1:0"}]}]},"condition":{"arguments":[{"name":"t","nativeSrc":"6098:1:0","nodeType":"YulIdentifier","src":"6098:1:0"},{"kind":"number","nativeSrc":"6101:1:0","nodeType":"YulLiteral","src":"6101:1:0","type":"","value":"0"}],"functionName":{"name":"slt","nativeSrc":"6094:3:0","nodeType":"YulIdentifier","src":"6094:3:0"},"nativeSrc":"6094:9:0","nodeType":"YulFunctionCall","src":"6094:9:0"},"nativeSrc":"6091:30:0","nodeType":"YulIf","src":"6091:30:0"},{"nativeSrc":"6139:8:0","nodeType":"YulAssignment","src":"6139:8:0","value":{"name":"t","nativeSrc":"6146:1:0","nodeType":"YulIdentifier","src":"6146:1:0"},"variableNames":[{"name":"inv","nativeSrc":"6139:3:0","nodeType":"YulIdentifier","src":"6139:3:0"}]}]},"name":"inverse","nativeSrc":"5437:724:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"a","nativeSrc":"5454:1:0","nodeType":"YulTypedName","src":"5454:1:0","type":""},{"name":"q","nativeSrc":"5457:1:0","nodeType":"YulTypedName","src":"5457:1:0","type":""}],"returnVariables":[{"name":"inv","nativeSrc":"5463:3:0","nodeType":"YulTypedName","src":"5463:3:0","type":""}],"src":"5437:724:0"},{"body":{"nativeSrc":"6435:1485:0","nodeType":"YulBlock","src":"6435:1485:0","statements":[{"nativeSrc":"6458:23:0","nodeType":"YulVariableDeclaration","src":"6458:23:0","value":{"arguments":[{"kind":"number","nativeSrc":"6476:4:0","nodeType":"YulLiteral","src":"6476:4:0","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6470:5:0","nodeType":"YulIdentifier","src":"6470:5:0"},"nativeSrc":"6470:11:0","nodeType":"YulFunctionCall","src":"6470:11:0"},"variables":[{"name":"pAux","nativeSrc":"6462:4:0","nodeType":"YulTypedName","src":"6462:4:0","type":""}]},{"nativeSrc":"6537:16:0","nodeType":"YulVariableDeclaration","src":"6537:16:0","value":{"name":"pVals","nativeSrc":"6548:5:0","nodeType":"YulIdentifier","src":"6548:5:0"},"variables":[{"name":"pIn","nativeSrc":"6541:3:0","nodeType":"YulTypedName","src":"6541:3:0","type":""}]},{"nativeSrc":"6570:37:0","nodeType":"YulVariableDeclaration","src":"6570:37:0","value":{"arguments":[{"name":"pVals","nativeSrc":"6589:5:0","nodeType":"YulIdentifier","src":"6589:5:0"},{"arguments":[{"name":"n","nativeSrc":"6600:1:0","nodeType":"YulIdentifier","src":"6600:1:0"},{"kind":"number","nativeSrc":"6603:2:0","nodeType":"YulLiteral","src":"6603:2:0","type":"","value":"32"}],"functionName":{"name":"mul","nativeSrc":"6596:3:0","nodeType":"YulIdentifier","src":"6596:3:0"},"nativeSrc":"6596:10:0","nodeType":"YulFunctionCall","src":"6596:10:0"}],"functionName":{"name":"add","nativeSrc":"6585:3:0","nodeType":"YulIdentifier","src":"6585:3:0"},"nativeSrc":"6585:22:0","nodeType":"YulFunctionCall","src":"6585:22:0"},"variables":[{"name":"lastPIn","nativeSrc":"6574:7:0","nodeType":"YulTypedName","src":"6574:7:0","type":""}]},{"nativeSrc":"6643:21:0","nodeType":"YulVariableDeclaration","src":"6643:21:0","value":{"arguments":[{"name":"pIn","nativeSrc":"6660:3:0","nodeType":"YulIdentifier","src":"6660:3:0"}],"functionName":{"name":"mload","nativeSrc":"6654:5:0","nodeType":"YulIdentifier","src":"6654:5:0"},"nativeSrc":"6654:10:0","nodeType":"YulFunctionCall","src":"6654:10:0"},"variables":[{"name":"acc","nativeSrc":"6647:3:0","nodeType":"YulTypedName","src":"6647:3:0","type":""}]},{"nativeSrc":"6713:19:0","nodeType":"YulAssignment","src":"6713:19:0","value":{"arguments":[{"name":"pIn","nativeSrc":"6724:3:0","nodeType":"YulIdentifier","src":"6724:3:0"},{"kind":"number","nativeSrc":"6729:2:0","nodeType":"YulLiteral","src":"6729:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6720:3:0","nodeType":"YulIdentifier","src":"6720:3:0"},"nativeSrc":"6720:12:0","nodeType":"YulFunctionCall","src":"6720:12:0"},"variableNames":[{"name":"pIn","nativeSrc":"6713:3:0","nodeType":"YulIdentifier","src":"6713:3:0"}]},{"nativeSrc":"6788:7:0","nodeType":"YulVariableDeclaration","src":"6788:7:0","variables":[{"name":"inv","nativeSrc":"6792:3:0","nodeType":"YulTypedName","src":"6792:3:0","type":""}]},{"body":{"nativeSrc":"6980:111:0","nodeType":"YulBlock","src":"6980:111:0","statements":[{"expression":{"arguments":[{"name":"pAux","nativeSrc":"7009:4:0","nodeType":"YulIdentifier","src":"7009:4:0"},{"name":"acc","nativeSrc":"7015:3:0","nodeType":"YulIdentifier","src":"7015:3:0"}],"functionName":{"name":"mstore","nativeSrc":"7002:6:0","nodeType":"YulIdentifier","src":"7002:6:0"},"nativeSrc":"7002:17:0","nodeType":"YulFunctionCall","src":"7002:17:0"},"nativeSrc":"7002:17:0","nodeType":"YulExpressionStatement","src":"7002:17:0"},{"nativeSrc":"7040:33:0","nodeType":"YulAssignment","src":"7040:33:0","value":{"arguments":[{"name":"acc","nativeSrc":"7054:3:0","nodeType":"YulIdentifier","src":"7054:3:0"},{"arguments":[{"name":"pIn","nativeSrc":"7065:3:0","nodeType":"YulIdentifier","src":"7065:3:0"}],"functionName":{"name":"mload","nativeSrc":"7059:5:0","nodeType":"YulIdentifier","src":"7059:5:0"},"nativeSrc":"7059:10:0","nodeType":"YulFunctionCall","src":"7059:10:0"},{"name":"q","nativeSrc":"7071:1:0","nodeType":"YulIdentifier","src":"7071:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"7047:6:0","nodeType":"YulIdentifier","src":"7047:6:0"},"nativeSrc":"7047:26:0","nodeType":"YulFunctionCall","src":"7047:26:0"},"variableNames":[{"name":"acc","nativeSrc":"7040:3:0","nodeType":"YulIdentifier","src":"7040:3:0"}]}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"6845:3:0","nodeType":"YulIdentifier","src":"6845:3:0"},{"name":"lastPIn","nativeSrc":"6850:7:0","nodeType":"YulIdentifier","src":"6850:7:0"}],"functionName":{"name":"lt","nativeSrc":"6842:2:0","nodeType":"YulIdentifier","src":"6842:2:0"},"nativeSrc":"6842:16:0","nodeType":"YulFunctionCall","src":"6842:16:0"},"nativeSrc":"6834:257:0","nodeType":"YulForLoop","post":{"nativeSrc":"6859:103:0","nodeType":"YulBlock","src":"6859:103:0","statements":[{"nativeSrc":"6882:21:0","nodeType":"YulAssignment","src":"6882:21:0","value":{"arguments":[{"name":"pAux","nativeSrc":"6894:4:0","nodeType":"YulIdentifier","src":"6894:4:0"},{"kind":"number","nativeSrc":"6900:2:0","nodeType":"YulLiteral","src":"6900:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6890:3:0","nodeType":"YulIdentifier","src":"6890:3:0"},"nativeSrc":"6890:13:0","nodeType":"YulFunctionCall","src":"6890:13:0"},"variableNames":[{"name":"pAux","nativeSrc":"6882:4:0","nodeType":"YulIdentifier","src":"6882:4:0"}]},{"nativeSrc":"6925:19:0","nodeType":"YulAssignment","src":"6925:19:0","value":{"arguments":[{"name":"pIn","nativeSrc":"6936:3:0","nodeType":"YulIdentifier","src":"6936:3:0"},{"kind":"number","nativeSrc":"6941:2:0","nodeType":"YulLiteral","src":"6941:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6932:3:0","nodeType":"YulIdentifier","src":"6932:3:0"},"nativeSrc":"6932:12:0","nodeType":"YulFunctionCall","src":"6932:12:0"},"variableNames":[{"name":"pIn","nativeSrc":"6925:3:0","nodeType":"YulIdentifier","src":"6925:3:0"}]}]},"pre":{"nativeSrc":"6838:3:0","nodeType":"YulBlock","src":"6838:3:0","statements":[]},"src":"6834:257:0"},{"nativeSrc":"7108:22:0","nodeType":"YulAssignment","src":"7108:22:0","value":{"arguments":[{"name":"acc","nativeSrc":"7123:3:0","nodeType":"YulIdentifier","src":"7123:3:0"},{"name":"q","nativeSrc":"7128:1:0","nodeType":"YulIdentifier","src":"7128:1:0"}],"functionName":{"name":"inverse","nativeSrc":"7115:7:0","nodeType":"YulIdentifier","src":"7115:7:0"},"nativeSrc":"7115:15:0","nodeType":"YulFunctionCall","src":"7115:15:0"},"variableNames":[{"name":"acc","nativeSrc":"7108:3:0","nodeType":"YulIdentifier","src":"7108:3:0"}]},{"nativeSrc":"7274:21:0","nodeType":"YulAssignment","src":"7274:21:0","value":{"arguments":[{"name":"pAux","nativeSrc":"7286:4:0","nodeType":"YulIdentifier","src":"7286:4:0"},{"kind":"number","nativeSrc":"7292:2:0","nodeType":"YulLiteral","src":"7292:2:0","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7282:3:0","nodeType":"YulIdentifier","src":"7282:3:0"},"nativeSrc":"7282:13:0","nodeType":"YulFunctionCall","src":"7282:13:0"},"variableNames":[{"name":"pAux","nativeSrc":"7274:4:0","nodeType":"YulIdentifier","src":"7274:4:0"}]},{"nativeSrc":"7389:19:0","nodeType":"YulAssignment","src":"7389:19:0","value":{"arguments":[{"name":"pIn","nativeSrc":"7400:3:0","nodeType":"YulIdentifier","src":"7400:3:0"},{"kind":"number","nativeSrc":"7405:2:0","nodeType":"YulLiteral","src":"7405:2:0","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7396:3:0","nodeType":"YulIdentifier","src":"7396:3:0"},"nativeSrc":"7396:12:0","nodeType":"YulFunctionCall","src":"7396:12:0"},"variableNames":[{"name":"pIn","nativeSrc":"7389:3:0","nodeType":"YulIdentifier","src":"7389:3:0"}]},{"nativeSrc":"7425:16:0","nodeType":"YulAssignment","src":"7425:16:0","value":{"name":"pVals","nativeSrc":"7436:5:0","nodeType":"YulIdentifier","src":"7436:5:0"},"variableNames":[{"name":"lastPIn","nativeSrc":"7425:7:0","nodeType":"YulIdentifier","src":"7425:7:0"}]},{"body":{"nativeSrc":"7644:165:0","nodeType":"YulBlock","src":"7644:165:0","statements":[{"nativeSrc":"7666:34:0","nodeType":"YulAssignment","src":"7666:34:0","value":{"arguments":[{"name":"acc","nativeSrc":"7680:3:0","nodeType":"YulIdentifier","src":"7680:3:0"},{"arguments":[{"name":"pAux","nativeSrc":"7691:4:0","nodeType":"YulIdentifier","src":"7691:4:0"}],"functionName":{"name":"mload","nativeSrc":"7685:5:0","nodeType":"YulIdentifier","src":"7685:5:0"},"nativeSrc":"7685:11:0","nodeType":"YulFunctionCall","src":"7685:11:0"},{"name":"q","nativeSrc":"7698:1:0","nodeType":"YulIdentifier","src":"7698:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"7673:6:0","nodeType":"YulIdentifier","src":"7673:6:0"},"nativeSrc":"7673:27:0","nodeType":"YulFunctionCall","src":"7673:27:0"},"variableNames":[{"name":"inv","nativeSrc":"7666:3:0","nodeType":"YulIdentifier","src":"7666:3:0"}]},{"nativeSrc":"7721:33:0","nodeType":"YulAssignment","src":"7721:33:0","value":{"arguments":[{"name":"acc","nativeSrc":"7735:3:0","nodeType":"YulIdentifier","src":"7735:3:0"},{"arguments":[{"name":"pIn","nativeSrc":"7746:3:0","nodeType":"YulIdentifier","src":"7746:3:0"}],"functionName":{"name":"mload","nativeSrc":"7740:5:0","nodeType":"YulIdentifier","src":"7740:5:0"},"nativeSrc":"7740:10:0","nodeType":"YulFunctionCall","src":"7740:10:0"},{"name":"q","nativeSrc":"7752:1:0","nodeType":"YulIdentifier","src":"7752:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"7728:6:0","nodeType":"YulIdentifier","src":"7728:6:0"},"nativeSrc":"7728:26:0","nodeType":"YulFunctionCall","src":"7728:26:0"},"variableNames":[{"name":"acc","nativeSrc":"7721:3:0","nodeType":"YulIdentifier","src":"7721:3:0"}]},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7782:3:0","nodeType":"YulIdentifier","src":"7782:3:0"},{"name":"inv","nativeSrc":"7787:3:0","nodeType":"YulIdentifier","src":"7787:3:0"}],"functionName":{"name":"mstore","nativeSrc":"7775:6:0","nodeType":"YulIdentifier","src":"7775:6:0"},"nativeSrc":"7775:16:0","nodeType":"YulFunctionCall","src":"7775:16:0"},"nativeSrc":"7775:16:0","nodeType":"YulExpressionStatement","src":"7775:16:0"}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"7509:3:0","nodeType":"YulIdentifier","src":"7509:3:0"},{"name":"lastPIn","nativeSrc":"7514:7:0","nodeType":"YulIdentifier","src":"7514:7:0"}],"functionName":{"name":"gt","nativeSrc":"7506:2:0","nodeType":"YulIdentifier","src":"7506:2:0"},"nativeSrc":"7506:16:0","nodeType":"YulFunctionCall","src":"7506:16:0"},"nativeSrc":"7498:311:0","nodeType":"YulForLoop","post":{"nativeSrc":"7523:103:0","nodeType":"YulBlock","src":"7523:103:0","statements":[{"nativeSrc":"7546:21:0","nodeType":"YulAssignment","src":"7546:21:0","value":{"arguments":[{"name":"pAux","nativeSrc":"7558:4:0","nodeType":"YulIdentifier","src":"7558:4:0"},{"kind":"number","nativeSrc":"7564:2:0","nodeType":"YulLiteral","src":"7564:2:0","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7554:3:0","nodeType":"YulIdentifier","src":"7554:3:0"},"nativeSrc":"7554:13:0","nodeType":"YulFunctionCall","src":"7554:13:0"},"variableNames":[{"name":"pAux","nativeSrc":"7546:4:0","nodeType":"YulIdentifier","src":"7546:4:0"}]},{"nativeSrc":"7589:19:0","nodeType":"YulAssignment","src":"7589:19:0","value":{"arguments":[{"name":"pIn","nativeSrc":"7600:3:0","nodeType":"YulIdentifier","src":"7600:3:0"},{"kind":"number","nativeSrc":"7605:2:0","nodeType":"YulLiteral","src":"7605:2:0","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7596:3:0","nodeType":"YulIdentifier","src":"7596:3:0"},"nativeSrc":"7596:12:0","nodeType":"YulFunctionCall","src":"7596:12:0"},"variableNames":[{"name":"pIn","nativeSrc":"7589:3:0","nodeType":"YulIdentifier","src":"7589:3:0"}]}]},"pre":{"nativeSrc":"7502:3:0","nodeType":"YulBlock","src":"7502:3:0","statements":[]},"src":"7498:311:0"},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7897:3:0","nodeType":"YulIdentifier","src":"7897:3:0"},{"name":"acc","nativeSrc":"7902:3:0","nodeType":"YulIdentifier","src":"7902:3:0"}],"functionName":{"name":"mstore","nativeSrc":"7890:6:0","nodeType":"YulIdentifier","src":"7890:6:0"},"nativeSrc":"7890:16:0","nodeType":"YulFunctionCall","src":"7890:16:0"},"nativeSrc":"7890:16:0","nodeType":"YulExpressionStatement","src":"7890:16:0"}]},"name":"inverseArray","nativeSrc":"6403:1517:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pVals","nativeSrc":"6425:5:0","nodeType":"YulTypedName","src":"6425:5:0","type":""},{"name":"n","nativeSrc":"6432:1:0","nodeType":"YulTypedName","src":"6432:1:0","type":""}],"src":"6403:1517:0"},{"body":{"nativeSrc":"7969:139:0","nodeType":"YulBlock","src":"7969:139:0","statements":[{"body":{"nativeSrc":"8007:87:0","nodeType":"YulBlock","src":"8007:87:0","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8036:1:0","nodeType":"YulLiteral","src":"8036:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"8039:1:0","nodeType":"YulLiteral","src":"8039:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8029:6:0","nodeType":"YulIdentifier","src":"8029:6:0"},"nativeSrc":"8029:12:0","nodeType":"YulFunctionCall","src":"8029:12:0"},"nativeSrc":"8029:12:0","nodeType":"YulExpressionStatement","src":"8029:12:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8069:1:0","nodeType":"YulLiteral","src":"8069:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"8071:4:0","nodeType":"YulLiteral","src":"8071:4:0","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8062:6:0","nodeType":"YulIdentifier","src":"8062:6:0"},"nativeSrc":"8062:14:0","nodeType":"YulFunctionCall","src":"8062:14:0"},"nativeSrc":"8062:14:0","nodeType":"YulExpressionStatement","src":"8062:14:0"}]},"condition":{"arguments":[{"arguments":[{"name":"v","nativeSrc":"8000:1:0","nodeType":"YulIdentifier","src":"8000:1:0"},{"name":"q","nativeSrc":"8003:1:0","nodeType":"YulIdentifier","src":"8003:1:0"}],"functionName":{"name":"lt","nativeSrc":"7997:2:0","nodeType":"YulIdentifier","src":"7997:2:0"},"nativeSrc":"7997:8:0","nodeType":"YulFunctionCall","src":"7997:8:0"}],"functionName":{"name":"iszero","nativeSrc":"7990:6:0","nodeType":"YulIdentifier","src":"7990:6:0"},"nativeSrc":"7990:16:0","nodeType":"YulFunctionCall","src":"7990:16:0"},"nativeSrc":"7987:107:0","nodeType":"YulIf","src":"7987:107:0"}]},"name":"checkField","nativeSrc":"7946:162:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"v","nativeSrc":"7966:1:0","nodeType":"YulTypedName","src":"7966:1:0","type":""}],"src":"7946:162:0"},{"body":{"nativeSrc":"8162:640:0","nodeType":"YulBlock","src":"8162:640:0","statements":[{"body":{"nativeSrc":"8215:87:0","nodeType":"YulBlock","src":"8215:87:0","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8244:1:0","nodeType":"YulLiteral","src":"8244:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"8247:1:0","nodeType":"YulLiteral","src":"8247:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8237:6:0","nodeType":"YulIdentifier","src":"8237:6:0"},"nativeSrc":"8237:12:0","nodeType":"YulFunctionCall","src":"8237:12:0"},"nativeSrc":"8237:12:0","nodeType":"YulExpressionStatement","src":"8237:12:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8277:1:0","nodeType":"YulLiteral","src":"8277:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"8279:4:0","nodeType":"YulLiteral","src":"8279:4:0","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8270:6:0","nodeType":"YulIdentifier","src":"8270:6:0"},"nativeSrc":"8270:14:0","nodeType":"YulFunctionCall","src":"8270:14:0"},"nativeSrc":"8270:14:0","nodeType":"YulExpressionStatement","src":"8270:14:0"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8199:6:0","nodeType":"YulIdentifier","src":"8199:6:0"}],"functionName":{"name":"mload","nativeSrc":"8193:5:0","nodeType":"YulIdentifier","src":"8193:5:0"},"nativeSrc":"8193:13:0","nodeType":"YulFunctionCall","src":"8193:13:0"},{"kind":"number","nativeSrc":"8208:3:0","nodeType":"YulLiteral","src":"8208:3:0","type":"","value":"800"}],"functionName":{"name":"eq","nativeSrc":"8190:2:0","nodeType":"YulIdentifier","src":"8190:2:0"},"nativeSrc":"8190:23:0","nodeType":"YulFunctionCall","src":"8190:23:0"}],"functionName":{"name":"iszero","nativeSrc":"8183:6:0","nodeType":"YulIdentifier","src":"8183:6:0"},"nativeSrc":"8183:31:0","nodeType":"YulFunctionCall","src":"8183:31:0"},"nativeSrc":"8180:122:0","nodeType":"YulIf","src":"8180:122:0"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8340:6:0","nodeType":"YulIdentifier","src":"8340:6:0"},{"name":"pEval_a","nativeSrc":"8348:7:0","nodeType":"YulIdentifier","src":"8348:7:0"}],"functionName":{"name":"add","nativeSrc":"8336:3:0","nodeType":"YulIdentifier","src":"8336:3:0"},"nativeSrc":"8336:20:0","nodeType":"YulFunctionCall","src":"8336:20:0"}],"functionName":{"name":"mload","nativeSrc":"8330:5:0","nodeType":"YulIdentifier","src":"8330:5:0"},"nativeSrc":"8330:27:0","nodeType":"YulFunctionCall","src":"8330:27:0"}],"functionName":{"name":"checkField","nativeSrc":"8319:10:0","nodeType":"YulIdentifier","src":"8319:10:0"},"nativeSrc":"8319:39:0","nodeType":"YulFunctionCall","src":"8319:39:0"},"nativeSrc":"8319:39:0","nodeType":"YulExpressionStatement","src":"8319:39:0"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8396:6:0","nodeType":"YulIdentifier","src":"8396:6:0"},{"name":"pEval_b","nativeSrc":"8404:7:0","nodeType":"YulIdentifier","src":"8404:7:0"}],"functionName":{"name":"add","nativeSrc":"8392:3:0","nodeType":"YulIdentifier","src":"8392:3:0"},"nativeSrc":"8392:20:0","nodeType":"YulFunctionCall","src":"8392:20:0"}],"functionName":{"name":"mload","nativeSrc":"8386:5:0","nodeType":"YulIdentifier","src":"8386:5:0"},"nativeSrc":"8386:27:0","nodeType":"YulFunctionCall","src":"8386:27:0"}],"functionName":{"name":"checkField","nativeSrc":"8375:10:0","nodeType":"YulIdentifier","src":"8375:10:0"},"nativeSrc":"8375:39:0","nodeType":"YulFunctionCall","src":"8375:39:0"},"nativeSrc":"8375:39:0","nodeType":"YulExpressionStatement","src":"8375:39:0"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8452:6:0","nodeType":"YulIdentifier","src":"8452:6:0"},{"name":"pEval_c","nativeSrc":"8460:7:0","nodeType":"YulIdentifier","src":"8460:7:0"}],"functionName":{"name":"add","nativeSrc":"8448:3:0","nodeType":"YulIdentifier","src":"8448:3:0"},"nativeSrc":"8448:20:0","nodeType":"YulFunctionCall","src":"8448:20:0"}],"functionName":{"name":"mload","nativeSrc":"8442:5:0","nodeType":"YulIdentifier","src":"8442:5:0"},"nativeSrc":"8442:27:0","nodeType":"YulFunctionCall","src":"8442:27:0"}],"functionName":{"name":"checkField","nativeSrc":"8431:10:0","nodeType":"YulIdentifier","src":"8431:10:0"},"nativeSrc":"8431:39:0","nodeType":"YulFunctionCall","src":"8431:39:0"},"nativeSrc":"8431:39:0","nodeType":"YulExpressionStatement","src":"8431:39:0"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8508:6:0","nodeType":"YulIdentifier","src":"8508:6:0"},{"name":"pEval_s1","nativeSrc":"8516:8:0","nodeType":"YulIdentifier","src":"8516:8:0"}],"functionName":{"name":"add","nativeSrc":"8504:3:0","nodeType":"YulIdentifier","src":"8504:3:0"},"nativeSrc":"8504:21:0","nodeType":"YulFunctionCall","src":"8504:21:0"}],"functionName":{"name":"mload","nativeSrc":"8498:5:0","nodeType":"YulIdentifier","src":"8498:5:0"},"nativeSrc":"8498:28:0","nodeType":"YulFunctionCall","src":"8498:28:0"}],"functionName":{"name":"checkField","nativeSrc":"8487:10:0","nodeType":"YulIdentifier","src":"8487:10:0"},"nativeSrc":"8487:40:0","nodeType":"YulFunctionCall","src":"8487:40:0"},"nativeSrc":"8487:40:0","nodeType":"YulExpressionStatement","src":"8487:40:0"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8565:6:0","nodeType":"YulIdentifier","src":"8565:6:0"},{"name":"pEval_s2","nativeSrc":"8573:8:0","nodeType":"YulIdentifier","src":"8573:8:0"}],"functionName":{"name":"add","nativeSrc":"8561:3:0","nodeType":"YulIdentifier","src":"8561:3:0"},"nativeSrc":"8561:21:0","nodeType":"YulFunctionCall","src":"8561:21:0"}],"functionName":{"name":"mload","nativeSrc":"8555:5:0","nodeType":"YulIdentifier","src":"8555:5:0"},"nativeSrc":"8555:28:0","nodeType":"YulFunctionCall","src":"8555:28:0"}],"functionName":{"name":"checkField","nativeSrc":"8544:10:0","nodeType":"YulIdentifier","src":"8544:10:0"},"nativeSrc":"8544:40:0","nodeType":"YulFunctionCall","src":"8544:40:0"},"nativeSrc":"8544:40:0","nodeType":"YulExpressionStatement","src":"8544:40:0"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8622:6:0","nodeType":"YulIdentifier","src":"8622:6:0"},{"name":"pEval_zw","nativeSrc":"8630:8:0","nodeType":"YulIdentifier","src":"8630:8:0"}],"functionName":{"name":"add","nativeSrc":"8618:3:0","nodeType":"YulIdentifier","src":"8618:3:0"},"nativeSrc":"8618:21:0","nodeType":"YulFunctionCall","src":"8618:21:0"}],"functionName":{"name":"mload","nativeSrc":"8612:5:0","nodeType":"YulIdentifier","src":"8612:5:0"},"nativeSrc":"8612:28:0","nodeType":"YulFunctionCall","src":"8612:28:0"}],"functionName":{"name":"checkField","nativeSrc":"8601:10:0","nodeType":"YulIdentifier","src":"8601:10:0"},"nativeSrc":"8601:40:0","nodeType":"YulFunctionCall","src":"8601:40:0"},"nativeSrc":"8601:40:0","nodeType":"YulExpressionStatement","src":"8601:40:0"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8679:6:0","nodeType":"YulIdentifier","src":"8679:6:0"},{"name":"pEval_r","nativeSrc":"8687:7:0","nodeType":"YulIdentifier","src":"8687:7:0"}],"functionName":{"name":"add","nativeSrc":"8675:3:0","nodeType":"YulIdentifier","src":"8675:3:0"},"nativeSrc":"8675:20:0","nodeType":"YulFunctionCall","src":"8675:20:0"}],"functionName":{"name":"mload","nativeSrc":"8669:5:0","nodeType":"YulIdentifier","src":"8669:5:0"},"nativeSrc":"8669:27:0","nodeType":"YulFunctionCall","src":"8669:27:0"}],"functionName":{"name":"checkField","nativeSrc":"8658:10:0","nodeType":"YulIdentifier","src":"8658:10:0"},"nativeSrc":"8658:39:0","nodeType":"YulFunctionCall","src":"8658:39:0"},"nativeSrc":"8658:39:0","nodeType":"YulExpressionStatement","src":"8658:39:0"}]},"name":"checkInput","nativeSrc":"8134:668:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8154:6:0","nodeType":"YulTypedName","src":"8154:6:0","type":""}],"src":"8134:668:0"},{"body":{"nativeSrc":"8880:2776:0","nodeType":"YulBlock","src":"8880:2776:0","statements":[{"nativeSrc":"8911:5:0","nodeType":"YulVariableDeclaration","src":"8911:5:0","variables":[{"name":"a","nativeSrc":"8915:1:0","nodeType":"YulTypedName","src":"8915:1:0","type":""}]},{"nativeSrc":"8933:5:0","nodeType":"YulVariableDeclaration","src":"8933:5:0","variables":[{"name":"b","nativeSrc":"8937:1:0","nodeType":"YulTypedName","src":"8937:1:0","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"8985:4:0","nodeType":"YulIdentifier","src":"8985:4:0"},{"kind":"number","nativeSrc":"8991:3:0","nodeType":"YulLiteral","src":"8991:3:0","type":"","value":"704"}],"functionName":{"name":"add","nativeSrc":"8981:3:0","nodeType":"YulIdentifier","src":"8981:3:0"},"nativeSrc":"8981:15:0","nodeType":"YulFunctionCall","src":"8981:15:0"},{"arguments":[{"arguments":[{"name":"pPublic","nativeSrc":"9010:7:0","nodeType":"YulIdentifier","src":"9010:7:0"},{"kind":"number","nativeSrc":"9019:2:0","nodeType":"YulLiteral","src":"9019:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9005:3:0","nodeType":"YulIdentifier","src":"9005:3:0"},"nativeSrc":"9005:17:0","nodeType":"YulFunctionCall","src":"9005:17:0"}],"functionName":{"name":"mload","nativeSrc":"8998:5:0","nodeType":"YulIdentifier","src":"8998:5:0"},"nativeSrc":"8998:25:0","nodeType":"YulFunctionCall","src":"8998:25:0"}],"functionName":{"name":"mstore","nativeSrc":"8973:6:0","nodeType":"YulIdentifier","src":"8973:6:0"},"nativeSrc":"8973:51:0","nodeType":"YulFunctionCall","src":"8973:51:0"},"nativeSrc":"8973:51:0","nodeType":"YulExpressionStatement","src":"8973:51:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9070:4:0","nodeType":"YulIdentifier","src":"9070:4:0"},{"kind":"number","nativeSrc":"9076:3:0","nodeType":"YulLiteral","src":"9076:3:0","type":"","value":"736"}],"functionName":{"name":"add","nativeSrc":"9066:3:0","nodeType":"YulIdentifier","src":"9066:3:0"},"nativeSrc":"9066:15:0","nodeType":"YulFunctionCall","src":"9066:15:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9095:6:0","nodeType":"YulIdentifier","src":"9095:6:0"},{"name":"pA","nativeSrc":"9103:2:0","nodeType":"YulIdentifier","src":"9103:2:0"}],"functionName":{"name":"add","nativeSrc":"9090:3:0","nodeType":"YulIdentifier","src":"9090:3:0"},"nativeSrc":"9090:16:0","nodeType":"YulFunctionCall","src":"9090:16:0"}],"functionName":{"name":"mload","nativeSrc":"9083:5:0","nodeType":"YulIdentifier","src":"9083:5:0"},"nativeSrc":"9083:24:0","nodeType":"YulFunctionCall","src":"9083:24:0"}],"functionName":{"name":"mstore","nativeSrc":"9058:6:0","nodeType":"YulIdentifier","src":"9058:6:0"},"nativeSrc":"9058:50:0","nodeType":"YulFunctionCall","src":"9058:50:0"},"nativeSrc":"9058:50:0","nodeType":"YulExpressionStatement","src":"9058:50:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9137:4:0","nodeType":"YulIdentifier","src":"9137:4:0"},{"kind":"number","nativeSrc":"9143:3:0","nodeType":"YulLiteral","src":"9143:3:0","type":"","value":"768"}],"functionName":{"name":"add","nativeSrc":"9133:3:0","nodeType":"YulIdentifier","src":"9133:3:0"},"nativeSrc":"9133:15:0","nodeType":"YulFunctionCall","src":"9133:15:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9162:6:0","nodeType":"YulIdentifier","src":"9162:6:0"},{"arguments":[{"name":"pA","nativeSrc":"9174:2:0","nodeType":"YulIdentifier","src":"9174:2:0"},{"kind":"number","nativeSrc":"9177:2:0","nodeType":"YulLiteral","src":"9177:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9170:3:0","nodeType":"YulIdentifier","src":"9170:3:0"},"nativeSrc":"9170:10:0","nodeType":"YulFunctionCall","src":"9170:10:0"}],"functionName":{"name":"add","nativeSrc":"9157:3:0","nodeType":"YulIdentifier","src":"9157:3:0"},"nativeSrc":"9157:24:0","nodeType":"YulFunctionCall","src":"9157:24:0"}],"functionName":{"name":"mload","nativeSrc":"9150:5:0","nodeType":"YulIdentifier","src":"9150:5:0"},"nativeSrc":"9150:32:0","nodeType":"YulFunctionCall","src":"9150:32:0"}],"functionName":{"name":"mstore","nativeSrc":"9125:6:0","nodeType":"YulIdentifier","src":"9125:6:0"},"nativeSrc":"9125:58:0","nodeType":"YulFunctionCall","src":"9125:58:0"},"nativeSrc":"9125:58:0","nodeType":"YulExpressionStatement","src":"9125:58:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9212:4:0","nodeType":"YulIdentifier","src":"9212:4:0"},{"kind":"number","nativeSrc":"9218:3:0","nodeType":"YulLiteral","src":"9218:3:0","type":"","value":"800"}],"functionName":{"name":"add","nativeSrc":"9208:3:0","nodeType":"YulIdentifier","src":"9208:3:0"},"nativeSrc":"9208:15:0","nodeType":"YulFunctionCall","src":"9208:15:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9237:6:0","nodeType":"YulIdentifier","src":"9237:6:0"},{"arguments":[{"name":"pA","nativeSrc":"9249:2:0","nodeType":"YulIdentifier","src":"9249:2:0"},{"kind":"number","nativeSrc":"9252:2:0","nodeType":"YulLiteral","src":"9252:2:0","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"9245:3:0","nodeType":"YulIdentifier","src":"9245:3:0"},"nativeSrc":"9245:10:0","nodeType":"YulFunctionCall","src":"9245:10:0"}],"functionName":{"name":"add","nativeSrc":"9232:3:0","nodeType":"YulIdentifier","src":"9232:3:0"},"nativeSrc":"9232:24:0","nodeType":"YulFunctionCall","src":"9232:24:0"}],"functionName":{"name":"mload","nativeSrc":"9225:5:0","nodeType":"YulIdentifier","src":"9225:5:0"},"nativeSrc":"9225:32:0","nodeType":"YulFunctionCall","src":"9225:32:0"}],"functionName":{"name":"mstore","nativeSrc":"9200:6:0","nodeType":"YulIdentifier","src":"9200:6:0"},"nativeSrc":"9200:58:0","nodeType":"YulFunctionCall","src":"9200:58:0"},"nativeSrc":"9200:58:0","nodeType":"YulExpressionStatement","src":"9200:58:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9287:4:0","nodeType":"YulIdentifier","src":"9287:4:0"},{"kind":"number","nativeSrc":"9293:3:0","nodeType":"YulLiteral","src":"9293:3:0","type":"","value":"832"}],"functionName":{"name":"add","nativeSrc":"9283:3:0","nodeType":"YulIdentifier","src":"9283:3:0"},"nativeSrc":"9283:15:0","nodeType":"YulFunctionCall","src":"9283:15:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9312:6:0","nodeType":"YulIdentifier","src":"9312:6:0"},{"arguments":[{"name":"pA","nativeSrc":"9324:2:0","nodeType":"YulIdentifier","src":"9324:2:0"},{"kind":"number","nativeSrc":"9327:2:0","nodeType":"YulLiteral","src":"9327:2:0","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"9320:3:0","nodeType":"YulIdentifier","src":"9320:3:0"},"nativeSrc":"9320:10:0","nodeType":"YulFunctionCall","src":"9320:10:0"}],"functionName":{"name":"add","nativeSrc":"9307:3:0","nodeType":"YulIdentifier","src":"9307:3:0"},"nativeSrc":"9307:24:0","nodeType":"YulFunctionCall","src":"9307:24:0"}],"functionName":{"name":"mload","nativeSrc":"9300:5:0","nodeType":"YulIdentifier","src":"9300:5:0"},"nativeSrc":"9300:32:0","nodeType":"YulFunctionCall","src":"9300:32:0"}],"functionName":{"name":"mstore","nativeSrc":"9275:6:0","nodeType":"YulIdentifier","src":"9275:6:0"},"nativeSrc":"9275:58:0","nodeType":"YulFunctionCall","src":"9275:58:0"},"nativeSrc":"9275:58:0","nodeType":"YulExpressionStatement","src":"9275:58:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9362:4:0","nodeType":"YulIdentifier","src":"9362:4:0"},{"kind":"number","nativeSrc":"9368:3:0","nodeType":"YulLiteral","src":"9368:3:0","type":"","value":"864"}],"functionName":{"name":"add","nativeSrc":"9358:3:0","nodeType":"YulIdentifier","src":"9358:3:0"},"nativeSrc":"9358:15:0","nodeType":"YulFunctionCall","src":"9358:15:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9387:6:0","nodeType":"YulIdentifier","src":"9387:6:0"},{"arguments":[{"name":"pA","nativeSrc":"9399:2:0","nodeType":"YulIdentifier","src":"9399:2:0"},{"kind":"number","nativeSrc":"9402:3:0","nodeType":"YulLiteral","src":"9402:3:0","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"9395:3:0","nodeType":"YulIdentifier","src":"9395:3:0"},"nativeSrc":"9395:11:0","nodeType":"YulFunctionCall","src":"9395:11:0"}],"functionName":{"name":"add","nativeSrc":"9382:3:0","nodeType":"YulIdentifier","src":"9382:3:0"},"nativeSrc":"9382:25:0","nodeType":"YulFunctionCall","src":"9382:25:0"}],"functionName":{"name":"mload","nativeSrc":"9375:5:0","nodeType":"YulIdentifier","src":"9375:5:0"},"nativeSrc":"9375:33:0","nodeType":"YulFunctionCall","src":"9375:33:0"}],"functionName":{"name":"mstore","nativeSrc":"9350:6:0","nodeType":"YulIdentifier","src":"9350:6:0"},"nativeSrc":"9350:59:0","nodeType":"YulFunctionCall","src":"9350:59:0"},"nativeSrc":"9350:59:0","nodeType":"YulExpressionStatement","src":"9350:59:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9438:4:0","nodeType":"YulIdentifier","src":"9438:4:0"},{"kind":"number","nativeSrc":"9444:3:0","nodeType":"YulLiteral","src":"9444:3:0","type":"","value":"896"}],"functionName":{"name":"add","nativeSrc":"9434:3:0","nodeType":"YulIdentifier","src":"9434:3:0"},"nativeSrc":"9434:15:0","nodeType":"YulFunctionCall","src":"9434:15:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9463:6:0","nodeType":"YulIdentifier","src":"9463:6:0"},{"arguments":[{"name":"pA","nativeSrc":"9475:2:0","nodeType":"YulIdentifier","src":"9475:2:0"},{"kind":"number","nativeSrc":"9478:3:0","nodeType":"YulLiteral","src":"9478:3:0","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"9471:3:0","nodeType":"YulIdentifier","src":"9471:3:0"},"nativeSrc":"9471:11:0","nodeType":"YulFunctionCall","src":"9471:11:0"}],"functionName":{"name":"add","nativeSrc":"9458:3:0","nodeType":"YulIdentifier","src":"9458:3:0"},"nativeSrc":"9458:25:0","nodeType":"YulFunctionCall","src":"9458:25:0"}],"functionName":{"name":"mload","nativeSrc":"9451:5:0","nodeType":"YulIdentifier","src":"9451:5:0"},"nativeSrc":"9451:33:0","nodeType":"YulFunctionCall","src":"9451:33:0"}],"functionName":{"name":"mstore","nativeSrc":"9426:6:0","nodeType":"YulIdentifier","src":"9426:6:0"},"nativeSrc":"9426:59:0","nodeType":"YulFunctionCall","src":"9426:59:0"},"nativeSrc":"9426:59:0","nodeType":"YulExpressionStatement","src":"9426:59:0"},{"nativeSrc":"9519:47:0","nodeType":"YulAssignment","src":"9519:47:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9542:4:0","nodeType":"YulIdentifier","src":"9542:4:0"},{"name":"lastMem","nativeSrc":"9548:7:0","nodeType":"YulIdentifier","src":"9548:7:0"}],"functionName":{"name":"add","nativeSrc":"9538:3:0","nodeType":"YulIdentifier","src":"9538:3:0"},"nativeSrc":"9538:18:0","nodeType":"YulFunctionCall","src":"9538:18:0"},{"kind":"number","nativeSrc":"9558:3:0","nodeType":"YulLiteral","src":"9558:3:0","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"9528:9:0","nodeType":"YulIdentifier","src":"9528:9:0"},"nativeSrc":"9528:34:0","nodeType":"YulFunctionCall","src":"9528:34:0"},{"name":"q","nativeSrc":"9564:1:0","nodeType":"YulIdentifier","src":"9564:1:0"}],"functionName":{"name":"mod","nativeSrc":"9524:3:0","nodeType":"YulIdentifier","src":"9524:3:0"},"nativeSrc":"9524:42:0","nodeType":"YulFunctionCall","src":"9524:42:0"},"variableNames":[{"name":"b","nativeSrc":"9519:1:0","nodeType":"YulIdentifier","src":"9519:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9596:4:0","nodeType":"YulIdentifier","src":"9596:4:0"},{"name":"pBeta","nativeSrc":"9602:5:0","nodeType":"YulIdentifier","src":"9602:5:0"}],"functionName":{"name":"add","nativeSrc":"9592:3:0","nodeType":"YulIdentifier","src":"9592:3:0"},"nativeSrc":"9592:16:0","nodeType":"YulFunctionCall","src":"9592:16:0"},{"name":"b","nativeSrc":"9610:1:0","nodeType":"YulIdentifier","src":"9610:1:0"}],"functionName":{"name":"mstore","nativeSrc":"9584:6:0","nodeType":"YulIdentifier","src":"9584:6:0"},"nativeSrc":"9584:28:0","nodeType":"YulFunctionCall","src":"9584:28:0"},"nativeSrc":"9584:28:0","nodeType":"YulExpressionStatement","src":"9584:28:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9641:4:0","nodeType":"YulIdentifier","src":"9641:4:0"},{"name":"pGamma","nativeSrc":"9647:6:0","nodeType":"YulIdentifier","src":"9647:6:0"}],"functionName":{"name":"add","nativeSrc":"9637:3:0","nodeType":"YulIdentifier","src":"9637:3:0"},"nativeSrc":"9637:17:0","nodeType":"YulFunctionCall","src":"9637:17:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9674:4:0","nodeType":"YulIdentifier","src":"9674:4:0"},{"name":"pBeta","nativeSrc":"9680:5:0","nodeType":"YulIdentifier","src":"9680:5:0"}],"functionName":{"name":"add","nativeSrc":"9670:3:0","nodeType":"YulIdentifier","src":"9670:3:0"},"nativeSrc":"9670:16:0","nodeType":"YulFunctionCall","src":"9670:16:0"},{"kind":"number","nativeSrc":"9688:2:0","nodeType":"YulLiteral","src":"9688:2:0","type":"","value":"32"}],"functionName":{"name":"keccak256","nativeSrc":"9660:9:0","nodeType":"YulIdentifier","src":"9660:9:0"},"nativeSrc":"9660:31:0","nodeType":"YulFunctionCall","src":"9660:31:0"},{"name":"q","nativeSrc":"9693:1:0","nodeType":"YulIdentifier","src":"9693:1:0"}],"functionName":{"name":"mod","nativeSrc":"9656:3:0","nodeType":"YulIdentifier","src":"9656:3:0"},"nativeSrc":"9656:39:0","nodeType":"YulFunctionCall","src":"9656:39:0"}],"functionName":{"name":"mstore","nativeSrc":"9629:6:0","nodeType":"YulIdentifier","src":"9629:6:0"},"nativeSrc":"9629:67:0","nodeType":"YulFunctionCall","src":"9629:67:0"},"nativeSrc":"9629:67:0","nodeType":"YulExpressionStatement","src":"9629:67:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9725:4:0","nodeType":"YulIdentifier","src":"9725:4:0"},{"name":"pAlpha","nativeSrc":"9731:6:0","nodeType":"YulIdentifier","src":"9731:6:0"}],"functionName":{"name":"add","nativeSrc":"9721:3:0","nodeType":"YulIdentifier","src":"9721:3:0"},"nativeSrc":"9721:17:0","nodeType":"YulFunctionCall","src":"9721:17:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9758:6:0","nodeType":"YulIdentifier","src":"9758:6:0"},{"name":"pZ","nativeSrc":"9766:2:0","nodeType":"YulIdentifier","src":"9766:2:0"}],"functionName":{"name":"add","nativeSrc":"9754:3:0","nodeType":"YulIdentifier","src":"9754:3:0"},"nativeSrc":"9754:15:0","nodeType":"YulFunctionCall","src":"9754:15:0"},{"kind":"number","nativeSrc":"9771:2:0","nodeType":"YulLiteral","src":"9771:2:0","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"9744:9:0","nodeType":"YulIdentifier","src":"9744:9:0"},"nativeSrc":"9744:30:0","nodeType":"YulFunctionCall","src":"9744:30:0"},{"name":"q","nativeSrc":"9776:1:0","nodeType":"YulIdentifier","src":"9776:1:0"}],"functionName":{"name":"mod","nativeSrc":"9740:3:0","nodeType":"YulIdentifier","src":"9740:3:0"},"nativeSrc":"9740:38:0","nodeType":"YulFunctionCall","src":"9740:38:0"}],"functionName":{"name":"mstore","nativeSrc":"9713:6:0","nodeType":"YulIdentifier","src":"9713:6:0"},"nativeSrc":"9713:66:0","nodeType":"YulFunctionCall","src":"9713:66:0"},"nativeSrc":"9713:66:0","nodeType":"YulExpressionStatement","src":"9713:66:0"},{"nativeSrc":"9813:45:0","nodeType":"YulAssignment","src":"9813:45:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9836:6:0","nodeType":"YulIdentifier","src":"9836:6:0"},{"name":"pT1","nativeSrc":"9844:3:0","nodeType":"YulIdentifier","src":"9844:3:0"}],"functionName":{"name":"add","nativeSrc":"9832:3:0","nodeType":"YulIdentifier","src":"9832:3:0"},"nativeSrc":"9832:16:0","nodeType":"YulFunctionCall","src":"9832:16:0"},{"kind":"number","nativeSrc":"9850:3:0","nodeType":"YulLiteral","src":"9850:3:0","type":"","value":"192"}],"functionName":{"name":"keccak256","nativeSrc":"9822:9:0","nodeType":"YulIdentifier","src":"9822:9:0"},"nativeSrc":"9822:32:0","nodeType":"YulFunctionCall","src":"9822:32:0"},{"name":"q","nativeSrc":"9856:1:0","nodeType":"YulIdentifier","src":"9856:1:0"}],"functionName":{"name":"mod","nativeSrc":"9818:3:0","nodeType":"YulIdentifier","src":"9818:3:0"},"nativeSrc":"9818:40:0","nodeType":"YulFunctionCall","src":"9818:40:0"},"variableNames":[{"name":"a","nativeSrc":"9813:1:0","nodeType":"YulIdentifier","src":"9813:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9887:4:0","nodeType":"YulIdentifier","src":"9887:4:0"},{"name":"pXi","nativeSrc":"9893:3:0","nodeType":"YulIdentifier","src":"9893:3:0"}],"functionName":{"name":"add","nativeSrc":"9883:3:0","nodeType":"YulIdentifier","src":"9883:3:0"},"nativeSrc":"9883:14:0","nodeType":"YulFunctionCall","src":"9883:14:0"},{"name":"a","nativeSrc":"9899:1:0","nodeType":"YulIdentifier","src":"9899:1:0"}],"functionName":{"name":"mstore","nativeSrc":"9875:6:0","nodeType":"YulIdentifier","src":"9875:6:0"},"nativeSrc":"9875:26:0","nodeType":"YulFunctionCall","src":"9875:26:0"},"nativeSrc":"9875:26:0","nodeType":"YulExpressionStatement","src":"9875:26:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9930:4:0","nodeType":"YulIdentifier","src":"9930:4:0"},{"name":"pBetaXi","nativeSrc":"9936:7:0","nodeType":"YulIdentifier","src":"9936:7:0"}],"functionName":{"name":"add","nativeSrc":"9926:3:0","nodeType":"YulIdentifier","src":"9926:3:0"},"nativeSrc":"9926:18:0","nodeType":"YulFunctionCall","src":"9926:18:0"},{"arguments":[{"name":"b","nativeSrc":"9953:1:0","nodeType":"YulIdentifier","src":"9953:1:0"},{"name":"a","nativeSrc":"9956:1:0","nodeType":"YulIdentifier","src":"9956:1:0"},{"name":"q","nativeSrc":"9959:1:0","nodeType":"YulIdentifier","src":"9959:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"9946:6:0","nodeType":"YulIdentifier","src":"9946:6:0"},"nativeSrc":"9946:15:0","nodeType":"YulFunctionCall","src":"9946:15:0"}],"functionName":{"name":"mstore","nativeSrc":"9918:6:0","nodeType":"YulIdentifier","src":"9918:6:0"},"nativeSrc":"9918:44:0","nodeType":"YulFunctionCall","src":"9918:44:0"},"nativeSrc":"9918:44:0","nodeType":"YulExpressionStatement","src":"9918:44:0"},{"nativeSrc":"9996:19:0","nodeType":"YulAssignment","src":"9996:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10007:1:0","nodeType":"YulIdentifier","src":"10007:1:0"},{"name":"a","nativeSrc":"10010:1:0","nodeType":"YulIdentifier","src":"10010:1:0"},{"name":"q","nativeSrc":"10013:1:0","nodeType":"YulIdentifier","src":"10013:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10000:6:0","nodeType":"YulIdentifier","src":"10000:6:0"},"nativeSrc":"10000:15:0","nodeType":"YulFunctionCall","src":"10000:15:0"},"variableNames":[{"name":"a","nativeSrc":"9996:1:0","nodeType":"YulIdentifier","src":"9996:1:0"}]},{"nativeSrc":"10049:19:0","nodeType":"YulAssignment","src":"10049:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10060:1:0","nodeType":"YulIdentifier","src":"10060:1:0"},{"name":"a","nativeSrc":"10063:1:0","nodeType":"YulIdentifier","src":"10063:1:0"},{"name":"q","nativeSrc":"10066:1:0","nodeType":"YulIdentifier","src":"10066:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10053:6:0","nodeType":"YulIdentifier","src":"10053:6:0"},"nativeSrc":"10053:15:0","nodeType":"YulFunctionCall","src":"10053:15:0"},"variableNames":[{"name":"a","nativeSrc":"10049:1:0","nodeType":"YulIdentifier","src":"10049:1:0"}]},{"nativeSrc":"10102:19:0","nodeType":"YulAssignment","src":"10102:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10113:1:0","nodeType":"YulIdentifier","src":"10113:1:0"},{"name":"a","nativeSrc":"10116:1:0","nodeType":"YulIdentifier","src":"10116:1:0"},{"name":"q","nativeSrc":"10119:1:0","nodeType":"YulIdentifier","src":"10119:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10106:6:0","nodeType":"YulIdentifier","src":"10106:6:0"},"nativeSrc":"10106:15:0","nodeType":"YulFunctionCall","src":"10106:15:0"},"variableNames":[{"name":"a","nativeSrc":"10102:1:0","nodeType":"YulIdentifier","src":"10102:1:0"}]},{"nativeSrc":"10155:19:0","nodeType":"YulAssignment","src":"10155:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10166:1:0","nodeType":"YulIdentifier","src":"10166:1:0"},{"name":"a","nativeSrc":"10169:1:0","nodeType":"YulIdentifier","src":"10169:1:0"},{"name":"q","nativeSrc":"10172:1:0","nodeType":"YulIdentifier","src":"10172:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10159:6:0","nodeType":"YulIdentifier","src":"10159:6:0"},"nativeSrc":"10159:15:0","nodeType":"YulFunctionCall","src":"10159:15:0"},"variableNames":[{"name":"a","nativeSrc":"10155:1:0","nodeType":"YulIdentifier","src":"10155:1:0"}]},{"nativeSrc":"10208:19:0","nodeType":"YulAssignment","src":"10208:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10219:1:0","nodeType":"YulIdentifier","src":"10219:1:0"},{"name":"a","nativeSrc":"10222:1:0","nodeType":"YulIdentifier","src":"10222:1:0"},{"name":"q","nativeSrc":"10225:1:0","nodeType":"YulIdentifier","src":"10225:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10212:6:0","nodeType":"YulIdentifier","src":"10212:6:0"},"nativeSrc":"10212:15:0","nodeType":"YulFunctionCall","src":"10212:15:0"},"variableNames":[{"name":"a","nativeSrc":"10208:1:0","nodeType":"YulIdentifier","src":"10208:1:0"}]},{"nativeSrc":"10261:19:0","nodeType":"YulAssignment","src":"10261:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10272:1:0","nodeType":"YulIdentifier","src":"10272:1:0"},{"name":"a","nativeSrc":"10275:1:0","nodeType":"YulIdentifier","src":"10275:1:0"},{"name":"q","nativeSrc":"10278:1:0","nodeType":"YulIdentifier","src":"10278:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10265:6:0","nodeType":"YulIdentifier","src":"10265:6:0"},"nativeSrc":"10265:15:0","nodeType":"YulFunctionCall","src":"10265:15:0"},"variableNames":[{"name":"a","nativeSrc":"10261:1:0","nodeType":"YulIdentifier","src":"10261:1:0"}]},{"nativeSrc":"10314:19:0","nodeType":"YulAssignment","src":"10314:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10325:1:0","nodeType":"YulIdentifier","src":"10325:1:0"},{"name":"a","nativeSrc":"10328:1:0","nodeType":"YulIdentifier","src":"10328:1:0"},{"name":"q","nativeSrc":"10331:1:0","nodeType":"YulIdentifier","src":"10331:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10318:6:0","nodeType":"YulIdentifier","src":"10318:6:0"},"nativeSrc":"10318:15:0","nodeType":"YulFunctionCall","src":"10318:15:0"},"variableNames":[{"name":"a","nativeSrc":"10314:1:0","nodeType":"YulIdentifier","src":"10314:1:0"}]},{"nativeSrc":"10367:19:0","nodeType":"YulAssignment","src":"10367:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10378:1:0","nodeType":"YulIdentifier","src":"10378:1:0"},{"name":"a","nativeSrc":"10381:1:0","nodeType":"YulIdentifier","src":"10381:1:0"},{"name":"q","nativeSrc":"10384:1:0","nodeType":"YulIdentifier","src":"10384:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10371:6:0","nodeType":"YulIdentifier","src":"10371:6:0"},"nativeSrc":"10371:15:0","nodeType":"YulFunctionCall","src":"10371:15:0"},"variableNames":[{"name":"a","nativeSrc":"10367:1:0","nodeType":"YulIdentifier","src":"10367:1:0"}]},{"nativeSrc":"10420:19:0","nodeType":"YulAssignment","src":"10420:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10431:1:0","nodeType":"YulIdentifier","src":"10431:1:0"},{"name":"a","nativeSrc":"10434:1:0","nodeType":"YulIdentifier","src":"10434:1:0"},{"name":"q","nativeSrc":"10437:1:0","nodeType":"YulIdentifier","src":"10437:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10424:6:0","nodeType":"YulIdentifier","src":"10424:6:0"},"nativeSrc":"10424:15:0","nodeType":"YulFunctionCall","src":"10424:15:0"},"variableNames":[{"name":"a","nativeSrc":"10420:1:0","nodeType":"YulIdentifier","src":"10420:1:0"}]},{"nativeSrc":"10473:19:0","nodeType":"YulAssignment","src":"10473:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10484:1:0","nodeType":"YulIdentifier","src":"10484:1:0"},{"name":"a","nativeSrc":"10487:1:0","nodeType":"YulIdentifier","src":"10487:1:0"},{"name":"q","nativeSrc":"10490:1:0","nodeType":"YulIdentifier","src":"10490:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10477:6:0","nodeType":"YulIdentifier","src":"10477:6:0"},"nativeSrc":"10477:15:0","nodeType":"YulFunctionCall","src":"10477:15:0"},"variableNames":[{"name":"a","nativeSrc":"10473:1:0","nodeType":"YulIdentifier","src":"10473:1:0"}]},{"nativeSrc":"10526:19:0","nodeType":"YulAssignment","src":"10526:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10537:1:0","nodeType":"YulIdentifier","src":"10537:1:0"},{"name":"a","nativeSrc":"10540:1:0","nodeType":"YulIdentifier","src":"10540:1:0"},{"name":"q","nativeSrc":"10543:1:0","nodeType":"YulIdentifier","src":"10543:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10530:6:0","nodeType":"YulIdentifier","src":"10530:6:0"},"nativeSrc":"10530:15:0","nodeType":"YulFunctionCall","src":"10530:15:0"},"variableNames":[{"name":"a","nativeSrc":"10526:1:0","nodeType":"YulIdentifier","src":"10526:1:0"}]},{"nativeSrc":"10579:19:0","nodeType":"YulAssignment","src":"10579:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10590:1:0","nodeType":"YulIdentifier","src":"10590:1:0"},{"name":"a","nativeSrc":"10593:1:0","nodeType":"YulIdentifier","src":"10593:1:0"},{"name":"q","nativeSrc":"10596:1:0","nodeType":"YulIdentifier","src":"10596:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10583:6:0","nodeType":"YulIdentifier","src":"10583:6:0"},"nativeSrc":"10583:15:0","nodeType":"YulFunctionCall","src":"10583:15:0"},"variableNames":[{"name":"a","nativeSrc":"10579:1:0","nodeType":"YulIdentifier","src":"10579:1:0"}]},{"nativeSrc":"10632:19:0","nodeType":"YulAssignment","src":"10632:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10643:1:0","nodeType":"YulIdentifier","src":"10643:1:0"},{"name":"a","nativeSrc":"10646:1:0","nodeType":"YulIdentifier","src":"10646:1:0"},{"name":"q","nativeSrc":"10649:1:0","nodeType":"YulIdentifier","src":"10649:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10636:6:0","nodeType":"YulIdentifier","src":"10636:6:0"},"nativeSrc":"10636:15:0","nodeType":"YulFunctionCall","src":"10636:15:0"},"variableNames":[{"name":"a","nativeSrc":"10632:1:0","nodeType":"YulIdentifier","src":"10632:1:0"}]},{"nativeSrc":"10685:19:0","nodeType":"YulAssignment","src":"10685:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10696:1:0","nodeType":"YulIdentifier","src":"10696:1:0"},{"name":"a","nativeSrc":"10699:1:0","nodeType":"YulIdentifier","src":"10699:1:0"},{"name":"q","nativeSrc":"10702:1:0","nodeType":"YulIdentifier","src":"10702:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10689:6:0","nodeType":"YulIdentifier","src":"10689:6:0"},"nativeSrc":"10689:15:0","nodeType":"YulFunctionCall","src":"10689:15:0"},"variableNames":[{"name":"a","nativeSrc":"10685:1:0","nodeType":"YulIdentifier","src":"10685:1:0"}]},{"nativeSrc":"10738:19:0","nodeType":"YulAssignment","src":"10738:19:0","value":{"arguments":[{"name":"a","nativeSrc":"10749:1:0","nodeType":"YulIdentifier","src":"10749:1:0"},{"name":"a","nativeSrc":"10752:1:0","nodeType":"YulIdentifier","src":"10752:1:0"},{"name":"q","nativeSrc":"10755:1:0","nodeType":"YulIdentifier","src":"10755:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"10742:6:0","nodeType":"YulIdentifier","src":"10742:6:0"},"nativeSrc":"10742:15:0","nodeType":"YulFunctionCall","src":"10742:15:0"},"variableNames":[{"name":"a","nativeSrc":"10738:1:0","nodeType":"YulIdentifier","src":"10738:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10803:4:0","nodeType":"YulIdentifier","src":"10803:4:0"},{"name":"pXin","nativeSrc":"10809:4:0","nodeType":"YulIdentifier","src":"10809:4:0"}],"functionName":{"name":"add","nativeSrc":"10799:3:0","nodeType":"YulIdentifier","src":"10799:3:0"},"nativeSrc":"10799:15:0","nodeType":"YulFunctionCall","src":"10799:15:0"},{"name":"a","nativeSrc":"10816:1:0","nodeType":"YulIdentifier","src":"10816:1:0"}],"functionName":{"name":"mstore","nativeSrc":"10791:6:0","nodeType":"YulIdentifier","src":"10791:6:0"},"nativeSrc":"10791:27:0","nodeType":"YulFunctionCall","src":"10791:27:0"},"nativeSrc":"10791:27:0","nodeType":"YulExpressionStatement","src":"10791:27:0"},{"nativeSrc":"10835:28:0","nodeType":"YulAssignment","src":"10835:28:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"10851:1:0","nodeType":"YulIdentifier","src":"10851:1:0"},{"kind":"number","nativeSrc":"10854:1:0","nodeType":"YulLiteral","src":"10854:1:0","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"10847:3:0","nodeType":"YulIdentifier","src":"10847:3:0"},"nativeSrc":"10847:9:0","nodeType":"YulFunctionCall","src":"10847:9:0"},{"name":"q","nativeSrc":"10857:1:0","nodeType":"YulIdentifier","src":"10857:1:0"}],"functionName":{"name":"add","nativeSrc":"10843:3:0","nodeType":"YulIdentifier","src":"10843:3:0"},"nativeSrc":"10843:16:0","nodeType":"YulFunctionCall","src":"10843:16:0"},{"name":"q","nativeSrc":"10861:1:0","nodeType":"YulIdentifier","src":"10861:1:0"}],"functionName":{"name":"mod","nativeSrc":"10839:3:0","nodeType":"YulIdentifier","src":"10839:3:0"},"nativeSrc":"10839:24:0","nodeType":"YulFunctionCall","src":"10839:24:0"},"variableNames":[{"name":"a","nativeSrc":"10835:1:0","nodeType":"YulIdentifier","src":"10835:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10892:4:0","nodeType":"YulIdentifier","src":"10892:4:0"},{"name":"pZh","nativeSrc":"10898:3:0","nodeType":"YulIdentifier","src":"10898:3:0"}],"functionName":{"name":"add","nativeSrc":"10888:3:0","nodeType":"YulIdentifier","src":"10888:3:0"},"nativeSrc":"10888:14:0","nodeType":"YulFunctionCall","src":"10888:14:0"},{"name":"a","nativeSrc":"10904:1:0","nodeType":"YulIdentifier","src":"10904:1:0"}],"functionName":{"name":"mstore","nativeSrc":"10880:6:0","nodeType":"YulIdentifier","src":"10880:6:0"},"nativeSrc":"10880:26:0","nodeType":"YulFunctionCall","src":"10880:26:0"},"nativeSrc":"10880:26:0","nodeType":"YulExpressionStatement","src":"10880:26:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10935:4:0","nodeType":"YulIdentifier","src":"10935:4:0"},{"name":"pZhInv","nativeSrc":"10941:6:0","nodeType":"YulIdentifier","src":"10941:6:0"}],"functionName":{"name":"add","nativeSrc":"10931:3:0","nodeType":"YulIdentifier","src":"10931:3:0"},"nativeSrc":"10931:17:0","nodeType":"YulFunctionCall","src":"10931:17:0"},{"name":"a","nativeSrc":"10950:1:0","nodeType":"YulIdentifier","src":"10950:1:0"}],"functionName":{"name":"mstore","nativeSrc":"10923:6:0","nodeType":"YulIdentifier","src":"10923:6:0"},"nativeSrc":"10923:29:0","nodeType":"YulFunctionCall","src":"10923:29:0"},"nativeSrc":"10923:29:0","nodeType":"YulExpressionStatement","src":"10923:29:0"},{"nativeSrc":"11039:54:0","nodeType":"YulVariableDeclaration","src":"11039:54:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11067:6:0","nodeType":"YulIdentifier","src":"11067:6:0"},{"name":"pEval_a","nativeSrc":"11075:7:0","nodeType":"YulIdentifier","src":"11075:7:0"}],"functionName":{"name":"add","nativeSrc":"11063:3:0","nodeType":"YulIdentifier","src":"11063:3:0"},"nativeSrc":"11063:20:0","nodeType":"YulFunctionCall","src":"11063:20:0"},{"kind":"number","nativeSrc":"11085:3:0","nodeType":"YulLiteral","src":"11085:3:0","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"11053:9:0","nodeType":"YulIdentifier","src":"11053:9:0"},"nativeSrc":"11053:36:0","nodeType":"YulFunctionCall","src":"11053:36:0"},{"name":"q","nativeSrc":"11091:1:0","nodeType":"YulIdentifier","src":"11091:1:0"}],"functionName":{"name":"mod","nativeSrc":"11049:3:0","nodeType":"YulIdentifier","src":"11049:3:0"},"nativeSrc":"11049:44:0","nodeType":"YulFunctionCall","src":"11049:44:0"},"variables":[{"name":"v1","nativeSrc":"11043:2:0","nodeType":"YulTypedName","src":"11043:2:0","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11122:4:0","nodeType":"YulIdentifier","src":"11122:4:0"},{"name":"pV1","nativeSrc":"11128:3:0","nodeType":"YulIdentifier","src":"11128:3:0"}],"functionName":{"name":"add","nativeSrc":"11118:3:0","nodeType":"YulIdentifier","src":"11118:3:0"},"nativeSrc":"11118:14:0","nodeType":"YulFunctionCall","src":"11118:14:0"},{"name":"v1","nativeSrc":"11134:2:0","nodeType":"YulIdentifier","src":"11134:2:0"}],"functionName":{"name":"mstore","nativeSrc":"11110:6:0","nodeType":"YulIdentifier","src":"11110:6:0"},"nativeSrc":"11110:27:0","nodeType":"YulFunctionCall","src":"11110:27:0"},"nativeSrc":"11110:27:0","nodeType":"YulExpressionStatement","src":"11110:27:0"},{"nativeSrc":"11154:22:0","nodeType":"YulAssignment","src":"11154:22:0","value":{"arguments":[{"name":"v1","nativeSrc":"11166:2:0","nodeType":"YulIdentifier","src":"11166:2:0"},{"name":"v1","nativeSrc":"11170:2:0","nodeType":"YulIdentifier","src":"11170:2:0"},{"name":"q","nativeSrc":"11174:1:0","nodeType":"YulIdentifier","src":"11174:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"11159:6:0","nodeType":"YulIdentifier","src":"11159:6:0"},"nativeSrc":"11159:17:0","nodeType":"YulFunctionCall","src":"11159:17:0"},"variableNames":[{"name":"a","nativeSrc":"11154:1:0","nodeType":"YulIdentifier","src":"11154:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11205:4:0","nodeType":"YulIdentifier","src":"11205:4:0"},{"name":"pV2","nativeSrc":"11211:3:0","nodeType":"YulIdentifier","src":"11211:3:0"}],"functionName":{"name":"add","nativeSrc":"11201:3:0","nodeType":"YulIdentifier","src":"11201:3:0"},"nativeSrc":"11201:14:0","nodeType":"YulFunctionCall","src":"11201:14:0"},{"name":"a","nativeSrc":"11217:1:0","nodeType":"YulIdentifier","src":"11217:1:0"}],"functionName":{"name":"mstore","nativeSrc":"11193:6:0","nodeType":"YulIdentifier","src":"11193:6:0"},"nativeSrc":"11193:26:0","nodeType":"YulFunctionCall","src":"11193:26:0"},"nativeSrc":"11193:26:0","nodeType":"YulExpressionStatement","src":"11193:26:0"},{"nativeSrc":"11236:21:0","nodeType":"YulAssignment","src":"11236:21:0","value":{"arguments":[{"name":"a","nativeSrc":"11248:1:0","nodeType":"YulIdentifier","src":"11248:1:0"},{"name":"v1","nativeSrc":"11251:2:0","nodeType":"YulIdentifier","src":"11251:2:0"},{"name":"q","nativeSrc":"11255:1:0","nodeType":"YulIdentifier","src":"11255:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"11241:6:0","nodeType":"YulIdentifier","src":"11241:6:0"},"nativeSrc":"11241:16:0","nodeType":"YulFunctionCall","src":"11241:16:0"},"variableNames":[{"name":"a","nativeSrc":"11236:1:0","nodeType":"YulIdentifier","src":"11236:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11286:4:0","nodeType":"YulIdentifier","src":"11286:4:0"},{"name":"pV3","nativeSrc":"11292:3:0","nodeType":"YulIdentifier","src":"11292:3:0"}],"functionName":{"name":"add","nativeSrc":"11282:3:0","nodeType":"YulIdentifier","src":"11282:3:0"},"nativeSrc":"11282:14:0","nodeType":"YulFunctionCall","src":"11282:14:0"},{"name":"a","nativeSrc":"11298:1:0","nodeType":"YulIdentifier","src":"11298:1:0"}],"functionName":{"name":"mstore","nativeSrc":"11274:6:0","nodeType":"YulIdentifier","src":"11274:6:0"},"nativeSrc":"11274:26:0","nodeType":"YulFunctionCall","src":"11274:26:0"},"nativeSrc":"11274:26:0","nodeType":"YulExpressionStatement","src":"11274:26:0"},{"nativeSrc":"11317:21:0","nodeType":"YulAssignment","src":"11317:21:0","value":{"arguments":[{"name":"a","nativeSrc":"11329:1:0","nodeType":"YulIdentifier","src":"11329:1:0"},{"name":"v1","nativeSrc":"11332:2:0","nodeType":"YulIdentifier","src":"11332:2:0"},{"name":"q","nativeSrc":"11336:1:0","nodeType":"YulIdentifier","src":"11336:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"11322:6:0","nodeType":"YulIdentifier","src":"11322:6:0"},"nativeSrc":"11322:16:0","nodeType":"YulFunctionCall","src":"11322:16:0"},"variableNames":[{"name":"a","nativeSrc":"11317:1:0","nodeType":"YulIdentifier","src":"11317:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11367:4:0","nodeType":"YulIdentifier","src":"11367:4:0"},{"name":"pV4","nativeSrc":"11373:3:0","nodeType":"YulIdentifier","src":"11373:3:0"}],"functionName":{"name":"add","nativeSrc":"11363:3:0","nodeType":"YulIdentifier","src":"11363:3:0"},"nativeSrc":"11363:14:0","nodeType":"YulFunctionCall","src":"11363:14:0"},{"name":"a","nativeSrc":"11379:1:0","nodeType":"YulIdentifier","src":"11379:1:0"}],"functionName":{"name":"mstore","nativeSrc":"11355:6:0","nodeType":"YulIdentifier","src":"11355:6:0"},"nativeSrc":"11355:26:0","nodeType":"YulFunctionCall","src":"11355:26:0"},"nativeSrc":"11355:26:0","nodeType":"YulExpressionStatement","src":"11355:26:0"},{"nativeSrc":"11398:21:0","nodeType":"YulAssignment","src":"11398:21:0","value":{"arguments":[{"name":"a","nativeSrc":"11410:1:0","nodeType":"YulIdentifier","src":"11410:1:0"},{"name":"v1","nativeSrc":"11413:2:0","nodeType":"YulIdentifier","src":"11413:2:0"},{"name":"q","nativeSrc":"11417:1:0","nodeType":"YulIdentifier","src":"11417:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"11403:6:0","nodeType":"YulIdentifier","src":"11403:6:0"},"nativeSrc":"11403:16:0","nodeType":"YulFunctionCall","src":"11403:16:0"},"variableNames":[{"name":"a","nativeSrc":"11398:1:0","nodeType":"YulIdentifier","src":"11398:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11448:4:0","nodeType":"YulIdentifier","src":"11448:4:0"},{"name":"pV5","nativeSrc":"11454:3:0","nodeType":"YulIdentifier","src":"11454:3:0"}],"functionName":{"name":"add","nativeSrc":"11444:3:0","nodeType":"YulIdentifier","src":"11444:3:0"},"nativeSrc":"11444:14:0","nodeType":"YulFunctionCall","src":"11444:14:0"},{"name":"a","nativeSrc":"11460:1:0","nodeType":"YulIdentifier","src":"11460:1:0"}],"functionName":{"name":"mstore","nativeSrc":"11436:6:0","nodeType":"YulIdentifier","src":"11436:6:0"},"nativeSrc":"11436:26:0","nodeType":"YulFunctionCall","src":"11436:26:0"},"nativeSrc":"11436:26:0","nodeType":"YulExpressionStatement","src":"11436:26:0"},{"nativeSrc":"11479:21:0","nodeType":"YulAssignment","src":"11479:21:0","value":{"arguments":[{"name":"a","nativeSrc":"11491:1:0","nodeType":"YulIdentifier","src":"11491:1:0"},{"name":"v1","nativeSrc":"11494:2:0","nodeType":"YulIdentifier","src":"11494:2:0"},{"name":"q","nativeSrc":"11498:1:0","nodeType":"YulIdentifier","src":"11498:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"11484:6:0","nodeType":"YulIdentifier","src":"11484:6:0"},"nativeSrc":"11484:16:0","nodeType":"YulFunctionCall","src":"11484:16:0"},"variableNames":[{"name":"a","nativeSrc":"11479:1:0","nodeType":"YulIdentifier","src":"11479:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11529:4:0","nodeType":"YulIdentifier","src":"11529:4:0"},{"name":"pV6","nativeSrc":"11535:3:0","nodeType":"YulIdentifier","src":"11535:3:0"}],"functionName":{"name":"add","nativeSrc":"11525:3:0","nodeType":"YulIdentifier","src":"11525:3:0"},"nativeSrc":"11525:14:0","nodeType":"YulFunctionCall","src":"11525:14:0"},{"name":"a","nativeSrc":"11541:1:0","nodeType":"YulIdentifier","src":"11541:1:0"}],"functionName":{"name":"mstore","nativeSrc":"11517:6:0","nodeType":"YulIdentifier","src":"11517:6:0"},"nativeSrc":"11517:26:0","nodeType":"YulFunctionCall","src":"11517:26:0"},"nativeSrc":"11517:26:0","nodeType":"YulExpressionStatement","src":"11517:26:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11589:4:0","nodeType":"YulIdentifier","src":"11589:4:0"},{"name":"pU","nativeSrc":"11595:2:0","nodeType":"YulIdentifier","src":"11595:2:0"}],"functionName":{"name":"add","nativeSrc":"11585:3:0","nodeType":"YulIdentifier","src":"11585:3:0"},"nativeSrc":"11585:13:0","nodeType":"YulFunctionCall","src":"11585:13:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11618:6:0","nodeType":"YulIdentifier","src":"11618:6:0"},{"name":"pWxi","nativeSrc":"11626:4:0","nodeType":"YulIdentifier","src":"11626:4:0"}],"functionName":{"name":"add","nativeSrc":"11614:3:0","nodeType":"YulIdentifier","src":"11614:3:0"},"nativeSrc":"11614:17:0","nodeType":"YulFunctionCall","src":"11614:17:0"},{"kind":"number","nativeSrc":"11633:3:0","nodeType":"YulLiteral","src":"11633:3:0","type":"","value":"128"}],"functionName":{"name":"keccak256","nativeSrc":"11604:9:0","nodeType":"YulIdentifier","src":"11604:9:0"},"nativeSrc":"11604:33:0","nodeType":"YulFunctionCall","src":"11604:33:0"},{"name":"q","nativeSrc":"11639:1:0","nodeType":"YulIdentifier","src":"11639:1:0"}],"functionName":{"name":"mod","nativeSrc":"11600:3:0","nodeType":"YulIdentifier","src":"11600:3:0"},"nativeSrc":"11600:41:0","nodeType":"YulFunctionCall","src":"11600:41:0"}],"functionName":{"name":"mstore","nativeSrc":"11577:6:0","nodeType":"YulIdentifier","src":"11577:6:0"},"nativeSrc":"11577:65:0","nodeType":"YulFunctionCall","src":"11577:65:0"},"nativeSrc":"11577:65:0","nodeType":"YulExpressionStatement","src":"11577:65:0"}]},"name":"calculateChallanges","nativeSrc":"8828:2828:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8857:6:0","nodeType":"YulTypedName","src":"8857:6:0","type":""},{"name":"pMem","nativeSrc":"8865:4:0","nodeType":"YulTypedName","src":"8865:4:0","type":""},{"name":"pPublic","nativeSrc":"8871:7:0","nodeType":"YulTypedName","src":"8871:7:0","type":""}],"src":"8828:2828:0"},{"body":{"nativeSrc":"11715:1140:0","nodeType":"YulBlock","src":"11715:1140:0","statements":[{"nativeSrc":"11734:10:0","nodeType":"YulVariableDeclaration","src":"11734:10:0","value":{"kind":"number","nativeSrc":"11743:1:0","nodeType":"YulLiteral","src":"11743:1:0","type":"","value":"1"},"variables":[{"name":"w","nativeSrc":"11738:1:0","nodeType":"YulTypedName","src":"11738:1:0","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11826:4:0","nodeType":"YulIdentifier","src":"11826:4:0"},{"name":"pEval_l1","nativeSrc":"11832:8:0","nodeType":"YulIdentifier","src":"11832:8:0"}],"functionName":{"name":"add","nativeSrc":"11822:3:0","nodeType":"YulIdentifier","src":"11822:3:0"},"nativeSrc":"11822:19:0","nodeType":"YulFunctionCall","src":"11822:19:0"},{"arguments":[{"name":"n","nativeSrc":"11896:1:0","nodeType":"YulIdentifier","src":"11896:1:0"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12045:4:0","nodeType":"YulIdentifier","src":"12045:4:0"},{"name":"pXi","nativeSrc":"12051:3:0","nodeType":"YulIdentifier","src":"12051:3:0"}],"functionName":{"name":"add","nativeSrc":"12041:3:0","nodeType":"YulIdentifier","src":"12041:3:0"},"nativeSrc":"12041:14:0","nodeType":"YulFunctionCall","src":"12041:14:0"}],"functionName":{"name":"mload","nativeSrc":"12035:5:0","nodeType":"YulIdentifier","src":"12035:5:0"},"nativeSrc":"12035:21:0","nodeType":"YulFunctionCall","src":"12035:21:0"},{"name":"w","nativeSrc":"12095:1:0","nodeType":"YulIdentifier","src":"12095:1:0"}],"functionName":{"name":"sub","nativeSrc":"11994:3:0","nodeType":"YulIdentifier","src":"11994:3:0"},"nativeSrc":"11994:136:0","nodeType":"YulFunctionCall","src":"11994:136:0"},{"name":"q","nativeSrc":"12165:1:0","nodeType":"YulIdentifier","src":"12165:1:0"}],"functionName":{"name":"add","nativeSrc":"11957:3:0","nodeType":"YulIdentifier","src":"11957:3:0"},"nativeSrc":"11957:239:0","nodeType":"YulFunctionCall","src":"11957:239:0"},{"name":"q","nativeSrc":"12226:1:0","nodeType":"YulIdentifier","src":"12226:1:0"}],"functionName":{"name":"mod","nativeSrc":"11924:3:0","nodeType":"YulIdentifier","src":"11924:3:0"},"nativeSrc":"11924:329:0","nodeType":"YulFunctionCall","src":"11924:329:0"},{"name":"q","nativeSrc":"12280:1:0","nodeType":"YulIdentifier","src":"12280:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"11864:6:0","nodeType":"YulIdentifier","src":"11864:6:0"},"nativeSrc":"11864:439:0","nodeType":"YulFunctionCall","src":"11864:439:0"}],"functionName":{"name":"mstore","nativeSrc":"11794:6:0","nodeType":"YulIdentifier","src":"11794:6:0"},"nativeSrc":"11794:527:0","nodeType":"YulFunctionCall","src":"11794:527:0"},"nativeSrc":"11794:527:0","nodeType":"YulExpressionStatement","src":"11794:527:0"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12406:4:0","nodeType":"YulIdentifier","src":"12406:4:0"},{"name":"pZhInv","nativeSrc":"12412:6:0","nodeType":"YulIdentifier","src":"12412:6:0"}],"functionName":{"name":"add","nativeSrc":"12402:3:0","nodeType":"YulIdentifier","src":"12402:3:0"},"nativeSrc":"12402:17:0","nodeType":"YulFunctionCall","src":"12402:17:0"},{"kind":"number","nativeSrc":"12421:1:0","nodeType":"YulLiteral","src":"12421:1:0","type":"","value":"2"}],"functionName":{"name":"inverseArray","nativeSrc":"12389:12:0","nodeType":"YulIdentifier","src":"12389:12:0"},"nativeSrc":"12389:35:0","nodeType":"YulFunctionCall","src":"12389:35:0"},"nativeSrc":"12389:35:0","nodeType":"YulExpressionStatement","src":"12389:35:0"},{"nativeSrc":"12458:31:0","nodeType":"YulVariableDeclaration","src":"12458:31:0","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12478:4:0","nodeType":"YulIdentifier","src":"12478:4:0"},{"name":"pZh","nativeSrc":"12484:3:0","nodeType":"YulIdentifier","src":"12484:3:0"}],"functionName":{"name":"add","nativeSrc":"12474:3:0","nodeType":"YulIdentifier","src":"12474:3:0"},"nativeSrc":"12474:14:0","nodeType":"YulFunctionCall","src":"12474:14:0"}],"functionName":{"name":"mload","nativeSrc":"12468:5:0","nodeType":"YulIdentifier","src":"12468:5:0"},"nativeSrc":"12468:21:0","nodeType":"YulFunctionCall","src":"12468:21:0"},"variables":[{"name":"zh","nativeSrc":"12462:2:0","nodeType":"YulTypedName","src":"12462:2:0","type":""}]},{"nativeSrc":"12506:6:0","nodeType":"YulAssignment","src":"12506:6:0","value":{"kind":"number","nativeSrc":"12511:1:0","nodeType":"YulLiteral","src":"12511:1:0","type":"","value":"1"},"variableNames":[{"name":"w","nativeSrc":"12506:1:0","nodeType":"YulIdentifier","src":"12506:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12595:4:0","nodeType":"YulIdentifier","src":"12595:4:0"},{"name":"pEval_l1","nativeSrc":"12601:8:0","nodeType":"YulIdentifier","src":"12601:8:0"}],"functionName":{"name":"add","nativeSrc":"12591:3:0","nodeType":"YulIdentifier","src":"12591:3:0"},"nativeSrc":"12591:20:0","nodeType":"YulFunctionCall","src":"12591:20:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12676:4:0","nodeType":"YulIdentifier","src":"12676:4:0"},{"name":"pEval_l1","nativeSrc":"12682:8:0","nodeType":"YulIdentifier","src":"12682:8:0"}],"functionName":{"name":"add","nativeSrc":"12672:3:0","nodeType":"YulIdentifier","src":"12672:3:0"},"nativeSrc":"12672:20:0","nodeType":"YulFunctionCall","src":"12672:20:0"}],"functionName":{"name":"mload","nativeSrc":"12666:5:0","nodeType":"YulIdentifier","src":"12666:5:0"},"nativeSrc":"12666:27:0","nodeType":"YulFunctionCall","src":"12666:27:0"},{"name":"zh","nativeSrc":"12719:2:0","nodeType":"YulIdentifier","src":"12719:2:0"},{"name":"q","nativeSrc":"12747:1:0","nodeType":"YulIdentifier","src":"12747:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"12634:6:0","nodeType":"YulIdentifier","src":"12634:6:0"},"nativeSrc":"12634:136:0","nodeType":"YulFunctionCall","src":"12634:136:0"}],"functionName":{"name":"mstore","nativeSrc":"12563:6:0","nodeType":"YulIdentifier","src":"12563:6:0"},"nativeSrc":"12563:225:0","nodeType":"YulFunctionCall","src":"12563:225:0"},"nativeSrc":"12563:225:0","nodeType":"YulExpressionStatement","src":"12563:225:0"}]},"name":"calculateLagrange","nativeSrc":"11682:1173:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"11709:4:0","nodeType":"YulTypedName","src":"11709:4:0","type":""}],"src":"11682:1173:0"},{"body":{"nativeSrc":"12914:618:0","nodeType":"YulBlock","src":"12914:618:0","statements":[{"nativeSrc":"12932:11:0","nodeType":"YulVariableDeclaration","src":"12932:11:0","value":{"kind":"number","nativeSrc":"12942:1:0","nodeType":"YulLiteral","src":"12942:1:0","type":"","value":"0"},"variables":[{"name":"pl","nativeSrc":"12936:2:0","nodeType":"YulTypedName","src":"12936:2:0","type":""}]},{"nativeSrc":"12995:428:0","nodeType":"YulAssignment","src":"12995:428:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pl","nativeSrc":"13088:2:0","nodeType":"YulIdentifier","src":"13088:2:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13172:4:0","nodeType":"YulIdentifier","src":"13172:4:0"},{"name":"pEval_l1","nativeSrc":"13178:8:0","nodeType":"YulIdentifier","src":"13178:8:0"}],"functionName":{"name":"add","nativeSrc":"13168:3:0","nodeType":"YulIdentifier","src":"13168:3:0"},"nativeSrc":"13168:19:0","nodeType":"YulFunctionCall","src":"13168:19:0"}],"functionName":{"name":"mload","nativeSrc":"13162:5:0","nodeType":"YulIdentifier","src":"13162:5:0"},"nativeSrc":"13162:26:0","nodeType":"YulFunctionCall","src":"13162:26:0"},{"arguments":[{"arguments":[{"name":"pPub","nativeSrc":"13232:4:0","nodeType":"YulIdentifier","src":"13232:4:0"},{"kind":"number","nativeSrc":"13238:2:0","nodeType":"YulLiteral","src":"13238:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13228:3:0","nodeType":"YulIdentifier","src":"13228:3:0"},"nativeSrc":"13228:13:0","nodeType":"YulFunctionCall","src":"13228:13:0"}],"functionName":{"name":"mload","nativeSrc":"13222:5:0","nodeType":"YulIdentifier","src":"13222:5:0"},"nativeSrc":"13222:20:0","nodeType":"YulFunctionCall","src":"13222:20:0"},{"name":"q","nativeSrc":"13276:1:0","nodeType":"YulIdentifier","src":"13276:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"13122:6:0","nodeType":"YulIdentifier","src":"13122:6:0"},"nativeSrc":"13122:185:0","nodeType":"YulFunctionCall","src":"13122:185:0"}],"functionName":{"name":"sub","nativeSrc":"13055:3:0","nodeType":"YulIdentifier","src":"13055:3:0"},"nativeSrc":"13055:278:0","nodeType":"YulFunctionCall","src":"13055:278:0"},{"name":"q","nativeSrc":"13359:1:0","nodeType":"YulIdentifier","src":"13359:1:0"}],"functionName":{"name":"add","nativeSrc":"13026:3:0","nodeType":"YulIdentifier","src":"13026:3:0"},"nativeSrc":"13026:356:0","nodeType":"YulFunctionCall","src":"13026:356:0"},{"name":"q","nativeSrc":"13404:1:0","nodeType":"YulIdentifier","src":"13404:1:0"}],"functionName":{"name":"mod","nativeSrc":"13001:3:0","nodeType":"YulIdentifier","src":"13001:3:0"},"nativeSrc":"13001:422:0","nodeType":"YulFunctionCall","src":"13001:422:0"},"variableNames":[{"name":"pl","nativeSrc":"12995:2:0","nodeType":"YulIdentifier","src":"12995:2:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13485:4:0","nodeType":"YulIdentifier","src":"13485:4:0"},{"name":"pPl","nativeSrc":"13491:3:0","nodeType":"YulIdentifier","src":"13491:3:0"}],"functionName":{"name":"add","nativeSrc":"13481:3:0","nodeType":"YulIdentifier","src":"13481:3:0"},"nativeSrc":"13481:14:0","nodeType":"YulFunctionCall","src":"13481:14:0"},{"name":"pl","nativeSrc":"13497:2:0","nodeType":"YulIdentifier","src":"13497:2:0"}],"functionName":{"name":"mstore","nativeSrc":"13474:6:0","nodeType":"YulIdentifier","src":"13474:6:0"},"nativeSrc":"13474:26:0","nodeType":"YulFunctionCall","src":"13474:26:0"},"nativeSrc":"13474:26:0","nodeType":"YulExpressionStatement","src":"13474:26:0"}]},"name":"calculatePl","nativeSrc":"12881:651:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"12902:4:0","nodeType":"YulTypedName","src":"12902:4:0","type":""},{"name":"pPub","nativeSrc":"12908:4:0","nodeType":"YulTypedName","src":"12908:4:0","type":""}],"src":"12881:651:0"},{"body":{"nativeSrc":"13580:2162:0","nodeType":"YulBlock","src":"13580:2162:0","statements":[{"nativeSrc":"13598:5:0","nodeType":"YulVariableDeclaration","src":"13598:5:0","variables":[{"name":"t","nativeSrc":"13602:1:0","nodeType":"YulTypedName","src":"13602:1:0","type":""}]},{"nativeSrc":"13620:6:0","nodeType":"YulVariableDeclaration","src":"13620:6:0","variables":[{"name":"t1","nativeSrc":"13624:2:0","nodeType":"YulTypedName","src":"13624:2:0","type":""}]},{"nativeSrc":"13643:6:0","nodeType":"YulVariableDeclaration","src":"13643:6:0","variables":[{"name":"t2","nativeSrc":"13647:2:0","nodeType":"YulTypedName","src":"13647:2:0","type":""}]},{"nativeSrc":"13666:146:0","nodeType":"YulAssignment","src":"13666:146:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13709:6:0","nodeType":"YulIdentifier","src":"13709:6:0"},{"name":"pEval_r","nativeSrc":"13717:7:0","nodeType":"YulIdentifier","src":"13717:7:0"}],"functionName":{"name":"add","nativeSrc":"13705:3:0","nodeType":"YulIdentifier","src":"13705:3:0"},"nativeSrc":"13705:20:0","nodeType":"YulFunctionCall","src":"13705:20:0"}],"functionName":{"name":"mload","nativeSrc":"13699:5:0","nodeType":"YulIdentifier","src":"13699:5:0"},"nativeSrc":"13699:27:0","nodeType":"YulFunctionCall","src":"13699:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13759:4:0","nodeType":"YulIdentifier","src":"13759:4:0"},{"name":"pPl","nativeSrc":"13765:3:0","nodeType":"YulIdentifier","src":"13765:3:0"}],"functionName":{"name":"add","nativeSrc":"13755:3:0","nodeType":"YulIdentifier","src":"13755:3:0"},"nativeSrc":"13755:14:0","nodeType":"YulFunctionCall","src":"13755:14:0"}],"functionName":{"name":"mload","nativeSrc":"13749:5:0","nodeType":"YulIdentifier","src":"13749:5:0"},"nativeSrc":"13749:21:0","nodeType":"YulFunctionCall","src":"13749:21:0"},{"name":"q","nativeSrc":"13793:1:0","nodeType":"YulIdentifier","src":"13793:1:0"}],"functionName":{"name":"addmod","nativeSrc":"13671:6:0","nodeType":"YulIdentifier","src":"13671:6:0"},"nativeSrc":"13671:141:0","nodeType":"YulFunctionCall","src":"13671:141:0"},"variableNames":[{"name":"t","nativeSrc":"13666:1:0","nodeType":"YulIdentifier","src":"13666:1:0"}]},{"nativeSrc":"13846:148:0","nodeType":"YulAssignment","src":"13846:148:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13890:6:0","nodeType":"YulIdentifier","src":"13890:6:0"},{"name":"pEval_s1","nativeSrc":"13898:8:0","nodeType":"YulIdentifier","src":"13898:8:0"}],"functionName":{"name":"add","nativeSrc":"13886:3:0","nodeType":"YulIdentifier","src":"13886:3:0"},"nativeSrc":"13886:21:0","nodeType":"YulFunctionCall","src":"13886:21:0"}],"functionName":{"name":"mload","nativeSrc":"13880:5:0","nodeType":"YulIdentifier","src":"13880:5:0"},"nativeSrc":"13880:28:0","nodeType":"YulFunctionCall","src":"13880:28:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13940:4:0","nodeType":"YulIdentifier","src":"13940:4:0"},{"name":"pBeta","nativeSrc":"13946:5:0","nodeType":"YulIdentifier","src":"13946:5:0"}],"functionName":{"name":"add","nativeSrc":"13936:3:0","nodeType":"YulIdentifier","src":"13936:3:0"},"nativeSrc":"13936:16:0","nodeType":"YulFunctionCall","src":"13936:16:0"}],"functionName":{"name":"mload","nativeSrc":"13930:5:0","nodeType":"YulIdentifier","src":"13930:5:0"},"nativeSrc":"13930:23:0","nodeType":"YulFunctionCall","src":"13930:23:0"},{"name":"q","nativeSrc":"13975:1:0","nodeType":"YulIdentifier","src":"13975:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"13852:6:0","nodeType":"YulIdentifier","src":"13852:6:0"},"nativeSrc":"13852:142:0","nodeType":"YulFunctionCall","src":"13852:142:0"},"variableNames":[{"name":"t1","nativeSrc":"13846:2:0","nodeType":"YulIdentifier","src":"13846:2:0"}]},{"nativeSrc":"14012:126:0","nodeType":"YulAssignment","src":"14012:126:0","value":{"arguments":[{"name":"t1","nativeSrc":"14046:2:0","nodeType":"YulIdentifier","src":"14046:2:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14080:6:0","nodeType":"YulIdentifier","src":"14080:6:0"},{"name":"pEval_a","nativeSrc":"14088:7:0","nodeType":"YulIdentifier","src":"14088:7:0"}],"functionName":{"name":"add","nativeSrc":"14076:3:0","nodeType":"YulIdentifier","src":"14076:3:0"},"nativeSrc":"14076:20:0","nodeType":"YulFunctionCall","src":"14076:20:0"}],"functionName":{"name":"mload","nativeSrc":"14070:5:0","nodeType":"YulIdentifier","src":"14070:5:0"},"nativeSrc":"14070:27:0","nodeType":"YulFunctionCall","src":"14070:27:0"},{"name":"q","nativeSrc":"14119:1:0","nodeType":"YulIdentifier","src":"14119:1:0"}],"functionName":{"name":"addmod","nativeSrc":"14018:6:0","nodeType":"YulIdentifier","src":"14018:6:0"},"nativeSrc":"14018:120:0","nodeType":"YulFunctionCall","src":"14018:120:0"},"variableNames":[{"name":"t1","nativeSrc":"14012:2:0","nodeType":"YulIdentifier","src":"14012:2:0"}]},{"nativeSrc":"14172:123:0","nodeType":"YulAssignment","src":"14172:123:0","value":{"arguments":[{"name":"t1","nativeSrc":"14206:2:0","nodeType":"YulIdentifier","src":"14206:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14240:4:0","nodeType":"YulIdentifier","src":"14240:4:0"},{"name":"pGamma","nativeSrc":"14246:6:0","nodeType":"YulIdentifier","src":"14246:6:0"}],"functionName":{"name":"add","nativeSrc":"14236:3:0","nodeType":"YulIdentifier","src":"14236:3:0"},"nativeSrc":"14236:17:0","nodeType":"YulFunctionCall","src":"14236:17:0"}],"functionName":{"name":"mload","nativeSrc":"14230:5:0","nodeType":"YulIdentifier","src":"14230:5:0"},"nativeSrc":"14230:24:0","nodeType":"YulFunctionCall","src":"14230:24:0"},{"name":"q","nativeSrc":"14276:1:0","nodeType":"YulIdentifier","src":"14276:1:0"}],"functionName":{"name":"addmod","nativeSrc":"14178:6:0","nodeType":"YulIdentifier","src":"14178:6:0"},"nativeSrc":"14178:117:0","nodeType":"YulFunctionCall","src":"14178:117:0"},"variableNames":[{"name":"t1","nativeSrc":"14172:2:0","nodeType":"YulIdentifier","src":"14172:2:0"}]},{"nativeSrc":"14313:148:0","nodeType":"YulAssignment","src":"14313:148:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14357:6:0","nodeType":"YulIdentifier","src":"14357:6:0"},{"name":"pEval_s2","nativeSrc":"14365:8:0","nodeType":"YulIdentifier","src":"14365:8:0"}],"functionName":{"name":"add","nativeSrc":"14353:3:0","nodeType":"YulIdentifier","src":"14353:3:0"},"nativeSrc":"14353:21:0","nodeType":"YulFunctionCall","src":"14353:21:0"}],"functionName":{"name":"mload","nativeSrc":"14347:5:0","nodeType":"YulIdentifier","src":"14347:5:0"},"nativeSrc":"14347:28:0","nodeType":"YulFunctionCall","src":"14347:28:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14407:4:0","nodeType":"YulIdentifier","src":"14407:4:0"},{"name":"pBeta","nativeSrc":"14413:5:0","nodeType":"YulIdentifier","src":"14413:5:0"}],"functionName":{"name":"add","nativeSrc":"14403:3:0","nodeType":"YulIdentifier","src":"14403:3:0"},"nativeSrc":"14403:16:0","nodeType":"YulFunctionCall","src":"14403:16:0"}],"functionName":{"name":"mload","nativeSrc":"14397:5:0","nodeType":"YulIdentifier","src":"14397:5:0"},"nativeSrc":"14397:23:0","nodeType":"YulFunctionCall","src":"14397:23:0"},{"name":"q","nativeSrc":"14442:1:0","nodeType":"YulIdentifier","src":"14442:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"14319:6:0","nodeType":"YulIdentifier","src":"14319:6:0"},"nativeSrc":"14319:142:0","nodeType":"YulFunctionCall","src":"14319:142:0"},"variableNames":[{"name":"t2","nativeSrc":"14313:2:0","nodeType":"YulIdentifier","src":"14313:2:0"}]},{"nativeSrc":"14479:126:0","nodeType":"YulAssignment","src":"14479:126:0","value":{"arguments":[{"name":"t2","nativeSrc":"14513:2:0","nodeType":"YulIdentifier","src":"14513:2:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14547:6:0","nodeType":"YulIdentifier","src":"14547:6:0"},{"name":"pEval_b","nativeSrc":"14555:7:0","nodeType":"YulIdentifier","src":"14555:7:0"}],"functionName":{"name":"add","nativeSrc":"14543:3:0","nodeType":"YulIdentifier","src":"14543:3:0"},"nativeSrc":"14543:20:0","nodeType":"YulFunctionCall","src":"14543:20:0"}],"functionName":{"name":"mload","nativeSrc":"14537:5:0","nodeType":"YulIdentifier","src":"14537:5:0"},"nativeSrc":"14537:27:0","nodeType":"YulFunctionCall","src":"14537:27:0"},{"name":"q","nativeSrc":"14586:1:0","nodeType":"YulIdentifier","src":"14586:1:0"}],"functionName":{"name":"addmod","nativeSrc":"14485:6:0","nodeType":"YulIdentifier","src":"14485:6:0"},"nativeSrc":"14485:120:0","nodeType":"YulFunctionCall","src":"14485:120:0"},"variableNames":[{"name":"t2","nativeSrc":"14479:2:0","nodeType":"YulIdentifier","src":"14479:2:0"}]},{"nativeSrc":"14639:123:0","nodeType":"YulAssignment","src":"14639:123:0","value":{"arguments":[{"name":"t2","nativeSrc":"14673:2:0","nodeType":"YulIdentifier","src":"14673:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14707:4:0","nodeType":"YulIdentifier","src":"14707:4:0"},{"name":"pGamma","nativeSrc":"14713:6:0","nodeType":"YulIdentifier","src":"14713:6:0"}],"functionName":{"name":"add","nativeSrc":"14703:3:0","nodeType":"YulIdentifier","src":"14703:3:0"},"nativeSrc":"14703:17:0","nodeType":"YulFunctionCall","src":"14703:17:0"}],"functionName":{"name":"mload","nativeSrc":"14697:5:0","nodeType":"YulIdentifier","src":"14697:5:0"},"nativeSrc":"14697:24:0","nodeType":"YulFunctionCall","src":"14697:24:0"},{"name":"q","nativeSrc":"14743:1:0","nodeType":"YulIdentifier","src":"14743:1:0"}],"functionName":{"name":"addmod","nativeSrc":"14645:6:0","nodeType":"YulIdentifier","src":"14645:6:0"},"nativeSrc":"14645:117:0","nodeType":"YulFunctionCall","src":"14645:117:0"},"variableNames":[{"name":"t2","nativeSrc":"14639:2:0","nodeType":"YulIdentifier","src":"14639:2:0"}]},{"nativeSrc":"14796:23:0","nodeType":"YulAssignment","src":"14796:23:0","value":{"arguments":[{"name":"t1","nativeSrc":"14809:2:0","nodeType":"YulIdentifier","src":"14809:2:0"},{"name":"t2","nativeSrc":"14813:2:0","nodeType":"YulIdentifier","src":"14813:2:0"},{"name":"q","nativeSrc":"14817:1:0","nodeType":"YulIdentifier","src":"14817:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"14802:6:0","nodeType":"YulIdentifier","src":"14802:6:0"},"nativeSrc":"14802:17:0","nodeType":"YulFunctionCall","src":"14802:17:0"},"variableNames":[{"name":"t1","nativeSrc":"14796:2:0","nodeType":"YulIdentifier","src":"14796:2:0"}]},{"nativeSrc":"14853:148:0","nodeType":"YulAssignment","src":"14853:148:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14897:6:0","nodeType":"YulIdentifier","src":"14897:6:0"},{"name":"pEval_c","nativeSrc":"14905:7:0","nodeType":"YulIdentifier","src":"14905:7:0"}],"functionName":{"name":"add","nativeSrc":"14893:3:0","nodeType":"YulIdentifier","src":"14893:3:0"},"nativeSrc":"14893:20:0","nodeType":"YulFunctionCall","src":"14893:20:0"}],"functionName":{"name":"mload","nativeSrc":"14887:5:0","nodeType":"YulIdentifier","src":"14887:5:0"},"nativeSrc":"14887:27:0","nodeType":"YulFunctionCall","src":"14887:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14946:4:0","nodeType":"YulIdentifier","src":"14946:4:0"},{"name":"pGamma","nativeSrc":"14952:6:0","nodeType":"YulIdentifier","src":"14952:6:0"}],"functionName":{"name":"add","nativeSrc":"14942:3:0","nodeType":"YulIdentifier","src":"14942:3:0"},"nativeSrc":"14942:17:0","nodeType":"YulFunctionCall","src":"14942:17:0"}],"functionName":{"name":"mload","nativeSrc":"14936:5:0","nodeType":"YulIdentifier","src":"14936:5:0"},"nativeSrc":"14936:24:0","nodeType":"YulFunctionCall","src":"14936:24:0"},{"name":"q","nativeSrc":"14982:1:0","nodeType":"YulIdentifier","src":"14982:1:0"}],"functionName":{"name":"addmod","nativeSrc":"14859:6:0","nodeType":"YulIdentifier","src":"14859:6:0"},"nativeSrc":"14859:142:0","nodeType":"YulFunctionCall","src":"14859:142:0"},"variableNames":[{"name":"t2","nativeSrc":"14853:2:0","nodeType":"YulIdentifier","src":"14853:2:0"}]},{"nativeSrc":"15019:23:0","nodeType":"YulAssignment","src":"15019:23:0","value":{"arguments":[{"name":"t1","nativeSrc":"15032:2:0","nodeType":"YulIdentifier","src":"15032:2:0"},{"name":"t2","nativeSrc":"15036:2:0","nodeType":"YulIdentifier","src":"15036:2:0"},{"name":"q","nativeSrc":"15040:1:0","nodeType":"YulIdentifier","src":"15040:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"15025:6:0","nodeType":"YulIdentifier","src":"15025:6:0"},"nativeSrc":"15025:17:0","nodeType":"YulFunctionCall","src":"15025:17:0"},"variableNames":[{"name":"t1","nativeSrc":"15019:2:0","nodeType":"YulIdentifier","src":"15019:2:0"}]},{"nativeSrc":"15059:49:0","nodeType":"YulAssignment","src":"15059:49:0","value":{"arguments":[{"name":"t1","nativeSrc":"15072:2:0","nodeType":"YulIdentifier","src":"15072:2:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"15086:6:0","nodeType":"YulIdentifier","src":"15086:6:0"},{"name":"pEval_zw","nativeSrc":"15094:8:0","nodeType":"YulIdentifier","src":"15094:8:0"}],"functionName":{"name":"add","nativeSrc":"15082:3:0","nodeType":"YulIdentifier","src":"15082:3:0"},"nativeSrc":"15082:21:0","nodeType":"YulFunctionCall","src":"15082:21:0"}],"functionName":{"name":"mload","nativeSrc":"15076:5:0","nodeType":"YulIdentifier","src":"15076:5:0"},"nativeSrc":"15076:28:0","nodeType":"YulFunctionCall","src":"15076:28:0"},{"name":"q","nativeSrc":"15106:1:0","nodeType":"YulIdentifier","src":"15106:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"15065:6:0","nodeType":"YulIdentifier","src":"15065:6:0"},"nativeSrc":"15065:43:0","nodeType":"YulFunctionCall","src":"15065:43:0"},"variableNames":[{"name":"t1","nativeSrc":"15059:2:0","nodeType":"YulIdentifier","src":"15059:2:0"}]},{"nativeSrc":"15125:45:0","nodeType":"YulAssignment","src":"15125:45:0","value":{"arguments":[{"name":"t1","nativeSrc":"15138:2:0","nodeType":"YulIdentifier","src":"15138:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15152:4:0","nodeType":"YulIdentifier","src":"15152:4:0"},{"name":"pAlpha","nativeSrc":"15158:6:0","nodeType":"YulIdentifier","src":"15158:6:0"}],"functionName":{"name":"add","nativeSrc":"15148:3:0","nodeType":"YulIdentifier","src":"15148:3:0"},"nativeSrc":"15148:17:0","nodeType":"YulFunctionCall","src":"15148:17:0"}],"functionName":{"name":"mload","nativeSrc":"15142:5:0","nodeType":"YulIdentifier","src":"15142:5:0"},"nativeSrc":"15142:24:0","nodeType":"YulFunctionCall","src":"15142:24:0"},{"name":"q","nativeSrc":"15168:1:0","nodeType":"YulIdentifier","src":"15168:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"15131:6:0","nodeType":"YulIdentifier","src":"15131:6:0"},"nativeSrc":"15131:39:0","nodeType":"YulFunctionCall","src":"15131:39:0"},"variableNames":[{"name":"t1","nativeSrc":"15125:2:0","nodeType":"YulIdentifier","src":"15125:2:0"}]},{"nativeSrc":"15204:149:0","nodeType":"YulAssignment","src":"15204:149:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15248:4:0","nodeType":"YulIdentifier","src":"15248:4:0"},{"name":"pEval_l1","nativeSrc":"15254:8:0","nodeType":"YulIdentifier","src":"15254:8:0"}],"functionName":{"name":"add","nativeSrc":"15244:3:0","nodeType":"YulIdentifier","src":"15244:3:0"},"nativeSrc":"15244:19:0","nodeType":"YulFunctionCall","src":"15244:19:0"}],"functionName":{"name":"mload","nativeSrc":"15238:5:0","nodeType":"YulIdentifier","src":"15238:5:0"},"nativeSrc":"15238:26:0","nodeType":"YulFunctionCall","src":"15238:26:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15297:4:0","nodeType":"YulIdentifier","src":"15297:4:0"},{"name":"pAlpha","nativeSrc":"15303:6:0","nodeType":"YulIdentifier","src":"15303:6:0"}],"functionName":{"name":"add","nativeSrc":"15293:3:0","nodeType":"YulIdentifier","src":"15293:3:0"},"nativeSrc":"15293:17:0","nodeType":"YulFunctionCall","src":"15293:17:0"}],"functionName":{"name":"mload","nativeSrc":"15287:5:0","nodeType":"YulIdentifier","src":"15287:5:0"},"nativeSrc":"15287:24:0","nodeType":"YulFunctionCall","src":"15287:24:0"},{"name":"q","nativeSrc":"15334:1:0","nodeType":"YulIdentifier","src":"15334:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"15210:6:0","nodeType":"YulIdentifier","src":"15210:6:0"},"nativeSrc":"15210:143:0","nodeType":"YulFunctionCall","src":"15210:143:0"},"variableNames":[{"name":"t2","nativeSrc":"15204:2:0","nodeType":"YulIdentifier","src":"15204:2:0"}]},{"nativeSrc":"15371:125:0","nodeType":"YulAssignment","src":"15371:125:0","value":{"arguments":[{"name":"t2","nativeSrc":"15405:2:0","nodeType":"YulIdentifier","src":"15405:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15440:4:0","nodeType":"YulIdentifier","src":"15440:4:0"},{"name":"pAlpha","nativeSrc":"15446:6:0","nodeType":"YulIdentifier","src":"15446:6:0"}],"functionName":{"name":"add","nativeSrc":"15436:3:0","nodeType":"YulIdentifier","src":"15436:3:0"},"nativeSrc":"15436:17:0","nodeType":"YulFunctionCall","src":"15436:17:0"}],"functionName":{"name":"mload","nativeSrc":"15430:5:0","nodeType":"YulIdentifier","src":"15430:5:0"},"nativeSrc":"15430:24:0","nodeType":"YulFunctionCall","src":"15430:24:0"},{"name":"q","nativeSrc":"15477:1:0","nodeType":"YulIdentifier","src":"15477:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"15377:6:0","nodeType":"YulIdentifier","src":"15377:6:0"},"nativeSrc":"15377:119:0","nodeType":"YulFunctionCall","src":"15377:119:0"},"variableNames":[{"name":"t2","nativeSrc":"15371:2:0","nodeType":"YulIdentifier","src":"15371:2:0"}]},{"nativeSrc":"15514:23:0","nodeType":"YulAssignment","src":"15514:23:0","value":{"arguments":[{"name":"t1","nativeSrc":"15527:2:0","nodeType":"YulIdentifier","src":"15527:2:0"},{"name":"t2","nativeSrc":"15531:2:0","nodeType":"YulIdentifier","src":"15531:2:0"},{"name":"q","nativeSrc":"15535:1:0","nodeType":"YulIdentifier","src":"15535:1:0"}],"functionName":{"name":"addmod","nativeSrc":"15520:6:0","nodeType":"YulIdentifier","src":"15520:6:0"},"nativeSrc":"15520:17:0","nodeType":"YulFunctionCall","src":"15520:17:0"},"variableNames":[{"name":"t1","nativeSrc":"15514:2:0","nodeType":"YulIdentifier","src":"15514:2:0"}]},{"nativeSrc":"15571:31:0","nodeType":"YulAssignment","src":"15571:31:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"t","nativeSrc":"15588:1:0","nodeType":"YulIdentifier","src":"15588:1:0"},{"name":"q","nativeSrc":"15591:1:0","nodeType":"YulIdentifier","src":"15591:1:0"}],"functionName":{"name":"add","nativeSrc":"15584:3:0","nodeType":"YulIdentifier","src":"15584:3:0"},"nativeSrc":"15584:9:0","nodeType":"YulFunctionCall","src":"15584:9:0"},{"name":"t1","nativeSrc":"15595:2:0","nodeType":"YulIdentifier","src":"15595:2:0"}],"functionName":{"name":"sub","nativeSrc":"15580:3:0","nodeType":"YulIdentifier","src":"15580:3:0"},"nativeSrc":"15580:18:0","nodeType":"YulFunctionCall","src":"15580:18:0"},{"name":"q","nativeSrc":"15600:1:0","nodeType":"YulIdentifier","src":"15600:1:0"}],"functionName":{"name":"mod","nativeSrc":"15576:3:0","nodeType":"YulIdentifier","src":"15576:3:0"},"nativeSrc":"15576:26:0","nodeType":"YulFunctionCall","src":"15576:26:0"},"variableNames":[{"name":"t","nativeSrc":"15571:1:0","nodeType":"YulIdentifier","src":"15571:1:0"}]},{"nativeSrc":"15619:43:0","nodeType":"YulAssignment","src":"15619:43:0","value":{"arguments":[{"name":"t","nativeSrc":"15631:1:0","nodeType":"YulIdentifier","src":"15631:1:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15644:4:0","nodeType":"YulIdentifier","src":"15644:4:0"},{"name":"pZhInv","nativeSrc":"15650:6:0","nodeType":"YulIdentifier","src":"15650:6:0"}],"functionName":{"name":"add","nativeSrc":"15640:3:0","nodeType":"YulIdentifier","src":"15640:3:0"},"nativeSrc":"15640:17:0","nodeType":"YulFunctionCall","src":"15640:17:0"}],"functionName":{"name":"mload","nativeSrc":"15634:5:0","nodeType":"YulIdentifier","src":"15634:5:0"},"nativeSrc":"15634:24:0","nodeType":"YulFunctionCall","src":"15634:24:0"},{"name":"q","nativeSrc":"15660:1:0","nodeType":"YulIdentifier","src":"15660:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"15624:6:0","nodeType":"YulIdentifier","src":"15624:6:0"},"nativeSrc":"15624:38:0","nodeType":"YulFunctionCall","src":"15624:38:0"},"variableNames":[{"name":"t","nativeSrc":"15619:1:0","nodeType":"YulIdentifier","src":"15619:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15708:4:0","nodeType":"YulIdentifier","src":"15708:4:0"},{"name":"pEval_t","nativeSrc":"15714:7:0","nodeType":"YulIdentifier","src":"15714:7:0"}],"functionName":{"name":"add","nativeSrc":"15704:3:0","nodeType":"YulIdentifier","src":"15704:3:0"},"nativeSrc":"15704:18:0","nodeType":"YulFunctionCall","src":"15704:18:0"},{"name":"t","nativeSrc":"15725:1:0","nodeType":"YulIdentifier","src":"15725:1:0"}],"functionName":{"name":"mstore","nativeSrc":"15696:6:0","nodeType":"YulIdentifier","src":"15696:6:0"},"nativeSrc":"15696:31:0","nodeType":"YulFunctionCall","src":"15696:31:0"},"nativeSrc":"15696:31:0","nodeType":"YulExpressionStatement","src":"15696:31:0"}]},"name":"calculateT","nativeSrc":"13546:2196:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"13566:6:0","nodeType":"YulTypedName","src":"13566:6:0","type":""},{"name":"pMem","nativeSrc":"13574:4:0","nodeType":"YulTypedName","src":"13574:4:0","type":""}],"src":"13546:2196:0"},{"body":{"nativeSrc":"15792:108:0","nodeType":"YulBlock","src":"15792:108:0","statements":[{"expression":{"arguments":[{"name":"pR","nativeSrc":"15817:2:0","nodeType":"YulIdentifier","src":"15817:2:0"},{"arguments":[{"name":"pP","nativeSrc":"15827:2:0","nodeType":"YulIdentifier","src":"15827:2:0"}],"functionName":{"name":"mload","nativeSrc":"15821:5:0","nodeType":"YulIdentifier","src":"15821:5:0"},"nativeSrc":"15821:9:0","nodeType":"YulFunctionCall","src":"15821:9:0"}],"functionName":{"name":"mstore","nativeSrc":"15810:6:0","nodeType":"YulIdentifier","src":"15810:6:0"},"nativeSrc":"15810:21:0","nodeType":"YulFunctionCall","src":"15810:21:0"},"nativeSrc":"15810:21:0","nodeType":"YulExpressionStatement","src":"15810:21:0"},{"expression":{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"15859:2:0","nodeType":"YulIdentifier","src":"15859:2:0"},{"kind":"number","nativeSrc":"15863:2:0","nodeType":"YulLiteral","src":"15863:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15855:3:0","nodeType":"YulIdentifier","src":"15855:3:0"},"nativeSrc":"15855:11:0","nodeType":"YulFunctionCall","src":"15855:11:0"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"15878:2:0","nodeType":"YulIdentifier","src":"15878:2:0"},{"kind":"number","nativeSrc":"15881:2:0","nodeType":"YulLiteral","src":"15881:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15874:3:0","nodeType":"YulIdentifier","src":"15874:3:0"},"nativeSrc":"15874:10:0","nodeType":"YulFunctionCall","src":"15874:10:0"}],"functionName":{"name":"mload","nativeSrc":"15868:5:0","nodeType":"YulIdentifier","src":"15868:5:0"},"nativeSrc":"15868:17:0","nodeType":"YulFunctionCall","src":"15868:17:0"}],"functionName":{"name":"mstore","nativeSrc":"15848:6:0","nodeType":"YulIdentifier","src":"15848:6:0"},"nativeSrc":"15848:38:0","nodeType":"YulFunctionCall","src":"15848:38:0"},"nativeSrc":"15848:38:0","nodeType":"YulExpressionStatement","src":"15848:38:0"}]},"name":"g1_set","nativeSrc":"15768:132:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15784:2:0","nodeType":"YulTypedName","src":"15784:2:0","type":""},{"name":"pP","nativeSrc":"15788:2:0","nodeType":"YulTypedName","src":"15788:2:0","type":""}],"src":"15768:132:0"},{"body":{"nativeSrc":"15938:474:0","nodeType":"YulBlock","src":"15938:474:0","statements":[{"nativeSrc":"15956:22:0","nodeType":"YulVariableDeclaration","src":"15956:22:0","value":{"arguments":[{"kind":"number","nativeSrc":"15973:4:0","nodeType":"YulLiteral","src":"15973:4:0","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"15967:5:0","nodeType":"YulIdentifier","src":"15967:5:0"},"nativeSrc":"15967:11:0","nodeType":"YulFunctionCall","src":"15967:11:0"},"variables":[{"name":"mIn","nativeSrc":"15960:3:0","nodeType":"YulTypedName","src":"15960:3:0","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"16002:3:0","nodeType":"YulIdentifier","src":"16002:3:0"},{"arguments":[{"name":"pR","nativeSrc":"16013:2:0","nodeType":"YulIdentifier","src":"16013:2:0"}],"functionName":{"name":"mload","nativeSrc":"16007:5:0","nodeType":"YulIdentifier","src":"16007:5:0"},"nativeSrc":"16007:9:0","nodeType":"YulFunctionCall","src":"16007:9:0"}],"functionName":{"name":"mstore","nativeSrc":"15995:6:0","nodeType":"YulIdentifier","src":"15995:6:0"},"nativeSrc":"15995:22:0","nodeType":"YulFunctionCall","src":"15995:22:0"},"nativeSrc":"15995:22:0","nodeType":"YulExpressionStatement","src":"15995:22:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16045:3:0","nodeType":"YulIdentifier","src":"16045:3:0"},{"kind":"number","nativeSrc":"16049:2:0","nodeType":"YulLiteral","src":"16049:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16041:3:0","nodeType":"YulIdentifier","src":"16041:3:0"},"nativeSrc":"16041:11:0","nodeType":"YulFunctionCall","src":"16041:11:0"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16064:2:0","nodeType":"YulIdentifier","src":"16064:2:0"},{"kind":"number","nativeSrc":"16068:2:0","nodeType":"YulLiteral","src":"16068:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16060:3:0","nodeType":"YulIdentifier","src":"16060:3:0"},"nativeSrc":"16060:11:0","nodeType":"YulFunctionCall","src":"16060:11:0"}],"functionName":{"name":"mload","nativeSrc":"16054:5:0","nodeType":"YulIdentifier","src":"16054:5:0"},"nativeSrc":"16054:18:0","nodeType":"YulFunctionCall","src":"16054:18:0"}],"functionName":{"name":"mstore","nativeSrc":"16034:6:0","nodeType":"YulIdentifier","src":"16034:6:0"},"nativeSrc":"16034:39:0","nodeType":"YulFunctionCall","src":"16034:39:0"},"nativeSrc":"16034:39:0","nodeType":"YulExpressionStatement","src":"16034:39:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16101:3:0","nodeType":"YulIdentifier","src":"16101:3:0"},{"kind":"number","nativeSrc":"16105:2:0","nodeType":"YulLiteral","src":"16105:2:0","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16097:3:0","nodeType":"YulIdentifier","src":"16097:3:0"},"nativeSrc":"16097:11:0","nodeType":"YulFunctionCall","src":"16097:11:0"},{"arguments":[{"name":"pP","nativeSrc":"16116:2:0","nodeType":"YulIdentifier","src":"16116:2:0"}],"functionName":{"name":"mload","nativeSrc":"16110:5:0","nodeType":"YulIdentifier","src":"16110:5:0"},"nativeSrc":"16110:9:0","nodeType":"YulFunctionCall","src":"16110:9:0"}],"functionName":{"name":"mstore","nativeSrc":"16090:6:0","nodeType":"YulIdentifier","src":"16090:6:0"},"nativeSrc":"16090:30:0","nodeType":"YulFunctionCall","src":"16090:30:0"},"nativeSrc":"16090:30:0","nodeType":"YulExpressionStatement","src":"16090:30:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16148:3:0","nodeType":"YulIdentifier","src":"16148:3:0"},{"kind":"number","nativeSrc":"16152:2:0","nodeType":"YulLiteral","src":"16152:2:0","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16144:3:0","nodeType":"YulIdentifier","src":"16144:3:0"},"nativeSrc":"16144:11:0","nodeType":"YulFunctionCall","src":"16144:11:0"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16167:2:0","nodeType":"YulIdentifier","src":"16167:2:0"},{"kind":"number","nativeSrc":"16171:2:0","nodeType":"YulLiteral","src":"16171:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16163:3:0","nodeType":"YulIdentifier","src":"16163:3:0"},"nativeSrc":"16163:11:0","nodeType":"YulFunctionCall","src":"16163:11:0"}],"functionName":{"name":"mload","nativeSrc":"16157:5:0","nodeType":"YulIdentifier","src":"16157:5:0"},"nativeSrc":"16157:18:0","nodeType":"YulFunctionCall","src":"16157:18:0"}],"functionName":{"name":"mstore","nativeSrc":"16137:6:0","nodeType":"YulIdentifier","src":"16137:6:0"},"nativeSrc":"16137:39:0","nodeType":"YulFunctionCall","src":"16137:39:0"},"nativeSrc":"16137:39:0","nodeType":"YulExpressionStatement","src":"16137:39:0"},{"nativeSrc":"16194:64:0","nodeType":"YulVariableDeclaration","src":"16194:64:0","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16224:3:0","nodeType":"YulIdentifier","src":"16224:3:0"},"nativeSrc":"16224:5:0","nodeType":"YulFunctionCall","src":"16224:5:0"},{"kind":"number","nativeSrc":"16231:4:0","nodeType":"YulLiteral","src":"16231:4:0","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16220:3:0","nodeType":"YulIdentifier","src":"16220:3:0"},"nativeSrc":"16220:16:0","nodeType":"YulFunctionCall","src":"16220:16:0"},{"kind":"number","nativeSrc":"16238:1:0","nodeType":"YulLiteral","src":"16238:1:0","type":"","value":"6"},{"name":"mIn","nativeSrc":"16241:3:0","nodeType":"YulIdentifier","src":"16241:3:0"},{"kind":"number","nativeSrc":"16246:3:0","nodeType":"YulLiteral","src":"16246:3:0","type":"","value":"128"},{"name":"pR","nativeSrc":"16251:2:0","nodeType":"YulIdentifier","src":"16251:2:0"},{"kind":"number","nativeSrc":"16255:2:0","nodeType":"YulLiteral","src":"16255:2:0","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16209:10:0","nodeType":"YulIdentifier","src":"16209:10:0"},"nativeSrc":"16209:49:0","nodeType":"YulFunctionCall","src":"16209:49:0"},"variables":[{"name":"success","nativeSrc":"16198:7:0","nodeType":"YulTypedName","src":"16198:7:0","type":""}]},{"body":{"nativeSrc":"16311:87:0","nodeType":"YulBlock","src":"16311:87:0","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16340:1:0","nodeType":"YulLiteral","src":"16340:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"16343:1:0","nodeType":"YulLiteral","src":"16343:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16333:6:0","nodeType":"YulIdentifier","src":"16333:6:0"},"nativeSrc":"16333:12:0","nodeType":"YulFunctionCall","src":"16333:12:0"},"nativeSrc":"16333:12:0","nodeType":"YulExpressionStatement","src":"16333:12:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16373:1:0","nodeType":"YulLiteral","src":"16373:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"16375:4:0","nodeType":"YulLiteral","src":"16375:4:0","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16366:6:0","nodeType":"YulIdentifier","src":"16366:6:0"},"nativeSrc":"16366:14:0","nodeType":"YulFunctionCall","src":"16366:14:0"},"nativeSrc":"16366:14:0","nodeType":"YulExpressionStatement","src":"16366:14:0"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16302:7:0","nodeType":"YulIdentifier","src":"16302:7:0"}],"functionName":{"name":"iszero","nativeSrc":"16295:6:0","nodeType":"YulIdentifier","src":"16295:6:0"},"nativeSrc":"16295:15:0","nodeType":"YulFunctionCall","src":"16295:15:0"},"nativeSrc":"16292:106:0","nodeType":"YulIf","src":"16292:106:0"}]},"name":"g1_acc","nativeSrc":"15914:498:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15930:2:0","nodeType":"YulTypedName","src":"15930:2:0","type":""},{"name":"pP","nativeSrc":"15934:2:0","nodeType":"YulTypedName","src":"15934:2:0","type":""}],"src":"15914:498:0"},{"body":{"nativeSrc":"16456:789:0","nodeType":"YulBlock","src":"16456:789:0","statements":[{"nativeSrc":"16474:11:0","nodeType":"YulVariableDeclaration","src":"16474:11:0","variables":[{"name":"success","nativeSrc":"16478:7:0","nodeType":"YulTypedName","src":"16478:7:0","type":""}]},{"nativeSrc":"16502:22:0","nodeType":"YulVariableDeclaration","src":"16502:22:0","value":{"arguments":[{"kind":"number","nativeSrc":"16519:4:0","nodeType":"YulLiteral","src":"16519:4:0","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"16513:5:0","nodeType":"YulIdentifier","src":"16513:5:0"},"nativeSrc":"16513:11:0","nodeType":"YulFunctionCall","src":"16513:11:0"},"variables":[{"name":"mIn","nativeSrc":"16506:3:0","nodeType":"YulTypedName","src":"16506:3:0","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"16548:3:0","nodeType":"YulIdentifier","src":"16548:3:0"},{"arguments":[{"name":"pP","nativeSrc":"16559:2:0","nodeType":"YulIdentifier","src":"16559:2:0"}],"functionName":{"name":"mload","nativeSrc":"16553:5:0","nodeType":"YulIdentifier","src":"16553:5:0"},"nativeSrc":"16553:9:0","nodeType":"YulFunctionCall","src":"16553:9:0"}],"functionName":{"name":"mstore","nativeSrc":"16541:6:0","nodeType":"YulIdentifier","src":"16541:6:0"},"nativeSrc":"16541:22:0","nodeType":"YulFunctionCall","src":"16541:22:0"},"nativeSrc":"16541:22:0","nodeType":"YulExpressionStatement","src":"16541:22:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16591:3:0","nodeType":"YulIdentifier","src":"16591:3:0"},{"kind":"number","nativeSrc":"16595:2:0","nodeType":"YulLiteral","src":"16595:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16587:3:0","nodeType":"YulIdentifier","src":"16587:3:0"},"nativeSrc":"16587:11:0","nodeType":"YulFunctionCall","src":"16587:11:0"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16610:2:0","nodeType":"YulIdentifier","src":"16610:2:0"},{"kind":"number","nativeSrc":"16614:2:0","nodeType":"YulLiteral","src":"16614:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16606:3:0","nodeType":"YulIdentifier","src":"16606:3:0"},"nativeSrc":"16606:11:0","nodeType":"YulFunctionCall","src":"16606:11:0"}],"functionName":{"name":"mload","nativeSrc":"16600:5:0","nodeType":"YulIdentifier","src":"16600:5:0"},"nativeSrc":"16600:18:0","nodeType":"YulFunctionCall","src":"16600:18:0"}],"functionName":{"name":"mstore","nativeSrc":"16580:6:0","nodeType":"YulIdentifier","src":"16580:6:0"},"nativeSrc":"16580:39:0","nodeType":"YulFunctionCall","src":"16580:39:0"},"nativeSrc":"16580:39:0","nodeType":"YulExpressionStatement","src":"16580:39:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16647:3:0","nodeType":"YulIdentifier","src":"16647:3:0"},{"kind":"number","nativeSrc":"16651:2:0","nodeType":"YulLiteral","src":"16651:2:0","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16643:3:0","nodeType":"YulIdentifier","src":"16643:3:0"},"nativeSrc":"16643:11:0","nodeType":"YulFunctionCall","src":"16643:11:0"},{"name":"s","nativeSrc":"16656:1:0","nodeType":"YulIdentifier","src":"16656:1:0"}],"functionName":{"name":"mstore","nativeSrc":"16636:6:0","nodeType":"YulIdentifier","src":"16636:6:0"},"nativeSrc":"16636:22:0","nodeType":"YulFunctionCall","src":"16636:22:0"},"nativeSrc":"16636:22:0","nodeType":"YulExpressionStatement","src":"16636:22:0"},{"nativeSrc":"16676:60:0","nodeType":"YulAssignment","src":"16676:60:0","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16702:3:0","nodeType":"YulIdentifier","src":"16702:3:0"},"nativeSrc":"16702:5:0","nodeType":"YulFunctionCall","src":"16702:5:0"},{"kind":"number","nativeSrc":"16709:4:0","nodeType":"YulLiteral","src":"16709:4:0","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16698:3:0","nodeType":"YulIdentifier","src":"16698:3:0"},"nativeSrc":"16698:16:0","nodeType":"YulFunctionCall","src":"16698:16:0"},{"kind":"number","nativeSrc":"16716:1:0","nodeType":"YulLiteral","src":"16716:1:0","type":"","value":"7"},{"name":"mIn","nativeSrc":"16719:3:0","nodeType":"YulIdentifier","src":"16719:3:0"},{"kind":"number","nativeSrc":"16724:2:0","nodeType":"YulLiteral","src":"16724:2:0","type":"","value":"96"},{"name":"mIn","nativeSrc":"16728:3:0","nodeType":"YulIdentifier","src":"16728:3:0"},{"kind":"number","nativeSrc":"16733:2:0","nodeType":"YulLiteral","src":"16733:2:0","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16687:10:0","nodeType":"YulIdentifier","src":"16687:10:0"},"nativeSrc":"16687:49:0","nodeType":"YulFunctionCall","src":"16687:49:0"},"variableNames":[{"name":"success","nativeSrc":"16676:7:0","nodeType":"YulIdentifier","src":"16676:7:0"}]},{"body":{"nativeSrc":"16789:87:0","nodeType":"YulBlock","src":"16789:87:0","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16818:1:0","nodeType":"YulLiteral","src":"16818:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"16821:1:0","nodeType":"YulLiteral","src":"16821:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16811:6:0","nodeType":"YulIdentifier","src":"16811:6:0"},"nativeSrc":"16811:12:0","nodeType":"YulFunctionCall","src":"16811:12:0"},"nativeSrc":"16811:12:0","nodeType":"YulExpressionStatement","src":"16811:12:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16851:1:0","nodeType":"YulLiteral","src":"16851:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"16853:4:0","nodeType":"YulLiteral","src":"16853:4:0","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16844:6:0","nodeType":"YulIdentifier","src":"16844:6:0"},"nativeSrc":"16844:14:0","nodeType":"YulFunctionCall","src":"16844:14:0"},"nativeSrc":"16844:14:0","nodeType":"YulExpressionStatement","src":"16844:14:0"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16780:7:0","nodeType":"YulIdentifier","src":"16780:7:0"}],"functionName":{"name":"iszero","nativeSrc":"16773:6:0","nodeType":"YulIdentifier","src":"16773:6:0"},"nativeSrc":"16773:15:0","nodeType":"YulFunctionCall","src":"16773:15:0"},"nativeSrc":"16770:106:0","nodeType":"YulIf","src":"16770:106:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16921:3:0","nodeType":"YulIdentifier","src":"16921:3:0"},{"kind":"number","nativeSrc":"16925:2:0","nodeType":"YulLiteral","src":"16925:2:0","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16917:3:0","nodeType":"YulIdentifier","src":"16917:3:0"},"nativeSrc":"16917:11:0","nodeType":"YulFunctionCall","src":"16917:11:0"},{"arguments":[{"name":"pR","nativeSrc":"16936:2:0","nodeType":"YulIdentifier","src":"16936:2:0"}],"functionName":{"name":"mload","nativeSrc":"16930:5:0","nodeType":"YulIdentifier","src":"16930:5:0"},"nativeSrc":"16930:9:0","nodeType":"YulFunctionCall","src":"16930:9:0"}],"functionName":{"name":"mstore","nativeSrc":"16910:6:0","nodeType":"YulIdentifier","src":"16910:6:0"},"nativeSrc":"16910:30:0","nodeType":"YulFunctionCall","src":"16910:30:0"},"nativeSrc":"16910:30:0","nodeType":"YulExpressionStatement","src":"16910:30:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16968:3:0","nodeType":"YulIdentifier","src":"16968:3:0"},{"kind":"number","nativeSrc":"16972:2:0","nodeType":"YulLiteral","src":"16972:2:0","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16964:3:0","nodeType":"YulIdentifier","src":"16964:3:0"},"nativeSrc":"16964:11:0","nodeType":"YulFunctionCall","src":"16964:11:0"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16987:2:0","nodeType":"YulIdentifier","src":"16987:2:0"},{"kind":"number","nativeSrc":"16991:2:0","nodeType":"YulLiteral","src":"16991:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16983:3:0","nodeType":"YulIdentifier","src":"16983:3:0"},"nativeSrc":"16983:11:0","nodeType":"YulFunctionCall","src":"16983:11:0"}],"functionName":{"name":"mload","nativeSrc":"16977:5:0","nodeType":"YulIdentifier","src":"16977:5:0"},"nativeSrc":"16977:18:0","nodeType":"YulFunctionCall","src":"16977:18:0"}],"functionName":{"name":"mstore","nativeSrc":"16957:6:0","nodeType":"YulIdentifier","src":"16957:6:0"},"nativeSrc":"16957:39:0","nodeType":"YulFunctionCall","src":"16957:39:0"},"nativeSrc":"16957:39:0","nodeType":"YulExpressionStatement","src":"16957:39:0"},{"nativeSrc":"17014:60:0","nodeType":"YulAssignment","src":"17014:60:0","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17040:3:0","nodeType":"YulIdentifier","src":"17040:3:0"},"nativeSrc":"17040:5:0","nodeType":"YulFunctionCall","src":"17040:5:0"},{"kind":"number","nativeSrc":"17047:4:0","nodeType":"YulLiteral","src":"17047:4:0","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17036:3:0","nodeType":"YulIdentifier","src":"17036:3:0"},"nativeSrc":"17036:16:0","nodeType":"YulFunctionCall","src":"17036:16:0"},{"kind":"number","nativeSrc":"17054:1:0","nodeType":"YulLiteral","src":"17054:1:0","type":"","value":"6"},{"name":"mIn","nativeSrc":"17057:3:0","nodeType":"YulIdentifier","src":"17057:3:0"},{"kind":"number","nativeSrc":"17062:3:0","nodeType":"YulLiteral","src":"17062:3:0","type":"","value":"128"},{"name":"pR","nativeSrc":"17067:2:0","nodeType":"YulIdentifier","src":"17067:2:0"},{"kind":"number","nativeSrc":"17071:2:0","nodeType":"YulLiteral","src":"17071:2:0","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17025:10:0","nodeType":"YulIdentifier","src":"17025:10:0"},"nativeSrc":"17025:49:0","nodeType":"YulFunctionCall","src":"17025:49:0"},"variableNames":[{"name":"success","nativeSrc":"17014:7:0","nodeType":"YulIdentifier","src":"17014:7:0"}]},{"body":{"nativeSrc":"17127:87:0","nodeType":"YulBlock","src":"17127:87:0","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17156:1:0","nodeType":"YulLiteral","src":"17156:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"17159:1:0","nodeType":"YulLiteral","src":"17159:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17149:6:0","nodeType":"YulIdentifier","src":"17149:6:0"},"nativeSrc":"17149:12:0","nodeType":"YulFunctionCall","src":"17149:12:0"},"nativeSrc":"17149:12:0","nodeType":"YulExpressionStatement","src":"17149:12:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17189:1:0","nodeType":"YulLiteral","src":"17189:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"17191:4:0","nodeType":"YulLiteral","src":"17191:4:0","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17182:6:0","nodeType":"YulIdentifier","src":"17182:6:0"},"nativeSrc":"17182:14:0","nodeType":"YulFunctionCall","src":"17182:14:0"},"nativeSrc":"17182:14:0","nodeType":"YulExpressionStatement","src":"17182:14:0"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17118:7:0","nodeType":"YulIdentifier","src":"17118:7:0"}],"functionName":{"name":"iszero","nativeSrc":"17111:6:0","nodeType":"YulIdentifier","src":"17111:6:0"},"nativeSrc":"17111:15:0","nodeType":"YulFunctionCall","src":"17111:15:0"},"nativeSrc":"17108:106:0","nodeType":"YulIf","src":"17108:106:0"}]},"name":"g1_mulAcc","nativeSrc":"16426:819:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"16445:2:0","nodeType":"YulTypedName","src":"16445:2:0","type":""},{"name":"pP","nativeSrc":"16449:2:0","nodeType":"YulTypedName","src":"16449:2:0","type":""},{"name":"s","nativeSrc":"16453:1:0","nodeType":"YulTypedName","src":"16453:1:0","type":""}],"src":"16426:819:0"},{"body":{"nativeSrc":"17292:747:0","nodeType":"YulBlock","src":"17292:747:0","statements":[{"nativeSrc":"17310:11:0","nodeType":"YulVariableDeclaration","src":"17310:11:0","variables":[{"name":"success","nativeSrc":"17314:7:0","nodeType":"YulTypedName","src":"17314:7:0","type":""}]},{"nativeSrc":"17338:22:0","nodeType":"YulVariableDeclaration","src":"17338:22:0","value":{"arguments":[{"kind":"number","nativeSrc":"17355:4:0","nodeType":"YulLiteral","src":"17355:4:0","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17349:5:0","nodeType":"YulIdentifier","src":"17349:5:0"},"nativeSrc":"17349:11:0","nodeType":"YulFunctionCall","src":"17349:11:0"},"variables":[{"name":"mIn","nativeSrc":"17342:3:0","nodeType":"YulTypedName","src":"17342:3:0","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"17384:3:0","nodeType":"YulIdentifier","src":"17384:3:0"},{"name":"x","nativeSrc":"17389:1:0","nodeType":"YulIdentifier","src":"17389:1:0"}],"functionName":{"name":"mstore","nativeSrc":"17377:6:0","nodeType":"YulIdentifier","src":"17377:6:0"},"nativeSrc":"17377:14:0","nodeType":"YulFunctionCall","src":"17377:14:0"},"nativeSrc":"17377:14:0","nodeType":"YulExpressionStatement","src":"17377:14:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17419:3:0","nodeType":"YulIdentifier","src":"17419:3:0"},{"kind":"number","nativeSrc":"17423:2:0","nodeType":"YulLiteral","src":"17423:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17415:3:0","nodeType":"YulIdentifier","src":"17415:3:0"},"nativeSrc":"17415:11:0","nodeType":"YulFunctionCall","src":"17415:11:0"},{"name":"y","nativeSrc":"17428:1:0","nodeType":"YulIdentifier","src":"17428:1:0"}],"functionName":{"name":"mstore","nativeSrc":"17408:6:0","nodeType":"YulIdentifier","src":"17408:6:0"},"nativeSrc":"17408:22:0","nodeType":"YulFunctionCall","src":"17408:22:0"},"nativeSrc":"17408:22:0","nodeType":"YulExpressionStatement","src":"17408:22:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17458:3:0","nodeType":"YulIdentifier","src":"17458:3:0"},{"kind":"number","nativeSrc":"17462:2:0","nodeType":"YulLiteral","src":"17462:2:0","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17454:3:0","nodeType":"YulIdentifier","src":"17454:3:0"},"nativeSrc":"17454:11:0","nodeType":"YulFunctionCall","src":"17454:11:0"},{"name":"s","nativeSrc":"17467:1:0","nodeType":"YulIdentifier","src":"17467:1:0"}],"functionName":{"name":"mstore","nativeSrc":"17447:6:0","nodeType":"YulIdentifier","src":"17447:6:0"},"nativeSrc":"17447:22:0","nodeType":"YulFunctionCall","src":"17447:22:0"},"nativeSrc":"17447:22:0","nodeType":"YulExpressionStatement","src":"17447:22:0"},{"nativeSrc":"17487:60:0","nodeType":"YulAssignment","src":"17487:60:0","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17513:3:0","nodeType":"YulIdentifier","src":"17513:3:0"},"nativeSrc":"17513:5:0","nodeType":"YulFunctionCall","src":"17513:5:0"},{"kind":"number","nativeSrc":"17520:4:0","nodeType":"YulLiteral","src":"17520:4:0","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17509:3:0","nodeType":"YulIdentifier","src":"17509:3:0"},"nativeSrc":"17509:16:0","nodeType":"YulFunctionCall","src":"17509:16:0"},{"kind":"number","nativeSrc":"17527:1:0","nodeType":"YulLiteral","src":"17527:1:0","type":"","value":"7"},{"name":"mIn","nativeSrc":"17530:3:0","nodeType":"YulIdentifier","src":"17530:3:0"},{"kind":"number","nativeSrc":"17535:2:0","nodeType":"YulLiteral","src":"17535:2:0","type":"","value":"96"},{"name":"mIn","nativeSrc":"17539:3:0","nodeType":"YulIdentifier","src":"17539:3:0"},{"kind":"number","nativeSrc":"17544:2:0","nodeType":"YulLiteral","src":"17544:2:0","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17498:10:0","nodeType":"YulIdentifier","src":"17498:10:0"},"nativeSrc":"17498:49:0","nodeType":"YulFunctionCall","src":"17498:49:0"},"variableNames":[{"name":"success","nativeSrc":"17487:7:0","nodeType":"YulIdentifier","src":"17487:7:0"}]},{"body":{"nativeSrc":"17600:87:0","nodeType":"YulBlock","src":"17600:87:0","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17629:1:0","nodeType":"YulLiteral","src":"17629:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"17632:1:0","nodeType":"YulLiteral","src":"17632:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17622:6:0","nodeType":"YulIdentifier","src":"17622:6:0"},"nativeSrc":"17622:12:0","nodeType":"YulFunctionCall","src":"17622:12:0"},"nativeSrc":"17622:12:0","nodeType":"YulExpressionStatement","src":"17622:12:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17662:1:0","nodeType":"YulLiteral","src":"17662:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"17664:4:0","nodeType":"YulLiteral","src":"17664:4:0","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17655:6:0","nodeType":"YulIdentifier","src":"17655:6:0"},"nativeSrc":"17655:14:0","nodeType":"YulFunctionCall","src":"17655:14:0"},"nativeSrc":"17655:14:0","nodeType":"YulExpressionStatement","src":"17655:14:0"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17591:7:0","nodeType":"YulIdentifier","src":"17591:7:0"}],"functionName":{"name":"iszero","nativeSrc":"17584:6:0","nodeType":"YulIdentifier","src":"17584:6:0"},"nativeSrc":"17584:15:0","nodeType":"YulFunctionCall","src":"17584:15:0"},"nativeSrc":"17581:106:0","nodeType":"YulIf","src":"17581:106:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17732:3:0","nodeType":"YulIdentifier","src":"17732:3:0"},{"kind":"number","nativeSrc":"17736:2:0","nodeType":"YulLiteral","src":"17736:2:0","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17728:3:0","nodeType":"YulIdentifier","src":"17728:3:0"},"nativeSrc":"17728:11:0","nodeType":"YulFunctionCall","src":"17728:11:0"},{"arguments":[{"name":"pR","nativeSrc":"17747:2:0","nodeType":"YulIdentifier","src":"17747:2:0"}],"functionName":{"name":"mload","nativeSrc":"17741:5:0","nodeType":"YulIdentifier","src":"17741:5:0"},"nativeSrc":"17741:9:0","nodeType":"YulFunctionCall","src":"17741:9:0"}],"functionName":{"name":"mstore","nativeSrc":"17721:6:0","nodeType":"YulIdentifier","src":"17721:6:0"},"nativeSrc":"17721:30:0","nodeType":"YulFunctionCall","src":"17721:30:0"},"nativeSrc":"17721:30:0","nodeType":"YulExpressionStatement","src":"17721:30:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17779:3:0","nodeType":"YulIdentifier","src":"17779:3:0"},{"kind":"number","nativeSrc":"17783:2:0","nodeType":"YulLiteral","src":"17783:2:0","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"17775:3:0","nodeType":"YulIdentifier","src":"17775:3:0"},"nativeSrc":"17775:11:0","nodeType":"YulFunctionCall","src":"17775:11:0"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"17798:2:0","nodeType":"YulIdentifier","src":"17798:2:0"},{"kind":"number","nativeSrc":"17802:2:0","nodeType":"YulLiteral","src":"17802:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17794:3:0","nodeType":"YulIdentifier","src":"17794:3:0"},"nativeSrc":"17794:11:0","nodeType":"YulFunctionCall","src":"17794:11:0"}],"functionName":{"name":"mload","nativeSrc":"17788:5:0","nodeType":"YulIdentifier","src":"17788:5:0"},"nativeSrc":"17788:18:0","nodeType":"YulFunctionCall","src":"17788:18:0"}],"functionName":{"name":"mstore","nativeSrc":"17768:6:0","nodeType":"YulIdentifier","src":"17768:6:0"},"nativeSrc":"17768:39:0","nodeType":"YulFunctionCall","src":"17768:39:0"},"nativeSrc":"17768:39:0","nodeType":"YulExpressionStatement","src":"17768:39:0"},{"nativeSrc":"17825:60:0","nodeType":"YulAssignment","src":"17825:60:0","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17851:3:0","nodeType":"YulIdentifier","src":"17851:3:0"},"nativeSrc":"17851:5:0","nodeType":"YulFunctionCall","src":"17851:5:0"},{"kind":"number","nativeSrc":"17858:4:0","nodeType":"YulLiteral","src":"17858:4:0","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17847:3:0","nodeType":"YulIdentifier","src":"17847:3:0"},"nativeSrc":"17847:16:0","nodeType":"YulFunctionCall","src":"17847:16:0"},{"kind":"number","nativeSrc":"17865:1:0","nodeType":"YulLiteral","src":"17865:1:0","type":"","value":"6"},{"name":"mIn","nativeSrc":"17868:3:0","nodeType":"YulIdentifier","src":"17868:3:0"},{"kind":"number","nativeSrc":"17873:3:0","nodeType":"YulLiteral","src":"17873:3:0","type":"","value":"128"},{"name":"pR","nativeSrc":"17878:2:0","nodeType":"YulIdentifier","src":"17878:2:0"},{"kind":"number","nativeSrc":"17882:2:0","nodeType":"YulLiteral","src":"17882:2:0","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17836:10:0","nodeType":"YulIdentifier","src":"17836:10:0"},"nativeSrc":"17836:49:0","nodeType":"YulFunctionCall","src":"17836:49:0"},"variableNames":[{"name":"success","nativeSrc":"17825:7:0","nodeType":"YulIdentifier","src":"17825:7:0"}]},{"body":{"nativeSrc":"17938:87:0","nodeType":"YulBlock","src":"17938:87:0","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17967:1:0","nodeType":"YulLiteral","src":"17967:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"17970:1:0","nodeType":"YulLiteral","src":"17970:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17960:6:0","nodeType":"YulIdentifier","src":"17960:6:0"},"nativeSrc":"17960:12:0","nodeType":"YulFunctionCall","src":"17960:12:0"},"nativeSrc":"17960:12:0","nodeType":"YulExpressionStatement","src":"17960:12:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18000:1:0","nodeType":"YulLiteral","src":"18000:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"18002:4:0","nodeType":"YulLiteral","src":"18002:4:0","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17993:6:0","nodeType":"YulIdentifier","src":"17993:6:0"},"nativeSrc":"17993:14:0","nodeType":"YulFunctionCall","src":"17993:14:0"},"nativeSrc":"17993:14:0","nodeType":"YulExpressionStatement","src":"17993:14:0"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17929:7:0","nodeType":"YulIdentifier","src":"17929:7:0"}],"functionName":{"name":"iszero","nativeSrc":"17922:6:0","nodeType":"YulIdentifier","src":"17922:6:0"},"nativeSrc":"17922:15:0","nodeType":"YulFunctionCall","src":"17922:15:0"},"nativeSrc":"17919:106:0","nodeType":"YulIf","src":"17919:106:0"}]},"name":"g1_mulAccC","nativeSrc":"17259:780:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"17279:2:0","nodeType":"YulTypedName","src":"17279:2:0","type":""},{"name":"x","nativeSrc":"17283:1:0","nodeType":"YulTypedName","src":"17283:1:0","type":""},{"name":"y","nativeSrc":"17286:1:0","nodeType":"YulTypedName","src":"17286:1:0","type":""},{"name":"s","nativeSrc":"17289:1:0","nodeType":"YulTypedName","src":"17289:1:0","type":""}],"src":"17259:780:0"},{"body":{"nativeSrc":"18086:408:0","nodeType":"YulBlock","src":"18086:408:0","statements":[{"nativeSrc":"18104:11:0","nodeType":"YulVariableDeclaration","src":"18104:11:0","variables":[{"name":"success","nativeSrc":"18108:7:0","nodeType":"YulTypedName","src":"18108:7:0","type":""}]},{"nativeSrc":"18132:22:0","nodeType":"YulVariableDeclaration","src":"18132:22:0","value":{"arguments":[{"kind":"number","nativeSrc":"18149:4:0","nodeType":"YulLiteral","src":"18149:4:0","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"18143:5:0","nodeType":"YulIdentifier","src":"18143:5:0"},"nativeSrc":"18143:11:0","nodeType":"YulFunctionCall","src":"18143:11:0"},"variables":[{"name":"mIn","nativeSrc":"18136:3:0","nodeType":"YulTypedName","src":"18136:3:0","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"18178:3:0","nodeType":"YulIdentifier","src":"18178:3:0"},{"name":"x","nativeSrc":"18183:1:0","nodeType":"YulIdentifier","src":"18183:1:0"}],"functionName":{"name":"mstore","nativeSrc":"18171:6:0","nodeType":"YulIdentifier","src":"18171:6:0"},"nativeSrc":"18171:14:0","nodeType":"YulFunctionCall","src":"18171:14:0"},"nativeSrc":"18171:14:0","nodeType":"YulExpressionStatement","src":"18171:14:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18213:3:0","nodeType":"YulIdentifier","src":"18213:3:0"},{"kind":"number","nativeSrc":"18217:2:0","nodeType":"YulLiteral","src":"18217:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"18209:3:0","nodeType":"YulIdentifier","src":"18209:3:0"},"nativeSrc":"18209:11:0","nodeType":"YulFunctionCall","src":"18209:11:0"},{"name":"y","nativeSrc":"18222:1:0","nodeType":"YulIdentifier","src":"18222:1:0"}],"functionName":{"name":"mstore","nativeSrc":"18202:6:0","nodeType":"YulIdentifier","src":"18202:6:0"},"nativeSrc":"18202:22:0","nodeType":"YulFunctionCall","src":"18202:22:0"},"nativeSrc":"18202:22:0","nodeType":"YulExpressionStatement","src":"18202:22:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18252:3:0","nodeType":"YulIdentifier","src":"18252:3:0"},{"kind":"number","nativeSrc":"18256:2:0","nodeType":"YulLiteral","src":"18256:2:0","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"18248:3:0","nodeType":"YulIdentifier","src":"18248:3:0"},"nativeSrc":"18248:11:0","nodeType":"YulFunctionCall","src":"18248:11:0"},{"name":"s","nativeSrc":"18261:1:0","nodeType":"YulIdentifier","src":"18261:1:0"}],"functionName":{"name":"mstore","nativeSrc":"18241:6:0","nodeType":"YulIdentifier","src":"18241:6:0"},"nativeSrc":"18241:22:0","nodeType":"YulFunctionCall","src":"18241:22:0"},"nativeSrc":"18241:22:0","nodeType":"YulExpressionStatement","src":"18241:22:0"},{"nativeSrc":"18281:59:0","nodeType":"YulAssignment","src":"18281:59:0","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"18307:3:0","nodeType":"YulIdentifier","src":"18307:3:0"},"nativeSrc":"18307:5:0","nodeType":"YulFunctionCall","src":"18307:5:0"},{"kind":"number","nativeSrc":"18314:4:0","nodeType":"YulLiteral","src":"18314:4:0","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"18303:3:0","nodeType":"YulIdentifier","src":"18303:3:0"},"nativeSrc":"18303:16:0","nodeType":"YulFunctionCall","src":"18303:16:0"},{"kind":"number","nativeSrc":"18321:1:0","nodeType":"YulLiteral","src":"18321:1:0","type":"","value":"7"},{"name":"mIn","nativeSrc":"18324:3:0","nodeType":"YulIdentifier","src":"18324:3:0"},{"kind":"number","nativeSrc":"18329:2:0","nodeType":"YulLiteral","src":"18329:2:0","type":"","value":"96"},{"name":"pR","nativeSrc":"18333:2:0","nodeType":"YulIdentifier","src":"18333:2:0"},{"kind":"number","nativeSrc":"18337:2:0","nodeType":"YulLiteral","src":"18337:2:0","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"18292:10:0","nodeType":"YulIdentifier","src":"18292:10:0"},"nativeSrc":"18292:48:0","nodeType":"YulFunctionCall","src":"18292:48:0"},"variableNames":[{"name":"success","nativeSrc":"18281:7:0","nodeType":"YulIdentifier","src":"18281:7:0"}]},{"body":{"nativeSrc":"18393:87:0","nodeType":"YulBlock","src":"18393:87:0","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"18422:1:0","nodeType":"YulLiteral","src":"18422:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"18425:1:0","nodeType":"YulLiteral","src":"18425:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"18415:6:0","nodeType":"YulIdentifier","src":"18415:6:0"},"nativeSrc":"18415:12:0","nodeType":"YulFunctionCall","src":"18415:12:0"},"nativeSrc":"18415:12:0","nodeType":"YulExpressionStatement","src":"18415:12:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18455:1:0","nodeType":"YulLiteral","src":"18455:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"18457:4:0","nodeType":"YulLiteral","src":"18457:4:0","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"18448:6:0","nodeType":"YulIdentifier","src":"18448:6:0"},"nativeSrc":"18448:14:0","nodeType":"YulFunctionCall","src":"18448:14:0"},"nativeSrc":"18448:14:0","nodeType":"YulExpressionStatement","src":"18448:14:0"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"18384:7:0","nodeType":"YulIdentifier","src":"18384:7:0"}],"functionName":{"name":"iszero","nativeSrc":"18377:6:0","nodeType":"YulIdentifier","src":"18377:6:0"},"nativeSrc":"18377:15:0","nodeType":"YulFunctionCall","src":"18377:15:0"},"nativeSrc":"18374:106:0","nodeType":"YulIf","src":"18374:106:0"}]},"name":"g1_mulSetC","nativeSrc":"18053:441:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"18073:2:0","nodeType":"YulTypedName","src":"18073:2:0","type":""},{"name":"x","nativeSrc":"18077:1:0","nodeType":"YulTypedName","src":"18077:1:0","type":""},{"name":"y","nativeSrc":"18080:1:0","nodeType":"YulTypedName","src":"18080:1:0","type":""},{"name":"s","nativeSrc":"18083:1:0","nodeType":"YulTypedName","src":"18083:1:0","type":""}],"src":"18053:441:0"},{"body":{"nativeSrc":"18544:171:0","nodeType":"YulBlock","src":"18544:171:0","statements":[{"nativeSrc":"18562:23:0","nodeType":"YulVariableDeclaration","src":"18562:23:0","value":{"arguments":[{"name":"pMem","nativeSrc":"18575:4:0","nodeType":"YulIdentifier","src":"18575:4:0"},{"name":"pA1","nativeSrc":"18581:3:0","nodeType":"YulIdentifier","src":"18581:3:0"}],"functionName":{"name":"add","nativeSrc":"18571:3:0","nodeType":"YulIdentifier","src":"18571:3:0"},"nativeSrc":"18571:14:0","nodeType":"YulFunctionCall","src":"18571:14:0"},"variables":[{"name":"p","nativeSrc":"18566:1:0","nodeType":"YulTypedName","src":"18566:1:0","type":""}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"18609:1:0","nodeType":"YulIdentifier","src":"18609:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"18616:6:0","nodeType":"YulIdentifier","src":"18616:6:0"},{"name":"pWxi","nativeSrc":"18624:4:0","nodeType":"YulIdentifier","src":"18624:4:0"}],"functionName":{"name":"add","nativeSrc":"18612:3:0","nodeType":"YulIdentifier","src":"18612:3:0"},"nativeSrc":"18612:17:0","nodeType":"YulFunctionCall","src":"18612:17:0"}],"functionName":{"name":"g1_set","nativeSrc":"18602:6:0","nodeType":"YulIdentifier","src":"18602:6:0"},"nativeSrc":"18602:28:0","nodeType":"YulFunctionCall","src":"18602:28:0"},"nativeSrc":"18602:28:0","nodeType":"YulExpressionStatement","src":"18602:28:0"},{"expression":{"arguments":[{"name":"p","nativeSrc":"18657:1:0","nodeType":"YulIdentifier","src":"18657:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"18664:6:0","nodeType":"YulIdentifier","src":"18664:6:0"},{"name":"pWxiw","nativeSrc":"18672:5:0","nodeType":"YulIdentifier","src":"18672:5:0"}],"functionName":{"name":"add","nativeSrc":"18660:3:0","nodeType":"YulIdentifier","src":"18660:3:0"},"nativeSrc":"18660:18:0","nodeType":"YulFunctionCall","src":"18660:18:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18690:4:0","nodeType":"YulIdentifier","src":"18690:4:0"},{"name":"pU","nativeSrc":"18696:2:0","nodeType":"YulIdentifier","src":"18696:2:0"}],"functionName":{"name":"add","nativeSrc":"18686:3:0","nodeType":"YulIdentifier","src":"18686:3:0"},"nativeSrc":"18686:13:0","nodeType":"YulFunctionCall","src":"18686:13:0"}],"functionName":{"name":"mload","nativeSrc":"18680:5:0","nodeType":"YulIdentifier","src":"18680:5:0"},"nativeSrc":"18680:20:0","nodeType":"YulFunctionCall","src":"18680:20:0"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"18647:9:0","nodeType":"YulIdentifier","src":"18647:9:0"},"nativeSrc":"18647:54:0","nodeType":"YulFunctionCall","src":"18647:54:0"},"nativeSrc":"18647:54:0","nodeType":"YulExpressionStatement","src":"18647:54:0"}]},"name":"calculateA1","nativeSrc":"18509:206:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18530:6:0","nodeType":"YulTypedName","src":"18530:6:0","type":""},{"name":"pMem","nativeSrc":"18538:4:0","nodeType":"YulTypedName","src":"18538:4:0","type":""}],"src":"18509:206:0"},{"body":{"nativeSrc":"18789:4443:0","nodeType":"YulBlock","src":"18789:4443:0","statements":[{"nativeSrc":"18807:5:0","nodeType":"YulVariableDeclaration","src":"18807:5:0","variables":[{"name":"s","nativeSrc":"18811:1:0","nodeType":"YulTypedName","src":"18811:1:0","type":""}]},{"nativeSrc":"18829:6:0","nodeType":"YulVariableDeclaration","src":"18829:6:0","variables":[{"name":"s1","nativeSrc":"18833:2:0","nodeType":"YulTypedName","src":"18833:2:0","type":""}]},{"nativeSrc":"18852:23:0","nodeType":"YulVariableDeclaration","src":"18852:23:0","value":{"arguments":[{"name":"pMem","nativeSrc":"18865:4:0","nodeType":"YulIdentifier","src":"18865:4:0"},{"name":"pB1","nativeSrc":"18871:3:0","nodeType":"YulIdentifier","src":"18871:3:0"}],"functionName":{"name":"add","nativeSrc":"18861:3:0","nodeType":"YulIdentifier","src":"18861:3:0"},"nativeSrc":"18861:14:0","nodeType":"YulFunctionCall","src":"18861:14:0"},"variables":[{"name":"p","nativeSrc":"18856:1:0","nodeType":"YulTypedName","src":"18856:1:0","type":""}]},{"nativeSrc":"18940:67:0","nodeType":"YulAssignment","src":"18940:67:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"18963:6:0","nodeType":"YulIdentifier","src":"18963:6:0"},{"name":"pEval_a","nativeSrc":"18971:7:0","nodeType":"YulIdentifier","src":"18971:7:0"}],"functionName":{"name":"add","nativeSrc":"18959:3:0","nodeType":"YulIdentifier","src":"18959:3:0"},"nativeSrc":"18959:20:0","nodeType":"YulFunctionCall","src":"18959:20:0"}],"functionName":{"name":"mload","nativeSrc":"18953:5:0","nodeType":"YulIdentifier","src":"18953:5:0"},"nativeSrc":"18953:27:0","nodeType":"YulFunctionCall","src":"18953:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18992:4:0","nodeType":"YulIdentifier","src":"18992:4:0"},{"name":"pV1","nativeSrc":"18998:3:0","nodeType":"YulIdentifier","src":"18998:3:0"}],"functionName":{"name":"add","nativeSrc":"18988:3:0","nodeType":"YulIdentifier","src":"18988:3:0"},"nativeSrc":"18988:14:0","nodeType":"YulFunctionCall","src":"18988:14:0"}],"functionName":{"name":"mload","nativeSrc":"18982:5:0","nodeType":"YulIdentifier","src":"18982:5:0"},"nativeSrc":"18982:21:0","nodeType":"YulFunctionCall","src":"18982:21:0"},{"name":"q","nativeSrc":"19005:1:0","nodeType":"YulIdentifier","src":"19005:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"18945:6:0","nodeType":"YulIdentifier","src":"18945:6:0"},"nativeSrc":"18945:62:0","nodeType":"YulFunctionCall","src":"18945:62:0"},"variableNames":[{"name":"s","nativeSrc":"18940:1:0","nodeType":"YulIdentifier","src":"18940:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19035:1:0","nodeType":"YulIdentifier","src":"19035:1:0"},{"name":"Qlx","nativeSrc":"19038:3:0","nodeType":"YulIdentifier","src":"19038:3:0"},{"name":"Qly","nativeSrc":"19043:3:0","nodeType":"YulIdentifier","src":"19043:3:0"},{"name":"s","nativeSrc":"19048:1:0","nodeType":"YulIdentifier","src":"19048:1:0"}],"functionName":{"name":"g1_mulSetC","nativeSrc":"19024:10:0","nodeType":"YulIdentifier","src":"19024:10:0"},"nativeSrc":"19024:26:0","nodeType":"YulFunctionCall","src":"19024:26:0"},"nativeSrc":"19024:26:0","nodeType":"YulExpressionStatement","src":"19024:26:0"},{"nativeSrc":"19068:47:0","nodeType":"YulAssignment","src":"19068:47:0","value":{"arguments":[{"name":"s","nativeSrc":"19081:1:0","nodeType":"YulIdentifier","src":"19081:1:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19094:6:0","nodeType":"YulIdentifier","src":"19094:6:0"},{"name":"pEval_b","nativeSrc":"19102:7:0","nodeType":"YulIdentifier","src":"19102:7:0"}],"functionName":{"name":"add","nativeSrc":"19090:3:0","nodeType":"YulIdentifier","src":"19090:3:0"},"nativeSrc":"19090:20:0","nodeType":"YulFunctionCall","src":"19090:20:0"}],"functionName":{"name":"mload","nativeSrc":"19084:5:0","nodeType":"YulIdentifier","src":"19084:5:0"},"nativeSrc":"19084:27:0","nodeType":"YulFunctionCall","src":"19084:27:0"},{"name":"q","nativeSrc":"19113:1:0","nodeType":"YulIdentifier","src":"19113:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"19073:6:0","nodeType":"YulIdentifier","src":"19073:6:0"},"nativeSrc":"19073:42:0","nodeType":"YulFunctionCall","src":"19073:42:0"},"variableNames":[{"name":"s","nativeSrc":"19068:1:0","nodeType":"YulIdentifier","src":"19068:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19159:1:0","nodeType":"YulIdentifier","src":"19159:1:0"},{"name":"Qmx","nativeSrc":"19162:3:0","nodeType":"YulIdentifier","src":"19162:3:0"},{"name":"Qmy","nativeSrc":"19167:3:0","nodeType":"YulIdentifier","src":"19167:3:0"},{"name":"s","nativeSrc":"19172:1:0","nodeType":"YulIdentifier","src":"19172:1:0"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19148:10:0","nodeType":"YulIdentifier","src":"19148:10:0"},"nativeSrc":"19148:26:0","nodeType":"YulFunctionCall","src":"19148:26:0"},"nativeSrc":"19148:26:0","nodeType":"YulExpressionStatement","src":"19148:26:0"},{"nativeSrc":"19192:67:0","nodeType":"YulAssignment","src":"19192:67:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19215:6:0","nodeType":"YulIdentifier","src":"19215:6:0"},{"name":"pEval_b","nativeSrc":"19223:7:0","nodeType":"YulIdentifier","src":"19223:7:0"}],"functionName":{"name":"add","nativeSrc":"19211:3:0","nodeType":"YulIdentifier","src":"19211:3:0"},"nativeSrc":"19211:20:0","nodeType":"YulFunctionCall","src":"19211:20:0"}],"functionName":{"name":"mload","nativeSrc":"19205:5:0","nodeType":"YulIdentifier","src":"19205:5:0"},"nativeSrc":"19205:27:0","nodeType":"YulFunctionCall","src":"19205:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19244:4:0","nodeType":"YulIdentifier","src":"19244:4:0"},{"name":"pV1","nativeSrc":"19250:3:0","nodeType":"YulIdentifier","src":"19250:3:0"}],"functionName":{"name":"add","nativeSrc":"19240:3:0","nodeType":"YulIdentifier","src":"19240:3:0"},"nativeSrc":"19240:14:0","nodeType":"YulFunctionCall","src":"19240:14:0"}],"functionName":{"name":"mload","nativeSrc":"19234:5:0","nodeType":"YulIdentifier","src":"19234:5:0"},"nativeSrc":"19234:21:0","nodeType":"YulFunctionCall","src":"19234:21:0"},{"name":"q","nativeSrc":"19257:1:0","nodeType":"YulIdentifier","src":"19257:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"19197:6:0","nodeType":"YulIdentifier","src":"19197:6:0"},"nativeSrc":"19197:62:0","nodeType":"YulFunctionCall","src":"19197:62:0"},"variableNames":[{"name":"s","nativeSrc":"19192:1:0","nodeType":"YulIdentifier","src":"19192:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19287:1:0","nodeType":"YulIdentifier","src":"19287:1:0"},{"name":"Qrx","nativeSrc":"19290:3:0","nodeType":"YulIdentifier","src":"19290:3:0"},{"name":"Qry","nativeSrc":"19295:3:0","nodeType":"YulIdentifier","src":"19295:3:0"},{"name":"s","nativeSrc":"19300:1:0","nodeType":"YulIdentifier","src":"19300:1:0"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19276:10:0","nodeType":"YulIdentifier","src":"19276:10:0"},"nativeSrc":"19276:26:0","nodeType":"YulFunctionCall","src":"19276:26:0"},"nativeSrc":"19276:26:0","nodeType":"YulExpressionStatement","src":"19276:26:0"},{"nativeSrc":"19336:67:0","nodeType":"YulAssignment","src":"19336:67:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19359:6:0","nodeType":"YulIdentifier","src":"19359:6:0"},{"name":"pEval_c","nativeSrc":"19367:7:0","nodeType":"YulIdentifier","src":"19367:7:0"}],"functionName":{"name":"add","nativeSrc":"19355:3:0","nodeType":"YulIdentifier","src":"19355:3:0"},"nativeSrc":"19355:20:0","nodeType":"YulFunctionCall","src":"19355:20:0"}],"functionName":{"name":"mload","nativeSrc":"19349:5:0","nodeType":"YulIdentifier","src":"19349:5:0"},"nativeSrc":"19349:27:0","nodeType":"YulFunctionCall","src":"19349:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19388:4:0","nodeType":"YulIdentifier","src":"19388:4:0"},{"name":"pV1","nativeSrc":"19394:3:0","nodeType":"YulIdentifier","src":"19394:3:0"}],"functionName":{"name":"add","nativeSrc":"19384:3:0","nodeType":"YulIdentifier","src":"19384:3:0"},"nativeSrc":"19384:14:0","nodeType":"YulFunctionCall","src":"19384:14:0"}],"functionName":{"name":"mload","nativeSrc":"19378:5:0","nodeType":"YulIdentifier","src":"19378:5:0"},"nativeSrc":"19378:21:0","nodeType":"YulFunctionCall","src":"19378:21:0"},{"name":"q","nativeSrc":"19401:1:0","nodeType":"YulIdentifier","src":"19401:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"19341:6:0","nodeType":"YulIdentifier","src":"19341:6:0"},"nativeSrc":"19341:62:0","nodeType":"YulFunctionCall","src":"19341:62:0"},"variableNames":[{"name":"s","nativeSrc":"19336:1:0","nodeType":"YulIdentifier","src":"19336:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19431:1:0","nodeType":"YulIdentifier","src":"19431:1:0"},{"name":"Qox","nativeSrc":"19434:3:0","nodeType":"YulIdentifier","src":"19434:3:0"},{"name":"Qoy","nativeSrc":"19439:3:0","nodeType":"YulIdentifier","src":"19439:3:0"},{"name":"s","nativeSrc":"19444:1:0","nodeType":"YulIdentifier","src":"19444:1:0"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19420:10:0","nodeType":"YulIdentifier","src":"19420:10:0"},"nativeSrc":"19420:26:0","nodeType":"YulFunctionCall","src":"19420:26:0"},"nativeSrc":"19420:26:0","nodeType":"YulExpressionStatement","src":"19420:26:0"},{"nativeSrc":"19464:25:0","nodeType":"YulAssignment","src":"19464:25:0","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19478:4:0","nodeType":"YulIdentifier","src":"19478:4:0"},{"name":"pV1","nativeSrc":"19484:3:0","nodeType":"YulIdentifier","src":"19484:3:0"}],"functionName":{"name":"add","nativeSrc":"19474:3:0","nodeType":"YulIdentifier","src":"19474:3:0"},"nativeSrc":"19474:14:0","nodeType":"YulFunctionCall","src":"19474:14:0"}],"functionName":{"name":"mload","nativeSrc":"19468:5:0","nodeType":"YulIdentifier","src":"19468:5:0"},"nativeSrc":"19468:21:0","nodeType":"YulFunctionCall","src":"19468:21:0"},"variableNames":[{"name":"s","nativeSrc":"19464:1:0","nodeType":"YulIdentifier","src":"19464:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19517:1:0","nodeType":"YulIdentifier","src":"19517:1:0"},{"name":"Qcx","nativeSrc":"19520:3:0","nodeType":"YulIdentifier","src":"19520:3:0"},{"name":"Qcy","nativeSrc":"19525:3:0","nodeType":"YulIdentifier","src":"19525:3:0"},{"name":"s","nativeSrc":"19530:1:0","nodeType":"YulIdentifier","src":"19530:1:0"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19506:10:0","nodeType":"YulIdentifier","src":"19506:10:0"},"nativeSrc":"19506:26:0","nodeType":"YulFunctionCall","src":"19506:26:0"},"nativeSrc":"19506:26:0","nodeType":"YulExpressionStatement","src":"19506:26:0"},{"nativeSrc":"19550:70:0","nodeType":"YulAssignment","src":"19550:70:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19572:6:0","nodeType":"YulIdentifier","src":"19572:6:0"},{"name":"pEval_a","nativeSrc":"19580:7:0","nodeType":"YulIdentifier","src":"19580:7:0"}],"functionName":{"name":"add","nativeSrc":"19568:3:0","nodeType":"YulIdentifier","src":"19568:3:0"},"nativeSrc":"19568:20:0","nodeType":"YulFunctionCall","src":"19568:20:0"}],"functionName":{"name":"mload","nativeSrc":"19562:5:0","nodeType":"YulIdentifier","src":"19562:5:0"},"nativeSrc":"19562:27:0","nodeType":"YulFunctionCall","src":"19562:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19601:4:0","nodeType":"YulIdentifier","src":"19601:4:0"},{"name":"pBetaXi","nativeSrc":"19607:7:0","nodeType":"YulIdentifier","src":"19607:7:0"}],"functionName":{"name":"add","nativeSrc":"19597:3:0","nodeType":"YulIdentifier","src":"19597:3:0"},"nativeSrc":"19597:18:0","nodeType":"YulFunctionCall","src":"19597:18:0"}],"functionName":{"name":"mload","nativeSrc":"19591:5:0","nodeType":"YulIdentifier","src":"19591:5:0"},"nativeSrc":"19591:25:0","nodeType":"YulFunctionCall","src":"19591:25:0"},{"name":"q","nativeSrc":"19618:1:0","nodeType":"YulIdentifier","src":"19618:1:0"}],"functionName":{"name":"addmod","nativeSrc":"19555:6:0","nodeType":"YulIdentifier","src":"19555:6:0"},"nativeSrc":"19555:65:0","nodeType":"YulFunctionCall","src":"19555:65:0"},"variableNames":[{"name":"s","nativeSrc":"19550:1:0","nodeType":"YulIdentifier","src":"19550:1:0"}]},{"nativeSrc":"19637:43:0","nodeType":"YulAssignment","src":"19637:43:0","value":{"arguments":[{"name":"s","nativeSrc":"19649:1:0","nodeType":"YulIdentifier","src":"19649:1:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19662:4:0","nodeType":"YulIdentifier","src":"19662:4:0"},{"name":"pGamma","nativeSrc":"19668:6:0","nodeType":"YulIdentifier","src":"19668:6:0"}],"functionName":{"name":"add","nativeSrc":"19658:3:0","nodeType":"YulIdentifier","src":"19658:3:0"},"nativeSrc":"19658:17:0","nodeType":"YulFunctionCall","src":"19658:17:0"}],"functionName":{"name":"mload","nativeSrc":"19652:5:0","nodeType":"YulIdentifier","src":"19652:5:0"},"nativeSrc":"19652:24:0","nodeType":"YulFunctionCall","src":"19652:24:0"},{"name":"q","nativeSrc":"19678:1:0","nodeType":"YulIdentifier","src":"19678:1:0"}],"functionName":{"name":"addmod","nativeSrc":"19642:6:0","nodeType":"YulIdentifier","src":"19642:6:0"},"nativeSrc":"19642:38:0","nodeType":"YulFunctionCall","src":"19642:38:0"},"variableNames":[{"name":"s","nativeSrc":"19637:1:0","nodeType":"YulIdentifier","src":"19637:1:0"}]},{"nativeSrc":"19697:46:0","nodeType":"YulAssignment","src":"19697:46:0","value":{"arguments":[{"name":"k1","nativeSrc":"19710:2:0","nodeType":"YulIdentifier","src":"19710:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19724:4:0","nodeType":"YulIdentifier","src":"19724:4:0"},{"name":"pBetaXi","nativeSrc":"19730:7:0","nodeType":"YulIdentifier","src":"19730:7:0"}],"functionName":{"name":"add","nativeSrc":"19720:3:0","nodeType":"YulIdentifier","src":"19720:3:0"},"nativeSrc":"19720:18:0","nodeType":"YulFunctionCall","src":"19720:18:0"}],"functionName":{"name":"mload","nativeSrc":"19714:5:0","nodeType":"YulIdentifier","src":"19714:5:0"},"nativeSrc":"19714:25:0","nodeType":"YulFunctionCall","src":"19714:25:0"},{"name":"q","nativeSrc":"19741:1:0","nodeType":"YulIdentifier","src":"19741:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"19703:6:0","nodeType":"YulIdentifier","src":"19703:6:0"},"nativeSrc":"19703:40:0","nodeType":"YulFunctionCall","src":"19703:40:0"},"variableNames":[{"name":"s1","nativeSrc":"19697:2:0","nodeType":"YulIdentifier","src":"19697:2:0"}]},{"nativeSrc":"19760:48:0","nodeType":"YulAssignment","src":"19760:48:0","value":{"arguments":[{"name":"s1","nativeSrc":"19773:2:0","nodeType":"YulIdentifier","src":"19773:2:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19787:6:0","nodeType":"YulIdentifier","src":"19787:6:0"},{"name":"pEval_b","nativeSrc":"19795:7:0","nodeType":"YulIdentifier","src":"19795:7:0"}],"functionName":{"name":"add","nativeSrc":"19783:3:0","nodeType":"YulIdentifier","src":"19783:3:0"},"nativeSrc":"19783:20:0","nodeType":"YulFunctionCall","src":"19783:20:0"}],"functionName":{"name":"mload","nativeSrc":"19777:5:0","nodeType":"YulIdentifier","src":"19777:5:0"},"nativeSrc":"19777:27:0","nodeType":"YulFunctionCall","src":"19777:27:0"},{"name":"q","nativeSrc":"19806:1:0","nodeType":"YulIdentifier","src":"19806:1:0"}],"functionName":{"name":"addmod","nativeSrc":"19766:6:0","nodeType":"YulIdentifier","src":"19766:6:0"},"nativeSrc":"19766:42:0","nodeType":"YulFunctionCall","src":"19766:42:0"},"variableNames":[{"name":"s1","nativeSrc":"19760:2:0","nodeType":"YulIdentifier","src":"19760:2:0"}]},{"nativeSrc":"19825:45:0","nodeType":"YulAssignment","src":"19825:45:0","value":{"arguments":[{"name":"s1","nativeSrc":"19838:2:0","nodeType":"YulIdentifier","src":"19838:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19852:4:0","nodeType":"YulIdentifier","src":"19852:4:0"},{"name":"pGamma","nativeSrc":"19858:6:0","nodeType":"YulIdentifier","src":"19858:6:0"}],"functionName":{"name":"add","nativeSrc":"19848:3:0","nodeType":"YulIdentifier","src":"19848:3:0"},"nativeSrc":"19848:17:0","nodeType":"YulFunctionCall","src":"19848:17:0"}],"functionName":{"name":"mload","nativeSrc":"19842:5:0","nodeType":"YulIdentifier","src":"19842:5:0"},"nativeSrc":"19842:24:0","nodeType":"YulFunctionCall","src":"19842:24:0"},{"name":"q","nativeSrc":"19868:1:0","nodeType":"YulIdentifier","src":"19868:1:0"}],"functionName":{"name":"addmod","nativeSrc":"19831:6:0","nodeType":"YulIdentifier","src":"19831:6:0"},"nativeSrc":"19831:39:0","nodeType":"YulFunctionCall","src":"19831:39:0"},"variableNames":[{"name":"s1","nativeSrc":"19825:2:0","nodeType":"YulIdentifier","src":"19825:2:0"}]},{"nativeSrc":"19887:21:0","nodeType":"YulAssignment","src":"19887:21:0","value":{"arguments":[{"name":"s","nativeSrc":"19899:1:0","nodeType":"YulIdentifier","src":"19899:1:0"},{"name":"s1","nativeSrc":"19902:2:0","nodeType":"YulIdentifier","src":"19902:2:0"},{"name":"q","nativeSrc":"19906:1:0","nodeType":"YulIdentifier","src":"19906:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"19892:6:0","nodeType":"YulIdentifier","src":"19892:6:0"},"nativeSrc":"19892:16:0","nodeType":"YulFunctionCall","src":"19892:16:0"},"variableNames":[{"name":"s","nativeSrc":"19887:1:0","nodeType":"YulIdentifier","src":"19887:1:0"}]},{"nativeSrc":"19925:46:0","nodeType":"YulAssignment","src":"19925:46:0","value":{"arguments":[{"name":"k2","nativeSrc":"19938:2:0","nodeType":"YulIdentifier","src":"19938:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19952:4:0","nodeType":"YulIdentifier","src":"19952:4:0"},{"name":"pBetaXi","nativeSrc":"19958:7:0","nodeType":"YulIdentifier","src":"19958:7:0"}],"functionName":{"name":"add","nativeSrc":"19948:3:0","nodeType":"YulIdentifier","src":"19948:3:0"},"nativeSrc":"19948:18:0","nodeType":"YulFunctionCall","src":"19948:18:0"}],"functionName":{"name":"mload","nativeSrc":"19942:5:0","nodeType":"YulIdentifier","src":"19942:5:0"},"nativeSrc":"19942:25:0","nodeType":"YulFunctionCall","src":"19942:25:0"},{"name":"q","nativeSrc":"19969:1:0","nodeType":"YulIdentifier","src":"19969:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"19931:6:0","nodeType":"YulIdentifier","src":"19931:6:0"},"nativeSrc":"19931:40:0","nodeType":"YulFunctionCall","src":"19931:40:0"},"variableNames":[{"name":"s1","nativeSrc":"19925:2:0","nodeType":"YulIdentifier","src":"19925:2:0"}]},{"nativeSrc":"19988:48:0","nodeType":"YulAssignment","src":"19988:48:0","value":{"arguments":[{"name":"s1","nativeSrc":"20001:2:0","nodeType":"YulIdentifier","src":"20001:2:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20015:6:0","nodeType":"YulIdentifier","src":"20015:6:0"},{"name":"pEval_c","nativeSrc":"20023:7:0","nodeType":"YulIdentifier","src":"20023:7:0"}],"functionName":{"name":"add","nativeSrc":"20011:3:0","nodeType":"YulIdentifier","src":"20011:3:0"},"nativeSrc":"20011:20:0","nodeType":"YulFunctionCall","src":"20011:20:0"}],"functionName":{"name":"mload","nativeSrc":"20005:5:0","nodeType":"YulIdentifier","src":"20005:5:0"},"nativeSrc":"20005:27:0","nodeType":"YulFunctionCall","src":"20005:27:0"},{"name":"q","nativeSrc":"20034:1:0","nodeType":"YulIdentifier","src":"20034:1:0"}],"functionName":{"name":"addmod","nativeSrc":"19994:6:0","nodeType":"YulIdentifier","src":"19994:6:0"},"nativeSrc":"19994:42:0","nodeType":"YulFunctionCall","src":"19994:42:0"},"variableNames":[{"name":"s1","nativeSrc":"19988:2:0","nodeType":"YulIdentifier","src":"19988:2:0"}]},{"nativeSrc":"20053:45:0","nodeType":"YulAssignment","src":"20053:45:0","value":{"arguments":[{"name":"s1","nativeSrc":"20066:2:0","nodeType":"YulIdentifier","src":"20066:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20080:4:0","nodeType":"YulIdentifier","src":"20080:4:0"},{"name":"pGamma","nativeSrc":"20086:6:0","nodeType":"YulIdentifier","src":"20086:6:0"}],"functionName":{"name":"add","nativeSrc":"20076:3:0","nodeType":"YulIdentifier","src":"20076:3:0"},"nativeSrc":"20076:17:0","nodeType":"YulFunctionCall","src":"20076:17:0"}],"functionName":{"name":"mload","nativeSrc":"20070:5:0","nodeType":"YulIdentifier","src":"20070:5:0"},"nativeSrc":"20070:24:0","nodeType":"YulFunctionCall","src":"20070:24:0"},{"name":"q","nativeSrc":"20096:1:0","nodeType":"YulIdentifier","src":"20096:1:0"}],"functionName":{"name":"addmod","nativeSrc":"20059:6:0","nodeType":"YulIdentifier","src":"20059:6:0"},"nativeSrc":"20059:39:0","nodeType":"YulFunctionCall","src":"20059:39:0"},"variableNames":[{"name":"s1","nativeSrc":"20053:2:0","nodeType":"YulIdentifier","src":"20053:2:0"}]},{"nativeSrc":"20115:21:0","nodeType":"YulAssignment","src":"20115:21:0","value":{"arguments":[{"name":"s","nativeSrc":"20127:1:0","nodeType":"YulIdentifier","src":"20127:1:0"},{"name":"s1","nativeSrc":"20130:2:0","nodeType":"YulIdentifier","src":"20130:2:0"},{"name":"q","nativeSrc":"20134:1:0","nodeType":"YulIdentifier","src":"20134:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"20120:6:0","nodeType":"YulIdentifier","src":"20120:6:0"},"nativeSrc":"20120:16:0","nodeType":"YulFunctionCall","src":"20120:16:0"},"variableNames":[{"name":"s","nativeSrc":"20115:1:0","nodeType":"YulIdentifier","src":"20115:1:0"}]},{"nativeSrc":"20153:43:0","nodeType":"YulAssignment","src":"20153:43:0","value":{"arguments":[{"name":"s","nativeSrc":"20165:1:0","nodeType":"YulIdentifier","src":"20165:1:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20178:4:0","nodeType":"YulIdentifier","src":"20178:4:0"},{"name":"pAlpha","nativeSrc":"20184:6:0","nodeType":"YulIdentifier","src":"20184:6:0"}],"functionName":{"name":"add","nativeSrc":"20174:3:0","nodeType":"YulIdentifier","src":"20174:3:0"},"nativeSrc":"20174:17:0","nodeType":"YulFunctionCall","src":"20174:17:0"}],"functionName":{"name":"mload","nativeSrc":"20168:5:0","nodeType":"YulIdentifier","src":"20168:5:0"},"nativeSrc":"20168:24:0","nodeType":"YulFunctionCall","src":"20168:24:0"},{"name":"q","nativeSrc":"20194:1:0","nodeType":"YulIdentifier","src":"20194:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"20158:6:0","nodeType":"YulIdentifier","src":"20158:6:0"},"nativeSrc":"20158:38:0","nodeType":"YulFunctionCall","src":"20158:38:0"},"variableNames":[{"name":"s","nativeSrc":"20153:1:0","nodeType":"YulIdentifier","src":"20153:1:0"}]},{"nativeSrc":"20213:40:0","nodeType":"YulAssignment","src":"20213:40:0","value":{"arguments":[{"name":"s","nativeSrc":"20225:1:0","nodeType":"YulIdentifier","src":"20225:1:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20238:4:0","nodeType":"YulIdentifier","src":"20238:4:0"},{"name":"pV1","nativeSrc":"20244:3:0","nodeType":"YulIdentifier","src":"20244:3:0"}],"functionName":{"name":"add","nativeSrc":"20234:3:0","nodeType":"YulIdentifier","src":"20234:3:0"},"nativeSrc":"20234:14:0","nodeType":"YulFunctionCall","src":"20234:14:0"}],"functionName":{"name":"mload","nativeSrc":"20228:5:0","nodeType":"YulIdentifier","src":"20228:5:0"},"nativeSrc":"20228:21:0","nodeType":"YulFunctionCall","src":"20228:21:0"},{"name":"q","nativeSrc":"20251:1:0","nodeType":"YulIdentifier","src":"20251:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"20218:6:0","nodeType":"YulIdentifier","src":"20218:6:0"},"nativeSrc":"20218:35:0","nodeType":"YulFunctionCall","src":"20218:35:0"},"variableNames":[{"name":"s","nativeSrc":"20213:1:0","nodeType":"YulIdentifier","src":"20213:1:0"}]},{"nativeSrc":"20270:69:0","nodeType":"YulAssignment","src":"20270:69:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20293:4:0","nodeType":"YulIdentifier","src":"20293:4:0"},{"name":"pEval_l1","nativeSrc":"20299:8:0","nodeType":"YulIdentifier","src":"20299:8:0"}],"functionName":{"name":"add","nativeSrc":"20289:3:0","nodeType":"YulIdentifier","src":"20289:3:0"},"nativeSrc":"20289:19:0","nodeType":"YulFunctionCall","src":"20289:19:0"}],"functionName":{"name":"mload","nativeSrc":"20283:5:0","nodeType":"YulIdentifier","src":"20283:5:0"},"nativeSrc":"20283:26:0","nodeType":"YulFunctionCall","src":"20283:26:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20321:4:0","nodeType":"YulIdentifier","src":"20321:4:0"},{"name":"pAlpha","nativeSrc":"20327:6:0","nodeType":"YulIdentifier","src":"20327:6:0"}],"functionName":{"name":"add","nativeSrc":"20317:3:0","nodeType":"YulIdentifier","src":"20317:3:0"},"nativeSrc":"20317:17:0","nodeType":"YulFunctionCall","src":"20317:17:0"}],"functionName":{"name":"mload","nativeSrc":"20311:5:0","nodeType":"YulIdentifier","src":"20311:5:0"},"nativeSrc":"20311:24:0","nodeType":"YulFunctionCall","src":"20311:24:0"},{"name":"q","nativeSrc":"20337:1:0","nodeType":"YulIdentifier","src":"20337:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"20276:6:0","nodeType":"YulIdentifier","src":"20276:6:0"},"nativeSrc":"20276:63:0","nodeType":"YulFunctionCall","src":"20276:63:0"},"variableNames":[{"name":"s1","nativeSrc":"20270:2:0","nodeType":"YulIdentifier","src":"20270:2:0"}]},{"nativeSrc":"20356:45:0","nodeType":"YulAssignment","src":"20356:45:0","value":{"arguments":[{"name":"s1","nativeSrc":"20369:2:0","nodeType":"YulIdentifier","src":"20369:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20383:4:0","nodeType":"YulIdentifier","src":"20383:4:0"},{"name":"pAlpha","nativeSrc":"20389:6:0","nodeType":"YulIdentifier","src":"20389:6:0"}],"functionName":{"name":"add","nativeSrc":"20379:3:0","nodeType":"YulIdentifier","src":"20379:3:0"},"nativeSrc":"20379:17:0","nodeType":"YulFunctionCall","src":"20379:17:0"}],"functionName":{"name":"mload","nativeSrc":"20373:5:0","nodeType":"YulIdentifier","src":"20373:5:0"},"nativeSrc":"20373:24:0","nodeType":"YulFunctionCall","src":"20373:24:0"},{"name":"q","nativeSrc":"20399:1:0","nodeType":"YulIdentifier","src":"20399:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"20362:6:0","nodeType":"YulIdentifier","src":"20362:6:0"},"nativeSrc":"20362:39:0","nodeType":"YulFunctionCall","src":"20362:39:0"},"variableNames":[{"name":"s1","nativeSrc":"20356:2:0","nodeType":"YulIdentifier","src":"20356:2:0"}]},{"nativeSrc":"20418:42:0","nodeType":"YulAssignment","src":"20418:42:0","value":{"arguments":[{"name":"s1","nativeSrc":"20431:2:0","nodeType":"YulIdentifier","src":"20431:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20445:4:0","nodeType":"YulIdentifier","src":"20445:4:0"},{"name":"pV1","nativeSrc":"20451:3:0","nodeType":"YulIdentifier","src":"20451:3:0"}],"functionName":{"name":"add","nativeSrc":"20441:3:0","nodeType":"YulIdentifier","src":"20441:3:0"},"nativeSrc":"20441:14:0","nodeType":"YulFunctionCall","src":"20441:14:0"}],"functionName":{"name":"mload","nativeSrc":"20435:5:0","nodeType":"YulIdentifier","src":"20435:5:0"},"nativeSrc":"20435:21:0","nodeType":"YulFunctionCall","src":"20435:21:0"},{"name":"q","nativeSrc":"20458:1:0","nodeType":"YulIdentifier","src":"20458:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"20424:6:0","nodeType":"YulIdentifier","src":"20424:6:0"},"nativeSrc":"20424:36:0","nodeType":"YulFunctionCall","src":"20424:36:0"},"variableNames":[{"name":"s1","nativeSrc":"20418:2:0","nodeType":"YulIdentifier","src":"20418:2:0"}]},{"nativeSrc":"20477:21:0","nodeType":"YulAssignment","src":"20477:21:0","value":{"arguments":[{"name":"s","nativeSrc":"20489:1:0","nodeType":"YulIdentifier","src":"20489:1:0"},{"name":"s1","nativeSrc":"20492:2:0","nodeType":"YulIdentifier","src":"20492:2:0"},{"name":"q","nativeSrc":"20496:1:0","nodeType":"YulIdentifier","src":"20496:1:0"}],"functionName":{"name":"addmod","nativeSrc":"20482:6:0","nodeType":"YulIdentifier","src":"20482:6:0"},"nativeSrc":"20482:16:0","nodeType":"YulFunctionCall","src":"20482:16:0"},"variableNames":[{"name":"s","nativeSrc":"20477:1:0","nodeType":"YulIdentifier","src":"20477:1:0"}]},{"nativeSrc":"20515:39:0","nodeType":"YulAssignment","src":"20515:39:0","value":{"arguments":[{"name":"s","nativeSrc":"20527:1:0","nodeType":"YulIdentifier","src":"20527:1:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20540:4:0","nodeType":"YulIdentifier","src":"20540:4:0"},{"name":"pU","nativeSrc":"20546:2:0","nodeType":"YulIdentifier","src":"20546:2:0"}],"functionName":{"name":"add","nativeSrc":"20536:3:0","nodeType":"YulIdentifier","src":"20536:3:0"},"nativeSrc":"20536:13:0","nodeType":"YulFunctionCall","src":"20536:13:0"}],"functionName":{"name":"mload","nativeSrc":"20530:5:0","nodeType":"YulIdentifier","src":"20530:5:0"},"nativeSrc":"20530:20:0","nodeType":"YulFunctionCall","src":"20530:20:0"},{"name":"q","nativeSrc":"20552:1:0","nodeType":"YulIdentifier","src":"20552:1:0"}],"functionName":{"name":"addmod","nativeSrc":"20520:6:0","nodeType":"YulIdentifier","src":"20520:6:0"},"nativeSrc":"20520:34:0","nodeType":"YulFunctionCall","src":"20520:34:0"},"variableNames":[{"name":"s","nativeSrc":"20515:1:0","nodeType":"YulIdentifier","src":"20515:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"20581:1:0","nodeType":"YulIdentifier","src":"20581:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"20588:6:0","nodeType":"YulIdentifier","src":"20588:6:0"},{"name":"pZ","nativeSrc":"20596:2:0","nodeType":"YulIdentifier","src":"20596:2:0"}],"functionName":{"name":"add","nativeSrc":"20584:3:0","nodeType":"YulIdentifier","src":"20584:3:0"},"nativeSrc":"20584:15:0","nodeType":"YulFunctionCall","src":"20584:15:0"},{"name":"s","nativeSrc":"20601:1:0","nodeType":"YulIdentifier","src":"20601:1:0"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"20571:9:0","nodeType":"YulIdentifier","src":"20571:9:0"},"nativeSrc":"20571:32:0","nodeType":"YulFunctionCall","src":"20571:32:0"},"nativeSrc":"20571:32:0","nodeType":"YulExpressionStatement","src":"20571:32:0"},{"nativeSrc":"20637:69:0","nodeType":"YulAssignment","src":"20637:69:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20659:4:0","nodeType":"YulIdentifier","src":"20659:4:0"},{"name":"pBeta","nativeSrc":"20665:5:0","nodeType":"YulIdentifier","src":"20665:5:0"}],"functionName":{"name":"add","nativeSrc":"20655:3:0","nodeType":"YulIdentifier","src":"20655:3:0"},"nativeSrc":"20655:16:0","nodeType":"YulFunctionCall","src":"20655:16:0"}],"functionName":{"name":"mload","nativeSrc":"20649:5:0","nodeType":"YulIdentifier","src":"20649:5:0"},"nativeSrc":"20649:23:0","nodeType":"YulFunctionCall","src":"20649:23:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20684:6:0","nodeType":"YulIdentifier","src":"20684:6:0"},{"name":"pEval_s1","nativeSrc":"20692:8:0","nodeType":"YulIdentifier","src":"20692:8:0"}],"functionName":{"name":"add","nativeSrc":"20680:3:0","nodeType":"YulIdentifier","src":"20680:3:0"},"nativeSrc":"20680:21:0","nodeType":"YulFunctionCall","src":"20680:21:0"}],"functionName":{"name":"mload","nativeSrc":"20674:5:0","nodeType":"YulIdentifier","src":"20674:5:0"},"nativeSrc":"20674:28:0","nodeType":"YulFunctionCall","src":"20674:28:0"},{"name":"q","nativeSrc":"20704:1:0","nodeType":"YulIdentifier","src":"20704:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"20642:6:0","nodeType":"YulIdentifier","src":"20642:6:0"},"nativeSrc":"20642:64:0","nodeType":"YulFunctionCall","src":"20642:64:0"},"variableNames":[{"name":"s","nativeSrc":"20637:1:0","nodeType":"YulIdentifier","src":"20637:1:0"}]},{"nativeSrc":"20723:46:0","nodeType":"YulAssignment","src":"20723:46:0","value":{"arguments":[{"name":"s","nativeSrc":"20735:1:0","nodeType":"YulIdentifier","src":"20735:1:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20748:6:0","nodeType":"YulIdentifier","src":"20748:6:0"},{"name":"pEval_a","nativeSrc":"20756:7:0","nodeType":"YulIdentifier","src":"20756:7:0"}],"functionName":{"name":"add","nativeSrc":"20744:3:0","nodeType":"YulIdentifier","src":"20744:3:0"},"nativeSrc":"20744:20:0","nodeType":"YulFunctionCall","src":"20744:20:0"}],"functionName":{"name":"mload","nativeSrc":"20738:5:0","nodeType":"YulIdentifier","src":"20738:5:0"},"nativeSrc":"20738:27:0","nodeType":"YulFunctionCall","src":"20738:27:0"},{"name":"q","nativeSrc":"20767:1:0","nodeType":"YulIdentifier","src":"20767:1:0"}],"functionName":{"name":"addmod","nativeSrc":"20728:6:0","nodeType":"YulIdentifier","src":"20728:6:0"},"nativeSrc":"20728:41:0","nodeType":"YulFunctionCall","src":"20728:41:0"},"variableNames":[{"name":"s","nativeSrc":"20723:1:0","nodeType":"YulIdentifier","src":"20723:1:0"}]},{"nativeSrc":"20786:43:0","nodeType":"YulAssignment","src":"20786:43:0","value":{"arguments":[{"name":"s","nativeSrc":"20798:1:0","nodeType":"YulIdentifier","src":"20798:1:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20811:4:0","nodeType":"YulIdentifier","src":"20811:4:0"},{"name":"pGamma","nativeSrc":"20817:6:0","nodeType":"YulIdentifier","src":"20817:6:0"}],"functionName":{"name":"add","nativeSrc":"20807:3:0","nodeType":"YulIdentifier","src":"20807:3:0"},"nativeSrc":"20807:17:0","nodeType":"YulFunctionCall","src":"20807:17:0"}],"functionName":{"name":"mload","nativeSrc":"20801:5:0","nodeType":"YulIdentifier","src":"20801:5:0"},"nativeSrc":"20801:24:0","nodeType":"YulFunctionCall","src":"20801:24:0"},{"name":"q","nativeSrc":"20827:1:0","nodeType":"YulIdentifier","src":"20827:1:0"}],"functionName":{"name":"addmod","nativeSrc":"20791:6:0","nodeType":"YulIdentifier","src":"20791:6:0"},"nativeSrc":"20791:38:0","nodeType":"YulFunctionCall","src":"20791:38:0"},"variableNames":[{"name":"s","nativeSrc":"20786:1:0","nodeType":"YulIdentifier","src":"20786:1:0"}]},{"nativeSrc":"20846:70:0","nodeType":"YulAssignment","src":"20846:70:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20869:4:0","nodeType":"YulIdentifier","src":"20869:4:0"},{"name":"pBeta","nativeSrc":"20875:5:0","nodeType":"YulIdentifier","src":"20875:5:0"}],"functionName":{"name":"add","nativeSrc":"20865:3:0","nodeType":"YulIdentifier","src":"20865:3:0"},"nativeSrc":"20865:16:0","nodeType":"YulFunctionCall","src":"20865:16:0"}],"functionName":{"name":"mload","nativeSrc":"20859:5:0","nodeType":"YulIdentifier","src":"20859:5:0"},"nativeSrc":"20859:23:0","nodeType":"YulFunctionCall","src":"20859:23:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20894:6:0","nodeType":"YulIdentifier","src":"20894:6:0"},{"name":"pEval_s2","nativeSrc":"20902:8:0","nodeType":"YulIdentifier","src":"20902:8:0"}],"functionName":{"name":"add","nativeSrc":"20890:3:0","nodeType":"YulIdentifier","src":"20890:3:0"},"nativeSrc":"20890:21:0","nodeType":"YulFunctionCall","src":"20890:21:0"}],"functionName":{"name":"mload","nativeSrc":"20884:5:0","nodeType":"YulIdentifier","src":"20884:5:0"},"nativeSrc":"20884:28:0","nodeType":"YulFunctionCall","src":"20884:28:0"},{"name":"q","nativeSrc":"20914:1:0","nodeType":"YulIdentifier","src":"20914:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"20852:6:0","nodeType":"YulIdentifier","src":"20852:6:0"},"nativeSrc":"20852:64:0","nodeType":"YulFunctionCall","src":"20852:64:0"},"variableNames":[{"name":"s1","nativeSrc":"20846:2:0","nodeType":"YulIdentifier","src":"20846:2:0"}]},{"nativeSrc":"20933:48:0","nodeType":"YulAssignment","src":"20933:48:0","value":{"arguments":[{"name":"s1","nativeSrc":"20946:2:0","nodeType":"YulIdentifier","src":"20946:2:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20960:6:0","nodeType":"YulIdentifier","src":"20960:6:0"},{"name":"pEval_b","nativeSrc":"20968:7:0","nodeType":"YulIdentifier","src":"20968:7:0"}],"functionName":{"name":"add","nativeSrc":"20956:3:0","nodeType":"YulIdentifier","src":"20956:3:0"},"nativeSrc":"20956:20:0","nodeType":"YulFunctionCall","src":"20956:20:0"}],"functionName":{"name":"mload","nativeSrc":"20950:5:0","nodeType":"YulIdentifier","src":"20950:5:0"},"nativeSrc":"20950:27:0","nodeType":"YulFunctionCall","src":"20950:27:0"},{"name":"q","nativeSrc":"20979:1:0","nodeType":"YulIdentifier","src":"20979:1:0"}],"functionName":{"name":"addmod","nativeSrc":"20939:6:0","nodeType":"YulIdentifier","src":"20939:6:0"},"nativeSrc":"20939:42:0","nodeType":"YulFunctionCall","src":"20939:42:0"},"variableNames":[{"name":"s1","nativeSrc":"20933:2:0","nodeType":"YulIdentifier","src":"20933:2:0"}]},{"nativeSrc":"20998:45:0","nodeType":"YulAssignment","src":"20998:45:0","value":{"arguments":[{"name":"s1","nativeSrc":"21011:2:0","nodeType":"YulIdentifier","src":"21011:2:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21025:4:0","nodeType":"YulIdentifier","src":"21025:4:0"},{"name":"pGamma","nativeSrc":"21031:6:0","nodeType":"YulIdentifier","src":"21031:6:0"}],"functionName":{"name":"add","nativeSrc":"21021:3:0","nodeType":"YulIdentifier","src":"21021:3:0"},"nativeSrc":"21021:17:0","nodeType":"YulFunctionCall","src":"21021:17:0"}],"functionName":{"name":"mload","nativeSrc":"21015:5:0","nodeType":"YulIdentifier","src":"21015:5:0"},"nativeSrc":"21015:24:0","nodeType":"YulFunctionCall","src":"21015:24:0"},{"name":"q","nativeSrc":"21041:1:0","nodeType":"YulIdentifier","src":"21041:1:0"}],"functionName":{"name":"addmod","nativeSrc":"21004:6:0","nodeType":"YulIdentifier","src":"21004:6:0"},"nativeSrc":"21004:39:0","nodeType":"YulFunctionCall","src":"21004:39:0"},"variableNames":[{"name":"s1","nativeSrc":"20998:2:0","nodeType":"YulIdentifier","src":"20998:2:0"}]},{"nativeSrc":"21060:21:0","nodeType":"YulAssignment","src":"21060:21:0","value":{"arguments":[{"name":"s","nativeSrc":"21072:1:0","nodeType":"YulIdentifier","src":"21072:1:0"},{"name":"s1","nativeSrc":"21075:2:0","nodeType":"YulIdentifier","src":"21075:2:0"},{"name":"q","nativeSrc":"21079:1:0","nodeType":"YulIdentifier","src":"21079:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"21065:6:0","nodeType":"YulIdentifier","src":"21065:6:0"},"nativeSrc":"21065:16:0","nodeType":"YulFunctionCall","src":"21065:16:0"},"variableNames":[{"name":"s","nativeSrc":"21060:1:0","nodeType":"YulIdentifier","src":"21060:1:0"}]},{"nativeSrc":"21098:43:0","nodeType":"YulAssignment","src":"21098:43:0","value":{"arguments":[{"name":"s","nativeSrc":"21110:1:0","nodeType":"YulIdentifier","src":"21110:1:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21123:4:0","nodeType":"YulIdentifier","src":"21123:4:0"},{"name":"pAlpha","nativeSrc":"21129:6:0","nodeType":"YulIdentifier","src":"21129:6:0"}],"functionName":{"name":"add","nativeSrc":"21119:3:0","nodeType":"YulIdentifier","src":"21119:3:0"},"nativeSrc":"21119:17:0","nodeType":"YulFunctionCall","src":"21119:17:0"}],"functionName":{"name":"mload","nativeSrc":"21113:5:0","nodeType":"YulIdentifier","src":"21113:5:0"},"nativeSrc":"21113:24:0","nodeType":"YulFunctionCall","src":"21113:24:0"},{"name":"q","nativeSrc":"21139:1:0","nodeType":"YulIdentifier","src":"21139:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"21103:6:0","nodeType":"YulIdentifier","src":"21103:6:0"},"nativeSrc":"21103:38:0","nodeType":"YulFunctionCall","src":"21103:38:0"},"variableNames":[{"name":"s","nativeSrc":"21098:1:0","nodeType":"YulIdentifier","src":"21098:1:0"}]},{"nativeSrc":"21158:40:0","nodeType":"YulAssignment","src":"21158:40:0","value":{"arguments":[{"name":"s","nativeSrc":"21170:1:0","nodeType":"YulIdentifier","src":"21170:1:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21183:4:0","nodeType":"YulIdentifier","src":"21183:4:0"},{"name":"pV1","nativeSrc":"21189:3:0","nodeType":"YulIdentifier","src":"21189:3:0"}],"functionName":{"name":"add","nativeSrc":"21179:3:0","nodeType":"YulIdentifier","src":"21179:3:0"},"nativeSrc":"21179:14:0","nodeType":"YulFunctionCall","src":"21179:14:0"}],"functionName":{"name":"mload","nativeSrc":"21173:5:0","nodeType":"YulIdentifier","src":"21173:5:0"},"nativeSrc":"21173:21:0","nodeType":"YulFunctionCall","src":"21173:21:0"},{"name":"q","nativeSrc":"21196:1:0","nodeType":"YulIdentifier","src":"21196:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"21163:6:0","nodeType":"YulIdentifier","src":"21163:6:0"},"nativeSrc":"21163:35:0","nodeType":"YulFunctionCall","src":"21163:35:0"},"variableNames":[{"name":"s","nativeSrc":"21158:1:0","nodeType":"YulIdentifier","src":"21158:1:0"}]},{"nativeSrc":"21215:42:0","nodeType":"YulAssignment","src":"21215:42:0","value":{"arguments":[{"name":"s","nativeSrc":"21227:1:0","nodeType":"YulIdentifier","src":"21227:1:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21240:4:0","nodeType":"YulIdentifier","src":"21240:4:0"},{"name":"pBeta","nativeSrc":"21246:5:0","nodeType":"YulIdentifier","src":"21246:5:0"}],"functionName":{"name":"add","nativeSrc":"21236:3:0","nodeType":"YulIdentifier","src":"21236:3:0"},"nativeSrc":"21236:16:0","nodeType":"YulFunctionCall","src":"21236:16:0"}],"functionName":{"name":"mload","nativeSrc":"21230:5:0","nodeType":"YulIdentifier","src":"21230:5:0"},"nativeSrc":"21230:23:0","nodeType":"YulFunctionCall","src":"21230:23:0"},{"name":"q","nativeSrc":"21255:1:0","nodeType":"YulIdentifier","src":"21255:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"21220:6:0","nodeType":"YulIdentifier","src":"21220:6:0"},"nativeSrc":"21220:37:0","nodeType":"YulFunctionCall","src":"21220:37:0"},"variableNames":[{"name":"s","nativeSrc":"21215:1:0","nodeType":"YulIdentifier","src":"21215:1:0"}]},{"nativeSrc":"21274:47:0","nodeType":"YulAssignment","src":"21274:47:0","value":{"arguments":[{"name":"s","nativeSrc":"21286:1:0","nodeType":"YulIdentifier","src":"21286:1:0"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"21299:6:0","nodeType":"YulIdentifier","src":"21299:6:0"},{"name":"pEval_zw","nativeSrc":"21307:8:0","nodeType":"YulIdentifier","src":"21307:8:0"}],"functionName":{"name":"add","nativeSrc":"21295:3:0","nodeType":"YulIdentifier","src":"21295:3:0"},"nativeSrc":"21295:21:0","nodeType":"YulFunctionCall","src":"21295:21:0"}],"functionName":{"name":"mload","nativeSrc":"21289:5:0","nodeType":"YulIdentifier","src":"21289:5:0"},"nativeSrc":"21289:28:0","nodeType":"YulFunctionCall","src":"21289:28:0"},{"name":"q","nativeSrc":"21319:1:0","nodeType":"YulIdentifier","src":"21319:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"21279:6:0","nodeType":"YulIdentifier","src":"21279:6:0"},"nativeSrc":"21279:42:0","nodeType":"YulFunctionCall","src":"21279:42:0"},"variableNames":[{"name":"s","nativeSrc":"21274:1:0","nodeType":"YulIdentifier","src":"21274:1:0"}]},{"nativeSrc":"21338:22:0","nodeType":"YulAssignment","src":"21338:22:0","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"21351:1:0","nodeType":"YulIdentifier","src":"21351:1:0"},{"name":"s","nativeSrc":"21354:1:0","nodeType":"YulIdentifier","src":"21354:1:0"}],"functionName":{"name":"sub","nativeSrc":"21347:3:0","nodeType":"YulIdentifier","src":"21347:3:0"},"nativeSrc":"21347:9:0","nodeType":"YulFunctionCall","src":"21347:9:0"},{"name":"q","nativeSrc":"21358:1:0","nodeType":"YulIdentifier","src":"21358:1:0"}],"functionName":{"name":"mod","nativeSrc":"21343:3:0","nodeType":"YulIdentifier","src":"21343:3:0"},"nativeSrc":"21343:17:0","nodeType":"YulFunctionCall","src":"21343:17:0"},"variableNames":[{"name":"s","nativeSrc":"21338:1:0","nodeType":"YulIdentifier","src":"21338:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21388:1:0","nodeType":"YulIdentifier","src":"21388:1:0"},{"name":"S3x","nativeSrc":"21391:3:0","nodeType":"YulIdentifier","src":"21391:3:0"},{"name":"S3y","nativeSrc":"21396:3:0","nodeType":"YulIdentifier","src":"21396:3:0"},{"name":"s","nativeSrc":"21401:1:0","nodeType":"YulIdentifier","src":"21401:1:0"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21377:10:0","nodeType":"YulIdentifier","src":"21377:10:0"},"nativeSrc":"21377:26:0","nodeType":"YulFunctionCall","src":"21377:26:0"},"nativeSrc":"21377:26:0","nodeType":"YulExpressionStatement","src":"21377:26:0"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21460:1:0","nodeType":"YulIdentifier","src":"21460:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"21468:6:0","nodeType":"YulIdentifier","src":"21468:6:0"},{"name":"pT1","nativeSrc":"21476:3:0","nodeType":"YulIdentifier","src":"21476:3:0"}],"functionName":{"name":"add","nativeSrc":"21464:3:0","nodeType":"YulIdentifier","src":"21464:3:0"},"nativeSrc":"21464:16:0","nodeType":"YulFunctionCall","src":"21464:16:0"}],"functionName":{"name":"g1_acc","nativeSrc":"21453:6:0","nodeType":"YulIdentifier","src":"21453:6:0"},"nativeSrc":"21453:28:0","nodeType":"YulFunctionCall","src":"21453:28:0"},"nativeSrc":"21453:28:0","nodeType":"YulExpressionStatement","src":"21453:28:0"},{"nativeSrc":"21499:27:0","nodeType":"YulAssignment","src":"21499:27:0","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21514:4:0","nodeType":"YulIdentifier","src":"21514:4:0"},{"name":"pXin","nativeSrc":"21520:4:0","nodeType":"YulIdentifier","src":"21520:4:0"}],"functionName":{"name":"add","nativeSrc":"21510:3:0","nodeType":"YulIdentifier","src":"21510:3:0"},"nativeSrc":"21510:15:0","nodeType":"YulFunctionCall","src":"21510:15:0"}],"functionName":{"name":"mload","nativeSrc":"21504:5:0","nodeType":"YulIdentifier","src":"21504:5:0"},"nativeSrc":"21504:22:0","nodeType":"YulFunctionCall","src":"21504:22:0"},"variableNames":[{"name":"s","nativeSrc":"21499:1:0","nodeType":"YulIdentifier","src":"21499:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21553:1:0","nodeType":"YulIdentifier","src":"21553:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"21560:6:0","nodeType":"YulIdentifier","src":"21560:6:0"},{"name":"pT2","nativeSrc":"21568:3:0","nodeType":"YulIdentifier","src":"21568:3:0"}],"functionName":{"name":"add","nativeSrc":"21556:3:0","nodeType":"YulIdentifier","src":"21556:3:0"},"nativeSrc":"21556:16:0","nodeType":"YulFunctionCall","src":"21556:16:0"},{"name":"s","nativeSrc":"21574:1:0","nodeType":"YulIdentifier","src":"21574:1:0"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21543:9:0","nodeType":"YulIdentifier","src":"21543:9:0"},"nativeSrc":"21543:33:0","nodeType":"YulFunctionCall","src":"21543:33:0"},"nativeSrc":"21543:33:0","nodeType":"YulExpressionStatement","src":"21543:33:0"},{"nativeSrc":"21610:20:0","nodeType":"YulAssignment","src":"21610:20:0","value":{"arguments":[{"name":"s","nativeSrc":"21622:1:0","nodeType":"YulIdentifier","src":"21622:1:0"},{"name":"s","nativeSrc":"21625:1:0","nodeType":"YulIdentifier","src":"21625:1:0"},{"name":"q","nativeSrc":"21628:1:0","nodeType":"YulIdentifier","src":"21628:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"21615:6:0","nodeType":"YulIdentifier","src":"21615:6:0"},"nativeSrc":"21615:15:0","nodeType":"YulFunctionCall","src":"21615:15:0"},"variableNames":[{"name":"s","nativeSrc":"21610:1:0","nodeType":"YulIdentifier","src":"21610:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21657:1:0","nodeType":"YulIdentifier","src":"21657:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"21664:6:0","nodeType":"YulIdentifier","src":"21664:6:0"},{"name":"pT3","nativeSrc":"21672:3:0","nodeType":"YulIdentifier","src":"21672:3:0"}],"functionName":{"name":"add","nativeSrc":"21660:3:0","nodeType":"YulIdentifier","src":"21660:3:0"},"nativeSrc":"21660:16:0","nodeType":"YulFunctionCall","src":"21660:16:0"},{"name":"s","nativeSrc":"21678:1:0","nodeType":"YulIdentifier","src":"21678:1:0"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21647:9:0","nodeType":"YulIdentifier","src":"21647:9:0"},"nativeSrc":"21647:33:0","nodeType":"YulFunctionCall","src":"21647:33:0"},"nativeSrc":"21647:33:0","nodeType":"YulExpressionStatement","src":"21647:33:0"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21724:1:0","nodeType":"YulIdentifier","src":"21724:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"21731:6:0","nodeType":"YulIdentifier","src":"21731:6:0"},{"name":"pA","nativeSrc":"21739:2:0","nodeType":"YulIdentifier","src":"21739:2:0"}],"functionName":{"name":"add","nativeSrc":"21727:3:0","nodeType":"YulIdentifier","src":"21727:3:0"},"nativeSrc":"21727:15:0","nodeType":"YulFunctionCall","src":"21727:15:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21754:4:0","nodeType":"YulIdentifier","src":"21754:4:0"},{"name":"pV2","nativeSrc":"21760:3:0","nodeType":"YulIdentifier","src":"21760:3:0"}],"functionName":{"name":"add","nativeSrc":"21750:3:0","nodeType":"YulIdentifier","src":"21750:3:0"},"nativeSrc":"21750:14:0","nodeType":"YulFunctionCall","src":"21750:14:0"}],"functionName":{"name":"mload","nativeSrc":"21744:5:0","nodeType":"YulIdentifier","src":"21744:5:0"},"nativeSrc":"21744:21:0","nodeType":"YulFunctionCall","src":"21744:21:0"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21714:9:0","nodeType":"YulIdentifier","src":"21714:9:0"},"nativeSrc":"21714:52:0","nodeType":"YulFunctionCall","src":"21714:52:0"},"nativeSrc":"21714:52:0","nodeType":"YulExpressionStatement","src":"21714:52:0"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21793:1:0","nodeType":"YulIdentifier","src":"21793:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"21800:6:0","nodeType":"YulIdentifier","src":"21800:6:0"},{"name":"pB","nativeSrc":"21808:2:0","nodeType":"YulIdentifier","src":"21808:2:0"}],"functionName":{"name":"add","nativeSrc":"21796:3:0","nodeType":"YulIdentifier","src":"21796:3:0"},"nativeSrc":"21796:15:0","nodeType":"YulFunctionCall","src":"21796:15:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21823:4:0","nodeType":"YulIdentifier","src":"21823:4:0"},{"name":"pV3","nativeSrc":"21829:3:0","nodeType":"YulIdentifier","src":"21829:3:0"}],"functionName":{"name":"add","nativeSrc":"21819:3:0","nodeType":"YulIdentifier","src":"21819:3:0"},"nativeSrc":"21819:14:0","nodeType":"YulFunctionCall","src":"21819:14:0"}],"functionName":{"name":"mload","nativeSrc":"21813:5:0","nodeType":"YulIdentifier","src":"21813:5:0"},"nativeSrc":"21813:21:0","nodeType":"YulFunctionCall","src":"21813:21:0"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21783:9:0","nodeType":"YulIdentifier","src":"21783:9:0"},"nativeSrc":"21783:52:0","nodeType":"YulFunctionCall","src":"21783:52:0"},"nativeSrc":"21783:52:0","nodeType":"YulExpressionStatement","src":"21783:52:0"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21862:1:0","nodeType":"YulIdentifier","src":"21862:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"21869:6:0","nodeType":"YulIdentifier","src":"21869:6:0"},{"name":"pC","nativeSrc":"21877:2:0","nodeType":"YulIdentifier","src":"21877:2:0"}],"functionName":{"name":"add","nativeSrc":"21865:3:0","nodeType":"YulIdentifier","src":"21865:3:0"},"nativeSrc":"21865:15:0","nodeType":"YulFunctionCall","src":"21865:15:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21892:4:0","nodeType":"YulIdentifier","src":"21892:4:0"},{"name":"pV4","nativeSrc":"21898:3:0","nodeType":"YulIdentifier","src":"21898:3:0"}],"functionName":{"name":"add","nativeSrc":"21888:3:0","nodeType":"YulIdentifier","src":"21888:3:0"},"nativeSrc":"21888:14:0","nodeType":"YulFunctionCall","src":"21888:14:0"}],"functionName":{"name":"mload","nativeSrc":"21882:5:0","nodeType":"YulIdentifier","src":"21882:5:0"},"nativeSrc":"21882:21:0","nodeType":"YulFunctionCall","src":"21882:21:0"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21852:9:0","nodeType":"YulIdentifier","src":"21852:9:0"},"nativeSrc":"21852:52:0","nodeType":"YulFunctionCall","src":"21852:52:0"},"nativeSrc":"21852:52:0","nodeType":"YulExpressionStatement","src":"21852:52:0"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21932:1:0","nodeType":"YulIdentifier","src":"21932:1:0"},{"name":"S1x","nativeSrc":"21935:3:0","nodeType":"YulIdentifier","src":"21935:3:0"},{"name":"S1y","nativeSrc":"21940:3:0","nodeType":"YulIdentifier","src":"21940:3:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21955:4:0","nodeType":"YulIdentifier","src":"21955:4:0"},{"name":"pV5","nativeSrc":"21961:3:0","nodeType":"YulIdentifier","src":"21961:3:0"}],"functionName":{"name":"add","nativeSrc":"21951:3:0","nodeType":"YulIdentifier","src":"21951:3:0"},"nativeSrc":"21951:14:0","nodeType":"YulFunctionCall","src":"21951:14:0"}],"functionName":{"name":"mload","nativeSrc":"21945:5:0","nodeType":"YulIdentifier","src":"21945:5:0"},"nativeSrc":"21945:21:0","nodeType":"YulFunctionCall","src":"21945:21:0"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21921:10:0","nodeType":"YulIdentifier","src":"21921:10:0"},"nativeSrc":"21921:46:0","nodeType":"YulFunctionCall","src":"21921:46:0"},"nativeSrc":"21921:46:0","nodeType":"YulExpressionStatement","src":"21921:46:0"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21995:1:0","nodeType":"YulIdentifier","src":"21995:1:0"},{"name":"S2x","nativeSrc":"21998:3:0","nodeType":"YulIdentifier","src":"21998:3:0"},{"name":"S2y","nativeSrc":"22003:3:0","nodeType":"YulIdentifier","src":"22003:3:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22018:4:0","nodeType":"YulIdentifier","src":"22018:4:0"},{"name":"pV6","nativeSrc":"22024:3:0","nodeType":"YulIdentifier","src":"22024:3:0"}],"functionName":{"name":"add","nativeSrc":"22014:3:0","nodeType":"YulIdentifier","src":"22014:3:0"},"nativeSrc":"22014:14:0","nodeType":"YulFunctionCall","src":"22014:14:0"}],"functionName":{"name":"mload","nativeSrc":"22008:5:0","nodeType":"YulIdentifier","src":"22008:5:0"},"nativeSrc":"22008:21:0","nodeType":"YulFunctionCall","src":"22008:21:0"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21984:10:0","nodeType":"YulIdentifier","src":"21984:10:0"},"nativeSrc":"21984:46:0","nodeType":"YulFunctionCall","src":"21984:46:0"},"nativeSrc":"21984:46:0","nodeType":"YulExpressionStatement","src":"21984:46:0"},{"nativeSrc":"22095:30:0","nodeType":"YulAssignment","src":"22095:30:0","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22110:4:0","nodeType":"YulIdentifier","src":"22110:4:0"},{"name":"pEval_t","nativeSrc":"22116:7:0","nodeType":"YulIdentifier","src":"22116:7:0"}],"functionName":{"name":"add","nativeSrc":"22106:3:0","nodeType":"YulIdentifier","src":"22106:3:0"},"nativeSrc":"22106:18:0","nodeType":"YulFunctionCall","src":"22106:18:0"}],"functionName":{"name":"mload","nativeSrc":"22100:5:0","nodeType":"YulIdentifier","src":"22100:5:0"},"nativeSrc":"22100:25:0","nodeType":"YulFunctionCall","src":"22100:25:0"},"variableNames":[{"name":"s","nativeSrc":"22095:1:0","nodeType":"YulIdentifier","src":"22095:1:0"}]},{"nativeSrc":"22142:80:0","nodeType":"YulAssignment","src":"22142:80:0","value":{"arguments":[{"name":"s","nativeSrc":"22154:1:0","nodeType":"YulIdentifier","src":"22154:1:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22174:6:0","nodeType":"YulIdentifier","src":"22174:6:0"},{"name":"pEval_r","nativeSrc":"22182:7:0","nodeType":"YulIdentifier","src":"22182:7:0"}],"functionName":{"name":"add","nativeSrc":"22170:3:0","nodeType":"YulIdentifier","src":"22170:3:0"},"nativeSrc":"22170:20:0","nodeType":"YulFunctionCall","src":"22170:20:0"}],"functionName":{"name":"mload","nativeSrc":"22164:5:0","nodeType":"YulIdentifier","src":"22164:5:0"},"nativeSrc":"22164:27:0","nodeType":"YulFunctionCall","src":"22164:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22203:4:0","nodeType":"YulIdentifier","src":"22203:4:0"},{"name":"pV1","nativeSrc":"22209:3:0","nodeType":"YulIdentifier","src":"22209:3:0"}],"functionName":{"name":"add","nativeSrc":"22199:3:0","nodeType":"YulIdentifier","src":"22199:3:0"},"nativeSrc":"22199:14:0","nodeType":"YulFunctionCall","src":"22199:14:0"}],"functionName":{"name":"mload","nativeSrc":"22193:5:0","nodeType":"YulIdentifier","src":"22193:5:0"},"nativeSrc":"22193:21:0","nodeType":"YulFunctionCall","src":"22193:21:0"},{"name":"q","nativeSrc":"22216:1:0","nodeType":"YulIdentifier","src":"22216:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"22157:6:0","nodeType":"YulIdentifier","src":"22157:6:0"},"nativeSrc":"22157:61:0","nodeType":"YulFunctionCall","src":"22157:61:0"},{"name":"q","nativeSrc":"22220:1:0","nodeType":"YulIdentifier","src":"22220:1:0"}],"functionName":{"name":"addmod","nativeSrc":"22147:6:0","nodeType":"YulIdentifier","src":"22147:6:0"},"nativeSrc":"22147:75:0","nodeType":"YulFunctionCall","src":"22147:75:0"},"variableNames":[{"name":"s","nativeSrc":"22142:1:0","nodeType":"YulIdentifier","src":"22142:1:0"}]},{"nativeSrc":"22239:80:0","nodeType":"YulAssignment","src":"22239:80:0","value":{"arguments":[{"name":"s","nativeSrc":"22251:1:0","nodeType":"YulIdentifier","src":"22251:1:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22271:6:0","nodeType":"YulIdentifier","src":"22271:6:0"},{"name":"pEval_a","nativeSrc":"22279:7:0","nodeType":"YulIdentifier","src":"22279:7:0"}],"functionName":{"name":"add","nativeSrc":"22267:3:0","nodeType":"YulIdentifier","src":"22267:3:0"},"nativeSrc":"22267:20:0","nodeType":"YulFunctionCall","src":"22267:20:0"}],"functionName":{"name":"mload","nativeSrc":"22261:5:0","nodeType":"YulIdentifier","src":"22261:5:0"},"nativeSrc":"22261:27:0","nodeType":"YulFunctionCall","src":"22261:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22300:4:0","nodeType":"YulIdentifier","src":"22300:4:0"},{"name":"pV2","nativeSrc":"22306:3:0","nodeType":"YulIdentifier","src":"22306:3:0"}],"functionName":{"name":"add","nativeSrc":"22296:3:0","nodeType":"YulIdentifier","src":"22296:3:0"},"nativeSrc":"22296:14:0","nodeType":"YulFunctionCall","src":"22296:14:0"}],"functionName":{"name":"mload","nativeSrc":"22290:5:0","nodeType":"YulIdentifier","src":"22290:5:0"},"nativeSrc":"22290:21:0","nodeType":"YulFunctionCall","src":"22290:21:0"},{"name":"q","nativeSrc":"22313:1:0","nodeType":"YulIdentifier","src":"22313:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"22254:6:0","nodeType":"YulIdentifier","src":"22254:6:0"},"nativeSrc":"22254:61:0","nodeType":"YulFunctionCall","src":"22254:61:0"},{"name":"q","nativeSrc":"22317:1:0","nodeType":"YulIdentifier","src":"22317:1:0"}],"functionName":{"name":"addmod","nativeSrc":"22244:6:0","nodeType":"YulIdentifier","src":"22244:6:0"},"nativeSrc":"22244:75:0","nodeType":"YulFunctionCall","src":"22244:75:0"},"variableNames":[{"name":"s","nativeSrc":"22239:1:0","nodeType":"YulIdentifier","src":"22239:1:0"}]},{"nativeSrc":"22336:80:0","nodeType":"YulAssignment","src":"22336:80:0","value":{"arguments":[{"name":"s","nativeSrc":"22348:1:0","nodeType":"YulIdentifier","src":"22348:1:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22368:6:0","nodeType":"YulIdentifier","src":"22368:6:0"},{"name":"pEval_b","nativeSrc":"22376:7:0","nodeType":"YulIdentifier","src":"22376:7:0"}],"functionName":{"name":"add","nativeSrc":"22364:3:0","nodeType":"YulIdentifier","src":"22364:3:0"},"nativeSrc":"22364:20:0","nodeType":"YulFunctionCall","src":"22364:20:0"}],"functionName":{"name":"mload","nativeSrc":"22358:5:0","nodeType":"YulIdentifier","src":"22358:5:0"},"nativeSrc":"22358:27:0","nodeType":"YulFunctionCall","src":"22358:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22397:4:0","nodeType":"YulIdentifier","src":"22397:4:0"},{"name":"pV3","nativeSrc":"22403:3:0","nodeType":"YulIdentifier","src":"22403:3:0"}],"functionName":{"name":"add","nativeSrc":"22393:3:0","nodeType":"YulIdentifier","src":"22393:3:0"},"nativeSrc":"22393:14:0","nodeType":"YulFunctionCall","src":"22393:14:0"}],"functionName":{"name":"mload","nativeSrc":"22387:5:0","nodeType":"YulIdentifier","src":"22387:5:0"},"nativeSrc":"22387:21:0","nodeType":"YulFunctionCall","src":"22387:21:0"},{"name":"q","nativeSrc":"22410:1:0","nodeType":"YulIdentifier","src":"22410:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"22351:6:0","nodeType":"YulIdentifier","src":"22351:6:0"},"nativeSrc":"22351:61:0","nodeType":"YulFunctionCall","src":"22351:61:0"},{"name":"q","nativeSrc":"22414:1:0","nodeType":"YulIdentifier","src":"22414:1:0"}],"functionName":{"name":"addmod","nativeSrc":"22341:6:0","nodeType":"YulIdentifier","src":"22341:6:0"},"nativeSrc":"22341:75:0","nodeType":"YulFunctionCall","src":"22341:75:0"},"variableNames":[{"name":"s","nativeSrc":"22336:1:0","nodeType":"YulIdentifier","src":"22336:1:0"}]},{"nativeSrc":"22433:80:0","nodeType":"YulAssignment","src":"22433:80:0","value":{"arguments":[{"name":"s","nativeSrc":"22445:1:0","nodeType":"YulIdentifier","src":"22445:1:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22465:6:0","nodeType":"YulIdentifier","src":"22465:6:0"},{"name":"pEval_c","nativeSrc":"22473:7:0","nodeType":"YulIdentifier","src":"22473:7:0"}],"functionName":{"name":"add","nativeSrc":"22461:3:0","nodeType":"YulIdentifier","src":"22461:3:0"},"nativeSrc":"22461:20:0","nodeType":"YulFunctionCall","src":"22461:20:0"}],"functionName":{"name":"mload","nativeSrc":"22455:5:0","nodeType":"YulIdentifier","src":"22455:5:0"},"nativeSrc":"22455:27:0","nodeType":"YulFunctionCall","src":"22455:27:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22494:4:0","nodeType":"YulIdentifier","src":"22494:4:0"},{"name":"pV4","nativeSrc":"22500:3:0","nodeType":"YulIdentifier","src":"22500:3:0"}],"functionName":{"name":"add","nativeSrc":"22490:3:0","nodeType":"YulIdentifier","src":"22490:3:0"},"nativeSrc":"22490:14:0","nodeType":"YulFunctionCall","src":"22490:14:0"}],"functionName":{"name":"mload","nativeSrc":"22484:5:0","nodeType":"YulIdentifier","src":"22484:5:0"},"nativeSrc":"22484:21:0","nodeType":"YulFunctionCall","src":"22484:21:0"},{"name":"q","nativeSrc":"22507:1:0","nodeType":"YulIdentifier","src":"22507:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"22448:6:0","nodeType":"YulIdentifier","src":"22448:6:0"},"nativeSrc":"22448:61:0","nodeType":"YulFunctionCall","src":"22448:61:0"},{"name":"q","nativeSrc":"22511:1:0","nodeType":"YulIdentifier","src":"22511:1:0"}],"functionName":{"name":"addmod","nativeSrc":"22438:6:0","nodeType":"YulIdentifier","src":"22438:6:0"},"nativeSrc":"22438:75:0","nodeType":"YulFunctionCall","src":"22438:75:0"},"variableNames":[{"name":"s","nativeSrc":"22433:1:0","nodeType":"YulIdentifier","src":"22433:1:0"}]},{"nativeSrc":"22530:81:0","nodeType":"YulAssignment","src":"22530:81:0","value":{"arguments":[{"name":"s","nativeSrc":"22542:1:0","nodeType":"YulIdentifier","src":"22542:1:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22562:6:0","nodeType":"YulIdentifier","src":"22562:6:0"},{"name":"pEval_s1","nativeSrc":"22570:8:0","nodeType":"YulIdentifier","src":"22570:8:0"}],"functionName":{"name":"add","nativeSrc":"22558:3:0","nodeType":"YulIdentifier","src":"22558:3:0"},"nativeSrc":"22558:21:0","nodeType":"YulFunctionCall","src":"22558:21:0"}],"functionName":{"name":"mload","nativeSrc":"22552:5:0","nodeType":"YulIdentifier","src":"22552:5:0"},"nativeSrc":"22552:28:0","nodeType":"YulFunctionCall","src":"22552:28:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22592:4:0","nodeType":"YulIdentifier","src":"22592:4:0"},{"name":"pV5","nativeSrc":"22598:3:0","nodeType":"YulIdentifier","src":"22598:3:0"}],"functionName":{"name":"add","nativeSrc":"22588:3:0","nodeType":"YulIdentifier","src":"22588:3:0"},"nativeSrc":"22588:14:0","nodeType":"YulFunctionCall","src":"22588:14:0"}],"functionName":{"name":"mload","nativeSrc":"22582:5:0","nodeType":"YulIdentifier","src":"22582:5:0"},"nativeSrc":"22582:21:0","nodeType":"YulFunctionCall","src":"22582:21:0"},{"name":"q","nativeSrc":"22605:1:0","nodeType":"YulIdentifier","src":"22605:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"22545:6:0","nodeType":"YulIdentifier","src":"22545:6:0"},"nativeSrc":"22545:62:0","nodeType":"YulFunctionCall","src":"22545:62:0"},{"name":"q","nativeSrc":"22609:1:0","nodeType":"YulIdentifier","src":"22609:1:0"}],"functionName":{"name":"addmod","nativeSrc":"22535:6:0","nodeType":"YulIdentifier","src":"22535:6:0"},"nativeSrc":"22535:76:0","nodeType":"YulFunctionCall","src":"22535:76:0"},"variableNames":[{"name":"s","nativeSrc":"22530:1:0","nodeType":"YulIdentifier","src":"22530:1:0"}]},{"nativeSrc":"22628:81:0","nodeType":"YulAssignment","src":"22628:81:0","value":{"arguments":[{"name":"s","nativeSrc":"22640:1:0","nodeType":"YulIdentifier","src":"22640:1:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22660:6:0","nodeType":"YulIdentifier","src":"22660:6:0"},{"name":"pEval_s2","nativeSrc":"22668:8:0","nodeType":"YulIdentifier","src":"22668:8:0"}],"functionName":{"name":"add","nativeSrc":"22656:3:0","nodeType":"YulIdentifier","src":"22656:3:0"},"nativeSrc":"22656:21:0","nodeType":"YulFunctionCall","src":"22656:21:0"}],"functionName":{"name":"mload","nativeSrc":"22650:5:0","nodeType":"YulIdentifier","src":"22650:5:0"},"nativeSrc":"22650:28:0","nodeType":"YulFunctionCall","src":"22650:28:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22690:4:0","nodeType":"YulIdentifier","src":"22690:4:0"},{"name":"pV6","nativeSrc":"22696:3:0","nodeType":"YulIdentifier","src":"22696:3:0"}],"functionName":{"name":"add","nativeSrc":"22686:3:0","nodeType":"YulIdentifier","src":"22686:3:0"},"nativeSrc":"22686:14:0","nodeType":"YulFunctionCall","src":"22686:14:0"}],"functionName":{"name":"mload","nativeSrc":"22680:5:0","nodeType":"YulIdentifier","src":"22680:5:0"},"nativeSrc":"22680:21:0","nodeType":"YulFunctionCall","src":"22680:21:0"},{"name":"q","nativeSrc":"22703:1:0","nodeType":"YulIdentifier","src":"22703:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"22643:6:0","nodeType":"YulIdentifier","src":"22643:6:0"},"nativeSrc":"22643:62:0","nodeType":"YulFunctionCall","src":"22643:62:0"},{"name":"q","nativeSrc":"22707:1:0","nodeType":"YulIdentifier","src":"22707:1:0"}],"functionName":{"name":"addmod","nativeSrc":"22633:6:0","nodeType":"YulIdentifier","src":"22633:6:0"},"nativeSrc":"22633:76:0","nodeType":"YulFunctionCall","src":"22633:76:0"},"variableNames":[{"name":"s","nativeSrc":"22628:1:0","nodeType":"YulIdentifier","src":"22628:1:0"}]},{"nativeSrc":"22726:80:0","nodeType":"YulAssignment","src":"22726:80:0","value":{"arguments":[{"name":"s","nativeSrc":"22738:1:0","nodeType":"YulIdentifier","src":"22738:1:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22758:6:0","nodeType":"YulIdentifier","src":"22758:6:0"},{"name":"pEval_zw","nativeSrc":"22766:8:0","nodeType":"YulIdentifier","src":"22766:8:0"}],"functionName":{"name":"add","nativeSrc":"22754:3:0","nodeType":"YulIdentifier","src":"22754:3:0"},"nativeSrc":"22754:21:0","nodeType":"YulFunctionCall","src":"22754:21:0"}],"functionName":{"name":"mload","nativeSrc":"22748:5:0","nodeType":"YulIdentifier","src":"22748:5:0"},"nativeSrc":"22748:28:0","nodeType":"YulFunctionCall","src":"22748:28:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22788:4:0","nodeType":"YulIdentifier","src":"22788:4:0"},{"name":"pU","nativeSrc":"22794:2:0","nodeType":"YulIdentifier","src":"22794:2:0"}],"functionName":{"name":"add","nativeSrc":"22784:3:0","nodeType":"YulIdentifier","src":"22784:3:0"},"nativeSrc":"22784:13:0","nodeType":"YulFunctionCall","src":"22784:13:0"}],"functionName":{"name":"mload","nativeSrc":"22778:5:0","nodeType":"YulIdentifier","src":"22778:5:0"},"nativeSrc":"22778:20:0","nodeType":"YulFunctionCall","src":"22778:20:0"},{"name":"q","nativeSrc":"22800:1:0","nodeType":"YulIdentifier","src":"22800:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"22741:6:0","nodeType":"YulIdentifier","src":"22741:6:0"},"nativeSrc":"22741:61:0","nodeType":"YulFunctionCall","src":"22741:61:0"},{"name":"q","nativeSrc":"22804:1:0","nodeType":"YulIdentifier","src":"22804:1:0"}],"functionName":{"name":"addmod","nativeSrc":"22731:6:0","nodeType":"YulIdentifier","src":"22731:6:0"},"nativeSrc":"22731:75:0","nodeType":"YulFunctionCall","src":"22731:75:0"},"variableNames":[{"name":"s","nativeSrc":"22726:1:0","nodeType":"YulIdentifier","src":"22726:1:0"}]},{"nativeSrc":"22823:22:0","nodeType":"YulAssignment","src":"22823:22:0","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"22836:1:0","nodeType":"YulIdentifier","src":"22836:1:0"},{"name":"s","nativeSrc":"22839:1:0","nodeType":"YulIdentifier","src":"22839:1:0"}],"functionName":{"name":"sub","nativeSrc":"22832:3:0","nodeType":"YulIdentifier","src":"22832:3:0"},"nativeSrc":"22832:9:0","nodeType":"YulFunctionCall","src":"22832:9:0"},{"name":"q","nativeSrc":"22843:1:0","nodeType":"YulIdentifier","src":"22843:1:0"}],"functionName":{"name":"mod","nativeSrc":"22828:3:0","nodeType":"YulIdentifier","src":"22828:3:0"},"nativeSrc":"22828:17:0","nodeType":"YulFunctionCall","src":"22828:17:0"},"variableNames":[{"name":"s","nativeSrc":"22823:1:0","nodeType":"YulIdentifier","src":"22823:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"22873:1:0","nodeType":"YulIdentifier","src":"22873:1:0"},{"name":"G1x","nativeSrc":"22876:3:0","nodeType":"YulIdentifier","src":"22876:3:0"},{"name":"G1y","nativeSrc":"22881:3:0","nodeType":"YulIdentifier","src":"22881:3:0"},{"name":"s","nativeSrc":"22886:1:0","nodeType":"YulIdentifier","src":"22886:1:0"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"22862:10:0","nodeType":"YulIdentifier","src":"22862:10:0"},"nativeSrc":"22862:26:0","nodeType":"YulFunctionCall","src":"22862:26:0"},"nativeSrc":"22862:26:0","nodeType":"YulExpressionStatement","src":"22862:26:0"},{"nativeSrc":"22973:26:0","nodeType":"YulAssignment","src":"22973:26:0","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22988:4:0","nodeType":"YulIdentifier","src":"22988:4:0"},{"name":"pXi","nativeSrc":"22994:3:0","nodeType":"YulIdentifier","src":"22994:3:0"}],"functionName":{"name":"add","nativeSrc":"22984:3:0","nodeType":"YulIdentifier","src":"22984:3:0"},"nativeSrc":"22984:14:0","nodeType":"YulFunctionCall","src":"22984:14:0"}],"functionName":{"name":"mload","nativeSrc":"22978:5:0","nodeType":"YulIdentifier","src":"22978:5:0"},"nativeSrc":"22978:21:0","nodeType":"YulFunctionCall","src":"22978:21:0"},"variableNames":[{"name":"s","nativeSrc":"22973:1:0","nodeType":"YulIdentifier","src":"22973:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23026:1:0","nodeType":"YulIdentifier","src":"23026:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"23033:6:0","nodeType":"YulIdentifier","src":"23033:6:0"},{"name":"pWxi","nativeSrc":"23041:4:0","nodeType":"YulIdentifier","src":"23041:4:0"}],"functionName":{"name":"add","nativeSrc":"23029:3:0","nodeType":"YulIdentifier","src":"23029:3:0"},"nativeSrc":"23029:17:0","nodeType":"YulFunctionCall","src":"23029:17:0"},{"name":"s","nativeSrc":"23048:1:0","nodeType":"YulIdentifier","src":"23048:1:0"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23016:9:0","nodeType":"YulIdentifier","src":"23016:9:0"},"nativeSrc":"23016:34:0","nodeType":"YulFunctionCall","src":"23016:34:0"},"nativeSrc":"23016:34:0","nodeType":"YulExpressionStatement","src":"23016:34:0"},{"nativeSrc":"23068:59:0","nodeType":"YulAssignment","src":"23068:59:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23090:4:0","nodeType":"YulIdentifier","src":"23090:4:0"},{"name":"pU","nativeSrc":"23096:2:0","nodeType":"YulIdentifier","src":"23096:2:0"}],"functionName":{"name":"add","nativeSrc":"23086:3:0","nodeType":"YulIdentifier","src":"23086:3:0"},"nativeSrc":"23086:13:0","nodeType":"YulFunctionCall","src":"23086:13:0"}],"functionName":{"name":"mload","nativeSrc":"23080:5:0","nodeType":"YulIdentifier","src":"23080:5:0"},"nativeSrc":"23080:20:0","nodeType":"YulFunctionCall","src":"23080:20:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23112:4:0","nodeType":"YulIdentifier","src":"23112:4:0"},{"name":"pXi","nativeSrc":"23118:3:0","nodeType":"YulIdentifier","src":"23118:3:0"}],"functionName":{"name":"add","nativeSrc":"23108:3:0","nodeType":"YulIdentifier","src":"23108:3:0"},"nativeSrc":"23108:14:0","nodeType":"YulFunctionCall","src":"23108:14:0"}],"functionName":{"name":"mload","nativeSrc":"23102:5:0","nodeType":"YulIdentifier","src":"23102:5:0"},"nativeSrc":"23102:21:0","nodeType":"YulFunctionCall","src":"23102:21:0"},{"name":"q","nativeSrc":"23125:1:0","nodeType":"YulIdentifier","src":"23125:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"23073:6:0","nodeType":"YulIdentifier","src":"23073:6:0"},"nativeSrc":"23073:54:0","nodeType":"YulFunctionCall","src":"23073:54:0"},"variableNames":[{"name":"s","nativeSrc":"23068:1:0","nodeType":"YulIdentifier","src":"23068:1:0"}]},{"nativeSrc":"23144:21:0","nodeType":"YulAssignment","src":"23144:21:0","value":{"arguments":[{"name":"s","nativeSrc":"23156:1:0","nodeType":"YulIdentifier","src":"23156:1:0"},{"name":"w1","nativeSrc":"23159:2:0","nodeType":"YulIdentifier","src":"23159:2:0"},{"name":"q","nativeSrc":"23163:1:0","nodeType":"YulIdentifier","src":"23163:1:0"}],"functionName":{"name":"mulmod","nativeSrc":"23149:6:0","nodeType":"YulIdentifier","src":"23149:6:0"},"nativeSrc":"23149:16:0","nodeType":"YulFunctionCall","src":"23149:16:0"},"variableNames":[{"name":"s","nativeSrc":"23144:1:0","nodeType":"YulIdentifier","src":"23144:1:0"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23192:1:0","nodeType":"YulIdentifier","src":"23192:1:0"},{"arguments":[{"name":"pProof","nativeSrc":"23199:6:0","nodeType":"YulIdentifier","src":"23199:6:0"},{"name":"pWxiw","nativeSrc":"23207:5:0","nodeType":"YulIdentifier","src":"23207:5:0"}],"functionName":{"name":"add","nativeSrc":"23195:3:0","nodeType":"YulIdentifier","src":"23195:3:0"},"nativeSrc":"23195:18:0","nodeType":"YulFunctionCall","src":"23195:18:0"},{"name":"s","nativeSrc":"23215:1:0","nodeType":"YulIdentifier","src":"23215:1:0"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23182:9:0","nodeType":"YulIdentifier","src":"23182:9:0"},"nativeSrc":"23182:35:0","nodeType":"YulFunctionCall","src":"23182:35:0"},"nativeSrc":"23182:35:0","nodeType":"YulExpressionStatement","src":"23182:35:0"}]},"name":"calculateB1","nativeSrc":"18754:4478:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18775:6:0","nodeType":"YulTypedName","src":"18775:6:0","type":""},{"name":"pMem","nativeSrc":"18783:4:0","nodeType":"YulTypedName","src":"18783:4:0","type":""}],"src":"18754:4478:0"},{"body":{"nativeSrc":"23294:879:0","nodeType":"YulBlock","src":"23294:879:0","statements":[{"nativeSrc":"23312:22:0","nodeType":"YulVariableDeclaration","src":"23312:22:0","value":{"arguments":[{"kind":"number","nativeSrc":"23329:4:0","nodeType":"YulLiteral","src":"23329:4:0","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"23323:5:0","nodeType":"YulIdentifier","src":"23323:5:0"},"nativeSrc":"23323:11:0","nodeType":"YulFunctionCall","src":"23323:11:0"},"variables":[{"name":"mIn","nativeSrc":"23316:3:0","nodeType":"YulTypedName","src":"23316:3:0","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"23358:3:0","nodeType":"YulIdentifier","src":"23358:3:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23373:4:0","nodeType":"YulIdentifier","src":"23373:4:0"},{"name":"pA1","nativeSrc":"23379:3:0","nodeType":"YulIdentifier","src":"23379:3:0"}],"functionName":{"name":"add","nativeSrc":"23369:3:0","nodeType":"YulIdentifier","src":"23369:3:0"},"nativeSrc":"23369:14:0","nodeType":"YulFunctionCall","src":"23369:14:0"}],"functionName":{"name":"mload","nativeSrc":"23363:5:0","nodeType":"YulIdentifier","src":"23363:5:0"},"nativeSrc":"23363:21:0","nodeType":"YulFunctionCall","src":"23363:21:0"}],"functionName":{"name":"mstore","nativeSrc":"23351:6:0","nodeType":"YulIdentifier","src":"23351:6:0"},"nativeSrc":"23351:34:0","nodeType":"YulFunctionCall","src":"23351:34:0"},"nativeSrc":"23351:34:0","nodeType":"YulExpressionStatement","src":"23351:34:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23413:3:0","nodeType":"YulIdentifier","src":"23413:3:0"},{"kind":"number","nativeSrc":"23417:2:0","nodeType":"YulLiteral","src":"23417:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23409:3:0","nodeType":"YulIdentifier","src":"23409:3:0"},"nativeSrc":"23409:11:0","nodeType":"YulFunctionCall","src":"23409:11:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23436:4:0","nodeType":"YulIdentifier","src":"23436:4:0"},{"name":"pA1","nativeSrc":"23442:3:0","nodeType":"YulIdentifier","src":"23442:3:0"}],"functionName":{"name":"add","nativeSrc":"23432:3:0","nodeType":"YulIdentifier","src":"23432:3:0"},"nativeSrc":"23432:14:0","nodeType":"YulFunctionCall","src":"23432:14:0"},{"kind":"number","nativeSrc":"23448:2:0","nodeType":"YulLiteral","src":"23448:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23428:3:0","nodeType":"YulIdentifier","src":"23428:3:0"},"nativeSrc":"23428:23:0","nodeType":"YulFunctionCall","src":"23428:23:0"}],"functionName":{"name":"mload","nativeSrc":"23422:5:0","nodeType":"YulIdentifier","src":"23422:5:0"},"nativeSrc":"23422:30:0","nodeType":"YulFunctionCall","src":"23422:30:0"}],"functionName":{"name":"mstore","nativeSrc":"23402:6:0","nodeType":"YulIdentifier","src":"23402:6:0"},"nativeSrc":"23402:51:0","nodeType":"YulFunctionCall","src":"23402:51:0"},"nativeSrc":"23402:51:0","nodeType":"YulExpressionStatement","src":"23402:51:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23481:3:0","nodeType":"YulIdentifier","src":"23481:3:0"},{"kind":"number","nativeSrc":"23485:2:0","nodeType":"YulLiteral","src":"23485:2:0","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"23477:3:0","nodeType":"YulIdentifier","src":"23477:3:0"},"nativeSrc":"23477:11:0","nodeType":"YulFunctionCall","src":"23477:11:0"},{"name":"X2x2","nativeSrc":"23490:4:0","nodeType":"YulIdentifier","src":"23490:4:0"}],"functionName":{"name":"mstore","nativeSrc":"23470:6:0","nodeType":"YulIdentifier","src":"23470:6:0"},"nativeSrc":"23470:25:0","nodeType":"YulFunctionCall","src":"23470:25:0"},"nativeSrc":"23470:25:0","nodeType":"YulExpressionStatement","src":"23470:25:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23523:3:0","nodeType":"YulIdentifier","src":"23523:3:0"},{"kind":"number","nativeSrc":"23527:2:0","nodeType":"YulLiteral","src":"23527:2:0","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"23519:3:0","nodeType":"YulIdentifier","src":"23519:3:0"},"nativeSrc":"23519:11:0","nodeType":"YulFunctionCall","src":"23519:11:0"},{"name":"X2x1","nativeSrc":"23532:4:0","nodeType":"YulIdentifier","src":"23532:4:0"}],"functionName":{"name":"mstore","nativeSrc":"23512:6:0","nodeType":"YulIdentifier","src":"23512:6:0"},"nativeSrc":"23512:25:0","nodeType":"YulFunctionCall","src":"23512:25:0"},"nativeSrc":"23512:25:0","nodeType":"YulExpressionStatement","src":"23512:25:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23565:3:0","nodeType":"YulIdentifier","src":"23565:3:0"},{"kind":"number","nativeSrc":"23569:3:0","nodeType":"YulLiteral","src":"23569:3:0","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"23561:3:0","nodeType":"YulIdentifier","src":"23561:3:0"},"nativeSrc":"23561:12:0","nodeType":"YulFunctionCall","src":"23561:12:0"},{"name":"X2y2","nativeSrc":"23575:4:0","nodeType":"YulIdentifier","src":"23575:4:0"}],"functionName":{"name":"mstore","nativeSrc":"23554:6:0","nodeType":"YulIdentifier","src":"23554:6:0"},"nativeSrc":"23554:26:0","nodeType":"YulFunctionCall","src":"23554:26:0"},"nativeSrc":"23554:26:0","nodeType":"YulExpressionStatement","src":"23554:26:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23608:3:0","nodeType":"YulIdentifier","src":"23608:3:0"},{"kind":"number","nativeSrc":"23612:3:0","nodeType":"YulLiteral","src":"23612:3:0","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"23604:3:0","nodeType":"YulIdentifier","src":"23604:3:0"},"nativeSrc":"23604:12:0","nodeType":"YulFunctionCall","src":"23604:12:0"},{"name":"X2y1","nativeSrc":"23618:4:0","nodeType":"YulIdentifier","src":"23618:4:0"}],"functionName":{"name":"mstore","nativeSrc":"23597:6:0","nodeType":"YulIdentifier","src":"23597:6:0"},"nativeSrc":"23597:26:0","nodeType":"YulFunctionCall","src":"23597:26:0"},"nativeSrc":"23597:26:0","nodeType":"YulExpressionStatement","src":"23597:26:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23651:3:0","nodeType":"YulIdentifier","src":"23651:3:0"},{"kind":"number","nativeSrc":"23655:3:0","nodeType":"YulLiteral","src":"23655:3:0","type":"","value":"192"}],"functionName":{"name":"add","nativeSrc":"23647:3:0","nodeType":"YulIdentifier","src":"23647:3:0"},"nativeSrc":"23647:12:0","nodeType":"YulFunctionCall","src":"23647:12:0"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23671:4:0","nodeType":"YulIdentifier","src":"23671:4:0"},{"name":"pB1","nativeSrc":"23677:3:0","nodeType":"YulIdentifier","src":"23677:3:0"}],"functionName":{"name":"add","nativeSrc":"23667:3:0","nodeType":"YulIdentifier","src":"23667:3:0"},"nativeSrc":"23667:14:0","nodeType":"YulFunctionCall","src":"23667:14:0"}],"functionName":{"name":"mload","nativeSrc":"23661:5:0","nodeType":"YulIdentifier","src":"23661:5:0"},"nativeSrc":"23661:21:0","nodeType":"YulFunctionCall","src":"23661:21:0"}],"functionName":{"name":"mstore","nativeSrc":"23640:6:0","nodeType":"YulIdentifier","src":"23640:6:0"},"nativeSrc":"23640:43:0","nodeType":"YulFunctionCall","src":"23640:43:0"},"nativeSrc":"23640:43:0","nodeType":"YulExpressionStatement","src":"23640:43:0"},{"nativeSrc":"23700:39:0","nodeType":"YulVariableDeclaration","src":"23700:39:0","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23723:4:0","nodeType":"YulIdentifier","src":"23723:4:0"},{"name":"pB1","nativeSrc":"23729:3:0","nodeType":"YulIdentifier","src":"23729:3:0"}],"functionName":{"name":"add","nativeSrc":"23719:3:0","nodeType":"YulIdentifier","src":"23719:3:0"},"nativeSrc":"23719:14:0","nodeType":"YulFunctionCall","src":"23719:14:0"},{"kind":"number","nativeSrc":"23735:2:0","nodeType":"YulLiteral","src":"23735:2:0","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23715:3:0","nodeType":"YulIdentifier","src":"23715:3:0"},"nativeSrc":"23715:23:0","nodeType":"YulFunctionCall","src":"23715:23:0"}],"functionName":{"name":"mload","nativeSrc":"23709:5:0","nodeType":"YulIdentifier","src":"23709:5:0"},"nativeSrc":"23709:30:0","nodeType":"YulFunctionCall","src":"23709:30:0"},"variables":[{"name":"s","nativeSrc":"23704:1:0","nodeType":"YulTypedName","src":"23704:1:0","type":""}]},{"nativeSrc":"23756:24:0","nodeType":"YulAssignment","src":"23756:24:0","value":{"arguments":[{"arguments":[{"name":"qf","nativeSrc":"23769:2:0","nodeType":"YulIdentifier","src":"23769:2:0"},{"name":"s","nativeSrc":"23773:1:0","nodeType":"YulIdentifier","src":"23773:1:0"}],"functionName":{"name":"sub","nativeSrc":"23765:3:0","nodeType":"YulIdentifier","src":"23765:3:0"},"nativeSrc":"23765:10:0","nodeType":"YulFunctionCall","src":"23765:10:0"},{"name":"qf","nativeSrc":"23777:2:0","nodeType":"YulIdentifier","src":"23777:2:0"}],"functionName":{"name":"mod","nativeSrc":"23761:3:0","nodeType":"YulIdentifier","src":"23761:3:0"},"nativeSrc":"23761:19:0","nodeType":"YulFunctionCall","src":"23761:19:0"},"variableNames":[{"name":"s","nativeSrc":"23756:1:0","nodeType":"YulIdentifier","src":"23756:1:0"}]},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23808:3:0","nodeType":"YulIdentifier","src":"23808:3:0"},{"kind":"number","nativeSrc":"23812:3:0","nodeType":"YulLiteral","src":"23812:3:0","type":"","value":"224"}],"functionName":{"name":"add","nativeSrc":"23804:3:0","nodeType":"YulIdentifier","src":"23804:3:0"},"nativeSrc":"23804:12:0","nodeType":"YulFunctionCall","src":"23804:12:0"},{"name":"s","nativeSrc":"23818:1:0","nodeType":"YulIdentifier","src":"23818:1:0"}],"functionName":{"name":"mstore","nativeSrc":"23797:6:0","nodeType":"YulIdentifier","src":"23797:6:0"},"nativeSrc":"23797:23:0","nodeType":"YulFunctionCall","src":"23797:23:0"},"nativeSrc":"23797:23:0","nodeType":"YulExpressionStatement","src":"23797:23:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23848:3:0","nodeType":"YulIdentifier","src":"23848:3:0"},{"kind":"number","nativeSrc":"23852:3:0","nodeType":"YulLiteral","src":"23852:3:0","type":"","value":"256"}],"functionName":{"name":"add","nativeSrc":"23844:3:0","nodeType":"YulIdentifier","src":"23844:3:0"},"nativeSrc":"23844:12:0","nodeType":"YulFunctionCall","src":"23844:12:0"},{"name":"G2x2","nativeSrc":"23858:4:0","nodeType":"YulIdentifier","src":"23858:4:0"}],"functionName":{"name":"mstore","nativeSrc":"23837:6:0","nodeType":"YulIdentifier","src":"23837:6:0"},"nativeSrc":"23837:26:0","nodeType":"YulFunctionCall","src":"23837:26:0"},"nativeSrc":"23837:26:0","nodeType":"YulExpressionStatement","src":"23837:26:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23891:3:0","nodeType":"YulIdentifier","src":"23891:3:0"},{"kind":"number","nativeSrc":"23895:3:0","nodeType":"YulLiteral","src":"23895:3:0","type":"","value":"288"}],"functionName":{"name":"add","nativeSrc":"23887:3:0","nodeType":"YulIdentifier","src":"23887:3:0"},"nativeSrc":"23887:12:0","nodeType":"YulFunctionCall","src":"23887:12:0"},{"name":"G2x1","nativeSrc":"23901:4:0","nodeType":"YulIdentifier","src":"23901:4:0"}],"functionName":{"name":"mstore","nativeSrc":"23880:6:0","nodeType":"YulIdentifier","src":"23880:6:0"},"nativeSrc":"23880:26:0","nodeType":"YulFunctionCall","src":"23880:26:0"},"nativeSrc":"23880:26:0","nodeType":"YulExpressionStatement","src":"23880:26:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23934:3:0","nodeType":"YulIdentifier","src":"23934:3:0"},{"kind":"number","nativeSrc":"23938:3:0","nodeType":"YulLiteral","src":"23938:3:0","type":"","value":"320"}],"functionName":{"name":"add","nativeSrc":"23930:3:0","nodeType":"YulIdentifier","src":"23930:3:0"},"nativeSrc":"23930:12:0","nodeType":"YulFunctionCall","src":"23930:12:0"},{"name":"G2y2","nativeSrc":"23944:4:0","nodeType":"YulIdentifier","src":"23944:4:0"}],"functionName":{"name":"mstore","nativeSrc":"23923:6:0","nodeType":"YulIdentifier","src":"23923:6:0"},"nativeSrc":"23923:26:0","nodeType":"YulFunctionCall","src":"23923:26:0"},"nativeSrc":"23923:26:0","nodeType":"YulExpressionStatement","src":"23923:26:0"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23977:3:0","nodeType":"YulIdentifier","src":"23977:3:0"},{"kind":"number","nativeSrc":"23981:3:0","nodeType":"YulLiteral","src":"23981:3:0","type":"","value":"352"}],"functionName":{"name":"add","nativeSrc":"23973:3:0","nodeType":"YulIdentifier","src":"23973:3:0"},"nativeSrc":"23973:12:0","nodeType":"YulFunctionCall","src":"23973:12:0"},{"name":"G2y1","nativeSrc":"23987:4:0","nodeType":"YulIdentifier","src":"23987:4:0"}],"functionName":{"name":"mstore","nativeSrc":"23966:6:0","nodeType":"YulIdentifier","src":"23966:6:0"},"nativeSrc":"23966:26:0","nodeType":"YulFunctionCall","src":"23966:26:0"},"nativeSrc":"23966:26:0","nodeType":"YulExpressionStatement","src":"23966:26:0"},{"nativeSrc":"24026:67:0","nodeType":"YulVariableDeclaration","src":"24026:67:0","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"24056:3:0","nodeType":"YulIdentifier","src":"24056:3:0"},"nativeSrc":"24056:5:0","nodeType":"YulFunctionCall","src":"24056:5:0"},{"kind":"number","nativeSrc":"24063:4:0","nodeType":"YulLiteral","src":"24063:4:0","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"24052:3:0","nodeType":"YulIdentifier","src":"24052:3:0"},"nativeSrc":"24052:16:0","nodeType":"YulFunctionCall","src":"24052:16:0"},{"kind":"number","nativeSrc":"24070:1:0","nodeType":"YulLiteral","src":"24070:1:0","type":"","value":"8"},{"name":"mIn","nativeSrc":"24073:3:0","nodeType":"YulIdentifier","src":"24073:3:0"},{"kind":"number","nativeSrc":"24078:3:0","nodeType":"YulLiteral","src":"24078:3:0","type":"","value":"384"},{"name":"mIn","nativeSrc":"24083:3:0","nodeType":"YulIdentifier","src":"24083:3:0"},{"kind":"number","nativeSrc":"24088:4:0","nodeType":"YulLiteral","src":"24088:4:0","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nativeSrc":"24041:10:0","nodeType":"YulIdentifier","src":"24041:10:0"},"nativeSrc":"24041:52:0","nodeType":"YulFunctionCall","src":"24041:52:0"},"variables":[{"name":"success","nativeSrc":"24030:7:0","nodeType":"YulTypedName","src":"24030:7:0","type":""}]},{"nativeSrc":"24127:32:0","nodeType":"YulAssignment","src":"24127:32:0","value":{"arguments":[{"name":"success","nativeSrc":"24139:7:0","nodeType":"YulIdentifier","src":"24139:7:0"},{"arguments":[{"name":"mIn","nativeSrc":"24154:3:0","nodeType":"YulIdentifier","src":"24154:3:0"}],"functionName":{"name":"mload","nativeSrc":"24148:5:0","nodeType":"YulIdentifier","src":"24148:5:0"},"nativeSrc":"24148:10:0","nodeType":"YulFunctionCall","src":"24148:10:0"}],"functionName":{"name":"and","nativeSrc":"24135:3:0","nodeType":"YulIdentifier","src":"24135:3:0"},"nativeSrc":"24135:24:0","nodeType":"YulFunctionCall","src":"24135:24:0"},"variableNames":[{"name":"isOk","nativeSrc":"24127:4:0","nodeType":"YulIdentifier","src":"24127:4:0"}]}]},"name":"checkPairing","nativeSrc":"23258:915:0","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"23280:4:0","nodeType":"YulTypedName","src":"23280:4:0","type":""}],"returnVariables":[{"name":"isOk","nativeSrc":"23289:4:0","nodeType":"YulTypedName","src":"23289:4:0","type":""}],"src":"23258:915:0"},{"nativeSrc":"24199:23:0","nodeType":"YulVariableDeclaration","src":"24199:23:0","value":{"arguments":[{"kind":"number","nativeSrc":"24217:4:0","nodeType":"YulLiteral","src":"24217:4:0","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"24211:5:0","nodeType":"YulIdentifier","src":"24211:5:0"},"nativeSrc":"24211:11:0","nodeType":"YulFunctionCall","src":"24211:11:0"},"variables":[{"name":"pMem","nativeSrc":"24203:4:0","nodeType":"YulTypedName","src":"24203:4:0","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24242:4:0","nodeType":"YulLiteral","src":"24242:4:0","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24252:4:0","nodeType":"YulIdentifier","src":"24252:4:0"},{"name":"lastMem","nativeSrc":"24258:7:0","nodeType":"YulIdentifier","src":"24258:7:0"}],"functionName":{"name":"add","nativeSrc":"24248:3:0","nodeType":"YulIdentifier","src":"24248:3:0"},"nativeSrc":"24248:18:0","nodeType":"YulFunctionCall","src":"24248:18:0"}],"functionName":{"name":"mstore","nativeSrc":"24235:6:0","nodeType":"YulIdentifier","src":"24235:6:0"},"nativeSrc":"24235:32:0","nodeType":"YulFunctionCall","src":"24235:32:0"},"nativeSrc":"24235:32:0","nodeType":"YulExpressionStatement","src":"24235:32:0"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24304:5:0","nodeType":"YulIdentifier","src":"24304:5:0"}],"functionName":{"name":"checkInput","nativeSrc":"24293:10:0","nodeType":"YulIdentifier","src":"24293:10:0"},"nativeSrc":"24293:17:0","nodeType":"YulFunctionCall","src":"24293:17:0"},"nativeSrc":"24293:17:0","nodeType":"YulExpressionStatement","src":"24293:17:0"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24343:5:0","nodeType":"YulIdentifier","src":"24343:5:0"},{"name":"pMem","nativeSrc":"24350:4:0","nodeType":"YulIdentifier","src":"24350:4:0"},{"name":"pubSignals","nativeSrc":"24356:10:0","nodeType":"YulIdentifier","src":"24356:10:0"}],"functionName":{"name":"calculateChallanges","nativeSrc":"24323:19:0","nodeType":"YulIdentifier","src":"24323:19:0"},"nativeSrc":"24323:44:0","nodeType":"YulFunctionCall","src":"24323:44:0"},"nativeSrc":"24323:44:0","nodeType":"YulExpressionStatement","src":"24323:44:0"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24398:4:0","nodeType":"YulIdentifier","src":"24398:4:0"}],"functionName":{"name":"calculateLagrange","nativeSrc":"24380:17:0","nodeType":"YulIdentifier","src":"24380:17:0"},"nativeSrc":"24380:23:0","nodeType":"YulFunctionCall","src":"24380:23:0"},"nativeSrc":"24380:23:0","nodeType":"YulExpressionStatement","src":"24380:23:0"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24428:4:0","nodeType":"YulIdentifier","src":"24428:4:0"},{"name":"pubSignals","nativeSrc":"24434:10:0","nodeType":"YulIdentifier","src":"24434:10:0"}],"functionName":{"name":"calculatePl","nativeSrc":"24416:11:0","nodeType":"YulIdentifier","src":"24416:11:0"},"nativeSrc":"24416:29:0","nodeType":"YulFunctionCall","src":"24416:29:0"},"nativeSrc":"24416:29:0","nodeType":"YulExpressionStatement","src":"24416:29:0"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24469:5:0","nodeType":"YulIdentifier","src":"24469:5:0"},{"name":"pMem","nativeSrc":"24476:4:0","nodeType":"YulIdentifier","src":"24476:4:0"}],"functionName":{"name":"calculateT","nativeSrc":"24458:10:0","nodeType":"YulIdentifier","src":"24458:10:0"},"nativeSrc":"24458:23:0","nodeType":"YulFunctionCall","src":"24458:23:0"},"nativeSrc":"24458:23:0","nodeType":"YulExpressionStatement","src":"24458:23:0"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24506:5:0","nodeType":"YulIdentifier","src":"24506:5:0"},{"name":"pMem","nativeSrc":"24513:4:0","nodeType":"YulIdentifier","src":"24513:4:0"}],"functionName":{"name":"calculateA1","nativeSrc":"24494:11:0","nodeType":"YulIdentifier","src":"24494:11:0"},"nativeSrc":"24494:24:0","nodeType":"YulFunctionCall","src":"24494:24:0"},"nativeSrc":"24494:24:0","nodeType":"YulExpressionStatement","src":"24494:24:0"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24543:5:0","nodeType":"YulIdentifier","src":"24543:5:0"},{"name":"pMem","nativeSrc":"24550:4:0","nodeType":"YulIdentifier","src":"24550:4:0"}],"functionName":{"name":"calculateB1","nativeSrc":"24531:11:0","nodeType":"YulIdentifier","src":"24531:11:0"},"nativeSrc":"24531:24:0","nodeType":"YulFunctionCall","src":"24531:24:0"},"nativeSrc":"24531:24:0","nodeType":"YulExpressionStatement","src":"24531:24:0"},{"nativeSrc":"24568:33:0","nodeType":"YulVariableDeclaration","src":"24568:33:0","value":{"arguments":[{"name":"pMem","nativeSrc":"24596:4:0","nodeType":"YulIdentifier","src":"24596:4:0"}],"functionName":{"name":"checkPairing","nativeSrc":"24583:12:0","nodeType":"YulIdentifier","src":"24583:12:0"},"nativeSrc":"24583:18:0","nodeType":"YulFunctionCall","src":"24583:18:0"},"variables":[{"name":"isValid","nativeSrc":"24572:7:0","nodeType":"YulTypedName","src":"24572:7:0","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24634:4:0","nodeType":"YulLiteral","src":"24634:4:0","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24644:4:0","nodeType":"YulIdentifier","src":"24644:4:0"},{"name":"lastMem","nativeSrc":"24650:7:0","nodeType":"YulIdentifier","src":"24650:7:0"}],"functionName":{"name":"sub","nativeSrc":"24640:3:0","nodeType":"YulIdentifier","src":"24640:3:0"},"nativeSrc":"24640:18:0","nodeType":"YulFunctionCall","src":"24640:18:0"}],"functionName":{"name":"mstore","nativeSrc":"24627:6:0","nodeType":"YulIdentifier","src":"24627:6:0"},"nativeSrc":"24627:32:0","nodeType":"YulFunctionCall","src":"24627:32:0"},"nativeSrc":"24627:32:0","nodeType":"YulExpressionStatement","src":"24627:32:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24679:1:0","nodeType":"YulLiteral","src":"24679:1:0","type":"","value":"0"},{"name":"isValid","nativeSrc":"24682:7:0","nodeType":"YulIdentifier","src":"24682:7:0"}],"functionName":{"name":"mstore","nativeSrc":"24672:6:0","nodeType":"YulIdentifier","src":"24672:6:0"},"nativeSrc":"24672:18:0","nodeType":"YulFunctionCall","src":"24672:18:0"},"nativeSrc":"24672:18:0","nodeType":"YulExpressionStatement","src":"24672:18:0"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24710:1:0","nodeType":"YulLiteral","src":"24710:1:0","type":"","value":"0"},{"kind":"number","nativeSrc":"24712:4:0","nodeType":"YulLiteral","src":"24712:4:0","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"24703:6:0","nodeType":"YulIdentifier","src":"24703:6:0"},"nativeSrc":"24703:14:0","nodeType":"YulFunctionCall","src":"24703:14:0"},"nativeSrc":"24703:14:0","nodeType":"YulExpressionStatement","src":"24703:14:0"}]},"evmVersion":"paris","externalReferences":[{"declaration":88,"isOffset":false,"isSlot":false,"src":"22876:3:0","valueSize":1},{"declaration":91,"isOffset":false,"isSlot":false,"src":"22881:3:0","valueSize":1},{"declaration":94,"isOffset":false,"isSlot":false,"src":"23901:4:0","valueSize":1},{"declaration":97,"isOffset":false,"isSlot":false,"src":"23858:4:0","valueSize":1},{"declaration":100,"isOffset":false,"isSlot":false,"src":"23987:4:0","valueSize":1},{"declaration":103,"isOffset":false,"isSlot":false,"src":"23944:4:0","valueSize":1},{"declaration":37,"isOffset":false,"isSlot":false,"src":"19520:3:0","valueSize":1},{"declaration":40,"isOffset":false,"isSlot":false,"src":"19525:3:0","valueSize":1},{"declaration":19,"isOffset":false,"isSlot":false,"src":"19038:3:0","valueSize":1},{"declaration":22,"isOffset":false,"isSlot":false,"src":"19043:3:0","valueSize":1},{"declaration":13,"isOffset":false,"isSlot":false,"src":"19162:3:0","valueSize":1},{"declaration":16,"isOffset":false,"isSlot":false,"src":"19167:3:0","valueSize":1},{"declaration":31,"isOffset":false,"isSlot":false,"src":"19434:3:0","valueSize":1},{"declaration":34,"isOffset":false,"isSlot":false,"src":"19439:3:0","valueSize":1},{"declaration":25,"isOffset":false,"isSlot":false,"src":"19290:3:0","valueSize":1},{"declaration":28,"isOffset":false,"isSlot":false,"src":"19295:3:0","valueSize":1},{"declaration":43,"isOffset":false,"isSlot":false,"src":"21935:3:0","valueSize":1},{"declaration":46,"isOffset":false,"isSlot":false,"src":"21940:3:0","valueSize":1},{"declaration":49,"isOffset":false,"isSlot":false,"src":"21998:3:0","valueSize":1},{"declaration":52,"isOffset":false,"isSlot":false,"src":"22003:3:0","valueSize":1},{"declaration":55,"isOffset":false,"isSlot":false,"src":"21391:3:0","valueSize":1},{"declaration":58,"isOffset":false,"isSlot":false,"src":"21396:3:0","valueSize":1},{"declaration":67,"isOffset":false,"isSlot":false,"src":"23532:4:0","valueSize":1},{"declaration":70,"isOffset":false,"isSlot":false,"src":"23490:4:0","valueSize":1},{"declaration":73,"isOffset":false,"isSlot":false,"src":"23618:4:0","valueSize":1},{"declaration":76,"isOffset":false,"isSlot":false,"src":"23575:4:0","valueSize":1},{"declaration":61,"isOffset":false,"isSlot":false,"src":"19710:2:0","valueSize":1},{"declaration":64,"isOffset":false,"isSlot":false,"src":"19938:2:0","valueSize":1},{"declaration":214,"isOffset":false,"isSlot":false,"src":"24258:7:0","valueSize":1},{"declaration":214,"isOffset":false,"isSlot":false,"src":"24650:7:0","valueSize":1},{"declaration":214,"isOffset":false,"isSlot":false,"src":"9548:7:0","valueSize":1},{"declaration":4,"isOffset":false,"isSlot":false,"src":"11896:1:0","valueSize":1},{"declaration":106,"isOffset":false,"isSlot":false,"src":"21739:2:0","valueSize":1},{"declaration":106,"isOffset":false,"isSlot":false,"src":"9103:2:0","valueSize":1},{"declaration":106,"isOffset":false,"isSlot":false,"src":"9174:2:0","valueSize":1},{"declaration":106,"isOffset":false,"isSlot":false,"src":"9249:2:0","valueSize":1},{"declaration":106,"isOffset":false,"isSlot":false,"src":"9324:2:0","valueSize":1},{"declaration":106,"isOffset":false,"isSlot":false,"src":"9399:2:0","valueSize":1},{"declaration":106,"isOffset":false,"isSlot":false,"src":"9475:2:0","valueSize":1},{"declaration":199,"isOffset":false,"isSlot":false,"src":"18581:3:0","valueSize":1},{"declaration":199,"isOffset":false,"isSlot":false,"src":"23379:3:0","valueSize":1},{"declaration":199,"isOffset":false,"isSlot":false,"src":"23442:3:0","valueSize":1},{"declaration":154,"isOffset":false,"isSlot":false,"src":"15158:6:0","valueSize":1},{"declaration":154,"isOffset":false,"isSlot":false,"src":"15303:6:0","valueSize":1},{"declaration":154,"isOffset":false,"isSlot":false,"src":"15446:6:0","valueSize":1},{"declaration":154,"isOffset":false,"isSlot":false,"src":"20184:6:0","valueSize":1},{"declaration":154,"isOffset":false,"isSlot":false,"src":"20327:6:0","valueSize":1},{"declaration":154,"isOffset":false,"isSlot":false,"src":"20389:6:0","valueSize":1},{"declaration":154,"isOffset":false,"isSlot":false,"src":"21129:6:0","valueSize":1},{"declaration":154,"isOffset":false,"isSlot":false,"src":"9731:6:0","valueSize":1},{"declaration":109,"isOffset":false,"isSlot":false,"src":"21808:2:0","valueSize":1},{"declaration":202,"isOffset":false,"isSlot":false,"src":"18871:3:0","valueSize":1},{"declaration":202,"isOffset":false,"isSlot":false,"src":"23677:3:0","valueSize":1},{"declaration":202,"isOffset":false,"isSlot":false,"src":"23729:3:0","valueSize":1},{"declaration":157,"isOffset":false,"isSlot":false,"src":"13946:5:0","valueSize":1},{"declaration":157,"isOffset":false,"isSlot":false,"src":"14413:5:0","valueSize":1},{"declaration":157,"isOffset":false,"isSlot":false,"src":"20665:5:0","valueSize":1},{"declaration":157,"isOffset":false,"isSlot":false,"src":"20875:5:0","valueSize":1},{"declaration":157,"isOffset":false,"isSlot":false,"src":"21246:5:0","valueSize":1},{"declaration":157,"isOffset":false,"isSlot":false,"src":"9602:5:0","valueSize":1},{"declaration":157,"isOffset":false,"isSlot":false,"src":"9680:5:0","valueSize":1},{"declaration":169,"isOffset":false,"isSlot":false,"src":"19607:7:0","valueSize":1},{"declaration":169,"isOffset":false,"isSlot":false,"src":"19730:7:0","valueSize":1},{"declaration":169,"isOffset":false,"isSlot":false,"src":"19958:7:0","valueSize":1},{"declaration":169,"isOffset":false,"isSlot":false,"src":"9936:7:0","valueSize":1},{"declaration":112,"isOffset":false,"isSlot":false,"src":"21877:2:0","valueSize":1},{"declaration":133,"isOffset":false,"isSlot":false,"src":"11075:7:0","valueSize":1},{"declaration":133,"isOffset":false,"isSlot":false,"src":"14088:7:0","valueSize":1},{"declaration":133,"isOffset":false,"isSlot":false,"src":"18971:7:0","valueSize":1},{"declaration":133,"isOffset":false,"isSlot":false,"src":"19580:7:0","valueSize":1},{"declaration":133,"isOffset":false,"isSlot":false,"src":"20756:7:0","valueSize":1},{"declaration":133,"isOffset":false,"isSlot":false,"src":"22279:7:0","valueSize":1},{"declaration":133,"isOffset":false,"isSlot":false,"src":"8348:7:0","valueSize":1},{"declaration":136,"isOffset":false,"isSlot":false,"src":"14555:7:0","valueSize":1},{"declaration":136,"isOffset":false,"isSlot":false,"src":"19102:7:0","valueSize":1},{"declaration":136,"isOffset":false,"isSlot":false,"src":"19223:7:0","valueSize":1},{"declaration":136,"isOffset":false,"isSlot":false,"src":"19795:7:0","valueSize":1},{"declaration":136,"isOffset":false,"isSlot":false,"src":"20968:7:0","valueSize":1},{"declaration":136,"isOffset":false,"isSlot":false,"src":"22376:7:0","valueSize":1},{"declaration":136,"isOffset":false,"isSlot":false,"src":"8404:7:0","valueSize":1},{"declaration":139,"isOffset":false,"isSlot":false,"src":"14905:7:0","valueSize":1},{"declaration":139,"isOffset":false,"isSlot":false,"src":"19367:7:0","valueSize":1},{"declaration":139,"isOffset":false,"isSlot":false,"src":"20023:7:0","valueSize":1},{"declaration":139,"isOffset":false,"isSlot":false,"src":"22473:7:0","valueSize":1},{"declaration":139,"isOffset":false,"isSlot":false,"src":"8460:7:0","valueSize":1},{"declaration":211,"isOffset":false,"isSlot":false,"src":"11832:8:0","valueSize":1},{"declaration":211,"isOffset":false,"isSlot":false,"src":"12601:8:0","valueSize":1},{"declaration":211,"isOffset":false,"isSlot":false,"src":"12682:8:0","valueSize":1},{"declaration":211,"isOffset":false,"isSlot":false,"src":"13178:8:0","valueSize":1},{"declaration":211,"isOffset":false,"isSlot":false,"src":"15254:8:0","valueSize":1},{"declaration":211,"isOffset":false,"isSlot":false,"src":"20299:8:0","valueSize":1},{"declaration":151,"isOffset":false,"isSlot":false,"src":"13717:7:0","valueSize":1},{"declaration":151,"isOffset":false,"isSlot":false,"src":"22182:7:0","valueSize":1},{"declaration":151,"isOffset":false,"isSlot":false,"src":"8687:7:0","valueSize":1},{"declaration":142,"isOffset":false,"isSlot":false,"src":"13898:8:0","valueSize":1},{"declaration":142,"isOffset":false,"isSlot":false,"src":"20692:8:0","valueSize":1},{"declaration":142,"isOffset":false,"isSlot":false,"src":"22570:8:0","valueSize":1},{"declaration":142,"isOffset":false,"isSlot":false,"src":"8516:8:0","valueSize":1},{"declaration":145,"isOffset":false,"isSlot":false,"src":"14365:8:0","valueSize":1},{"declaration":145,"isOffset":false,"isSlot":false,"src":"20902:8:0","valueSize":1},{"declaration":145,"isOffset":false,"isSlot":false,"src":"22668:8:0","valueSize":1},{"declaration":145,"isOffset":false,"isSlot":false,"src":"8573:8:0","valueSize":1},{"declaration":196,"isOffset":false,"isSlot":false,"src":"15714:7:0","valueSize":1},{"declaration":196,"isOffset":false,"isSlot":false,"src":"22116:7:0","valueSize":1},{"declaration":148,"isOffset":false,"isSlot":false,"src":"15094:8:0","valueSize":1},{"declaration":148,"isOffset":false,"isSlot":false,"src":"21307:8:0","valueSize":1},{"declaration":148,"isOffset":false,"isSlot":false,"src":"22766:8:0","valueSize":1},{"declaration":148,"isOffset":false,"isSlot":false,"src":"8630:8:0","valueSize":1},{"declaration":160,"isOffset":false,"isSlot":false,"src":"14246:6:0","valueSize":1},{"declaration":160,"isOffset":false,"isSlot":false,"src":"14713:6:0","valueSize":1},{"declaration":160,"isOffset":false,"isSlot":false,"src":"14952:6:0","valueSize":1},{"declaration":160,"isOffset":false,"isSlot":false,"src":"19668:6:0","valueSize":1},{"declaration":160,"isOffset":false,"isSlot":false,"src":"19858:6:0","valueSize":1},{"declaration":160,"isOffset":false,"isSlot":false,"src":"20086:6:0","valueSize":1},{"declaration":160,"isOffset":false,"isSlot":false,"src":"20817:6:0","valueSize":1},{"declaration":160,"isOffset":false,"isSlot":false,"src":"21031:6:0","valueSize":1},{"declaration":160,"isOffset":false,"isSlot":false,"src":"9647:6:0","valueSize":1},{"declaration":193,"isOffset":false,"isSlot":false,"src":"13491:3:0","valueSize":1},{"declaration":193,"isOffset":false,"isSlot":false,"src":"13765:3:0","valueSize":1},{"declaration":118,"isOffset":false,"isSlot":false,"src":"21476:3:0","valueSize":1},{"declaration":118,"isOffset":false,"isSlot":false,"src":"9844:3:0","valueSize":1},{"declaration":121,"isOffset":false,"isSlot":false,"src":"21568:3:0","valueSize":1},{"declaration":124,"isOffset":false,"isSlot":false,"src":"21672:3:0","valueSize":1},{"declaration":190,"isOffset":false,"isSlot":false,"src":"11595:2:0","valueSize":1},{"declaration":190,"isOffset":false,"isSlot":false,"src":"18696:2:0","valueSize":1},{"declaration":190,"isOffset":false,"isSlot":false,"src":"20546:2:0","valueSize":1},{"declaration":190,"isOffset":false,"isSlot":false,"src":"22794:2:0","valueSize":1},{"declaration":190,"isOffset":false,"isSlot":false,"src":"23096:2:0","valueSize":1},{"declaration":172,"isOffset":false,"isSlot":false,"src":"11128:3:0","valueSize":1},{"declaration":172,"isOffset":false,"isSlot":false,"src":"18998:3:0","valueSize":1},{"declaration":172,"isOffset":false,"isSlot":false,"src":"19250:3:0","valueSize":1},{"declaration":172,"isOffset":false,"isSlot":false,"src":"19394:3:0","valueSize":1},{"declaration":172,"isOffset":false,"isSlot":false,"src":"19484:3:0","valueSize":1},{"declaration":172,"isOffset":false,"isSlot":false,"src":"20244:3:0","valueSize":1},{"declaration":172,"isOffset":false,"isSlot":false,"src":"20451:3:0","valueSize":1},{"declaration":172,"isOffset":false,"isSlot":false,"src":"21189:3:0","valueSize":1},{"declaration":172,"isOffset":false,"isSlot":false,"src":"22209:3:0","valueSize":1},{"declaration":175,"isOffset":false,"isSlot":false,"src":"11211:3:0","valueSize":1},{"declaration":175,"isOffset":false,"isSlot":false,"src":"21760:3:0","valueSize":1},{"declaration":175,"isOffset":false,"isSlot":false,"src":"22306:3:0","valueSize":1},{"declaration":178,"isOffset":false,"isSlot":false,"src":"11292:3:0","valueSize":1},{"declaration":178,"isOffset":false,"isSlot":false,"src":"21829:3:0","valueSize":1},{"declaration":178,"isOffset":false,"isSlot":false,"src":"22403:3:0","valueSize":1},{"declaration":181,"isOffset":false,"isSlot":false,"src":"11373:3:0","valueSize":1},{"declaration":181,"isOffset":false,"isSlot":false,"src":"21898:3:0","valueSize":1},{"declaration":181,"isOffset":false,"isSlot":false,"src":"22500:3:0","valueSize":1},{"declaration":184,"isOffset":false,"isSlot":false,"src":"11454:3:0","valueSize":1},{"declaration":184,"isOffset":false,"isSlot":false,"src":"21961:3:0","valueSize":1},{"declaration":184,"isOffset":false,"isSlot":false,"src":"22598:3:0","valueSize":1},{"declaration":187,"isOffset":false,"isSlot":false,"src":"11535:3:0","valueSize":1},{"declaration":187,"isOffset":false,"isSlot":false,"src":"22024:3:0","valueSize":1},{"declaration":187,"isOffset":false,"isSlot":false,"src":"22696:3:0","valueSize":1},{"declaration":127,"isOffset":false,"isSlot":false,"src":"11626:4:0","valueSize":1},{"declaration":127,"isOffset":false,"isSlot":false,"src":"18624:4:0","valueSize":1},{"declaration":127,"isOffset":false,"isSlot":false,"src":"23041:4:0","valueSize":1},{"declaration":130,"isOffset":false,"isSlot":false,"src":"18672:5:0","valueSize":1},{"declaration":130,"isOffset":false,"isSlot":false,"src":"23207:5:0","valueSize":1},{"declaration":163,"isOffset":false,"isSlot":false,"src":"12051:3:0","valueSize":1},{"declaration":163,"isOffset":false,"isSlot":false,"src":"22994:3:0","valueSize":1},{"declaration":163,"isOffset":false,"isSlot":false,"src":"23118:3:0","valueSize":1},{"declaration":163,"isOffset":false,"isSlot":false,"src":"9893:3:0","valueSize":1},{"declaration":166,"isOffset":false,"isSlot":false,"src":"10809:4:0","valueSize":1},{"declaration":166,"isOffset":false,"isSlot":false,"src":"21520:4:0","valueSize":1},{"declaration":115,"isOffset":false,"isSlot":false,"src":"20596:2:0","valueSize":1},{"declaration":115,"isOffset":false,"isSlot":false,"src":"9766:2:0","valueSize":1},{"declaration":205,"isOffset":false,"isSlot":false,"src":"10898:3:0","valueSize":1},{"declaration":205,"isOffset":false,"isSlot":false,"src":"12484:3:0","valueSize":1},{"declaration":208,"isOffset":false,"isSlot":false,"src":"10941:6:0","valueSize":1},{"declaration":208,"isOffset":false,"isSlot":false,"src":"12412:6:0","valueSize":1},{"declaration":208,"isOffset":false,"isSlot":false,"src":"15650:6:0","valueSize":1},{"declaration":216,"isOffset":false,"isSlot":false,"src":"24304:5:0","valueSize":1},{"declaration":216,"isOffset":false,"isSlot":false,"src":"24343:5:0","valueSize":1},{"declaration":216,"isOffset":false,"isSlot":false,"src":"24469:5:0","valueSize":1},{"declaration":216,"isOffset":false,"isSlot":false,"src":"24506:5:0","valueSize":1},{"declaration":216,"isOffset":false,"isSlot":false,"src":"24543:5:0","valueSize":1},{"declaration":219,"isOffset":false,"isSlot":false,"src":"24356:10:0","valueSize":1},{"declaration":219,"isOffset":false,"isSlot":false,"src":"24434:10:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10013:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10066:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10119:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10172:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10225:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10278:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10331:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10384:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10437:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10490:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10543:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10596:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10649:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10702:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10755:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10857:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"10861:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"11091:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"11174:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"11255:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"11336:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"11417:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"11498:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"11639:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"12165:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"12226:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"12280:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"12747:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"13276:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"13359:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"13404:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"13793:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"13975:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"14119:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"14276:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"14442:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"14586:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"14743:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"14817:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"14982:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"15040:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"15106:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"15168:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"15334:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"15477:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"15535:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"15591:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"15600:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"15660:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19005:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19113:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19257:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19401:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19618:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19678:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19741:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19806:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19868:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19906:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"19969:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20034:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20096:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20134:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20194:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20251:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20337:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20399:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20458:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20496:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20552:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20704:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20767:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20827:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20914:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"20979:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"21041:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"21079:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"21139:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"21196:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"21255:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"21319:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"21351:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"21358:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"21628:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22216:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22220:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22313:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22317:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22410:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22414:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22507:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22511:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22605:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22609:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22703:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22707:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22800:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22804:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22836:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"22843:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"23125:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"23163:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"7071:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"7128:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"7698:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"7752:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"8003:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"9564:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"9693:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"9776:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"9856:1:0","valueSize":1},{"declaration":79,"isOffset":false,"isSlot":false,"src":"9959:1:0","valueSize":1},{"declaration":82,"isOffset":false,"isSlot":false,"src":"23769:2:0","valueSize":1},{"declaration":82,"isOffset":false,"isSlot":false,"src":"23777:2:0","valueSize":1},{"declaration":85,"isOffset":false,"isSlot":false,"src":"23159:2:0","valueSize":1}],"id":224,"nodeType":"InlineAssembly","src":"5295:19432:0"}]},"functionSelector":"1e8e1e13","id":226,"implemented":true,"kind":"function","modifiers":[],"name":"verifyProof","nameLocation":"5200:11:0","nodeType":"FunctionDefinition","parameters":{"id":220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":216,"mutability":"mutable","name":"proof","nameLocation":"5225:5:0","nodeType":"VariableDeclaration","scope":226,"src":"5212:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":215,"name":"bytes","nodeType":"ElementaryTypeName","src":"5212:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":219,"mutability":"mutable","name":"pubSignals","nameLocation":"5246:10:0","nodeType":"VariableDeclaration","scope":226,"src":"5232:24:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":217,"name":"uint","nodeType":"ElementaryTypeName","src":"5232:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":218,"nodeType":"ArrayTypeName","src":"5232:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5211:46:0"},"returnParameters":{"id":223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":226,"src":"5279:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":221,"name":"bool","nodeType":"ElementaryTypeName","src":"5279:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5278:6:0"},"scope":227,"src":"5191:19551:0","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":228,"src":"832:23912:0","usedErrors":[],"usedEvents":[]}],"src":"799:23946:0"},"id":0},"contracts/workstep2Verifier.sol":{"ast":{"absolutePath":"contracts/workstep2Verifier.sol","exportedSymbols":{"Workstep2Verifier":[455]},"id":456,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":229,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"799:31:1"},{"abstract":false,"baseContracts":[],"canonicalName":"Workstep2Verifier","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":455,"linearizedBaseContracts":[455],"name":"Workstep2Verifier","nameLocation":"841:17:1","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":232,"mutability":"constant","name":"n","nameLocation":"886:1:1","nodeType":"VariableDeclaration","scope":455,"src":"870:27:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":230,"name":"uint32","nodeType":"ElementaryTypeName","src":"870:6:1","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"value":{"hexValue":"3332373638","id":231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"892:5:1","typeDescriptions":{"typeIdentifier":"t_rational_32768_by_1","typeString":"int_const 32768"},"value":"32768"},"visibility":"internal"},{"constant":true,"id":235,"mutability":"constant","name":"nPublic","nameLocation":"919:7:1","nodeType":"VariableDeclaration","scope":455,"src":"903:28:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":233,"name":"uint16","nodeType":"ElementaryTypeName","src":"903:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"930:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":238,"mutability":"constant","name":"nLagrange","nameLocation":"953:9:1","nodeType":"VariableDeclaration","scope":455,"src":"937:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":236,"name":"uint16","nodeType":"ElementaryTypeName","src":"937:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"965:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":241,"mutability":"constant","name":"Qmx","nameLocation":"994:3:1","nodeType":"VariableDeclaration","scope":455,"src":"977:99:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":239,"name":"uint256","nodeType":"ElementaryTypeName","src":"977:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39303331303134323031333334373836353938343337343734383139333333333733383937393834383337343732393632363330333234383531333335333631383434303538353435373830","id":240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1000:76:1","typeDescriptions":{"typeIdentifier":"t_rational_9031014201334786598437474819333373897984837472962630324851335361844058545780_by_1","typeString":"int_const 9031...(68 digits omitted)...5780"},"value":"9031014201334786598437474819333373897984837472962630324851335361844058545780"},"visibility":"internal"},{"constant":true,"id":244,"mutability":"constant","name":"Qmy","nameLocation":"1099:3:1","nodeType":"VariableDeclaration","scope":455,"src":"1082:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":242,"name":"uint256","nodeType":"ElementaryTypeName","src":"1082:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136363037323130373836303836393231393831333637323833383135303439373738373430363030393638373730363230323233303938313437353338303937313338343330353337353935","id":243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1105:77:1","typeDescriptions":{"typeIdentifier":"t_rational_16607210786086921981367283815049778740600968770620223098147538097138430537595_by_1","typeString":"int_const 1660...(69 digits omitted)...7595"},"value":"16607210786086921981367283815049778740600968770620223098147538097138430537595"},"visibility":"internal"},{"constant":true,"id":247,"mutability":"constant","name":"Qlx","nameLocation":"1205:3:1","nodeType":"VariableDeclaration","scope":455,"src":"1188:99:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":245,"name":"uint256","nodeType":"ElementaryTypeName","src":"1188:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36383038323738323830343835333036373539373435353438383931353336313931313632333432323336303939363937363333363530393936333435373430393134323234323230333035","id":246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1211:76:1","typeDescriptions":{"typeIdentifier":"t_rational_6808278280485306759745548891536191162342236099697633650996345740914224220305_by_1","typeString":"int_const 6808...(68 digits omitted)...0305"},"value":"6808278280485306759745548891536191162342236099697633650996345740914224220305"},"visibility":"internal"},{"constant":true,"id":250,"mutability":"constant","name":"Qly","nameLocation":"1310:3:1","nodeType":"VariableDeclaration","scope":455,"src":"1293:99:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":248,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33323730313730313935383030363437393536343339373330373937333339323230303430363536393137353833353938353938313333363039323630363435363138393836313233353838","id":249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1316:76:1","typeDescriptions":{"typeIdentifier":"t_rational_3270170195800647956439730797339220040656917583598598133609260645618986123588_by_1","typeString":"int_const 3270...(68 digits omitted)...3588"},"value":"3270170195800647956439730797339220040656917583598598133609260645618986123588"},"visibility":"internal"},{"constant":true,"id":253,"mutability":"constant","name":"Qrx","nameLocation":"1415:3:1","nodeType":"VariableDeclaration","scope":455,"src":"1398:99:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":251,"name":"uint256","nodeType":"ElementaryTypeName","src":"1398:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36313438353030393031373034353438373832353430333133303234303933333234373734373633313930383334333533323335373539373738323339303534333830313135373631313831","id":252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1421:76:1","typeDescriptions":{"typeIdentifier":"t_rational_6148500901704548782540313024093324774763190834353235759778239054380115761181_by_1","typeString":"int_const 6148...(68 digits omitted)...1181"},"value":"6148500901704548782540313024093324774763190834353235759778239054380115761181"},"visibility":"internal"},{"constant":true,"id":256,"mutability":"constant","name":"Qry","nameLocation":"1520:3:1","nodeType":"VariableDeclaration","scope":455,"src":"1503:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":254,"name":"uint256","nodeType":"ElementaryTypeName","src":"1503:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3137343936393238373034353437343138373837323439313133363239313030333332353937353837333930333838393237393932333032333930383930373234333637333334333235323236","id":255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1526:77:1","typeDescriptions":{"typeIdentifier":"t_rational_17496928704547418787249113629100332597587390388927992302390890724367334325226_by_1","typeString":"int_const 1749...(69 digits omitted)...5226"},"value":"17496928704547418787249113629100332597587390388927992302390890724367334325226"},"visibility":"internal"},{"constant":true,"id":259,"mutability":"constant","name":"Qox","nameLocation":"1626:3:1","nodeType":"VariableDeclaration","scope":455,"src":"1609:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":257,"name":"uint256","nodeType":"ElementaryTypeName","src":"1609:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231363539323738383131393531373833353536343833313235363239323732383433313834373634383835343738323133373439393933353938343434383632323738303435383834373535","id":258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1632:77:1","typeDescriptions":{"typeIdentifier":"t_rational_21659278811951783556483125629272843184764885478213749993598444862278045884755_by_1","typeString":"int_const 2165...(69 digits omitted)...4755"},"value":"21659278811951783556483125629272843184764885478213749993598444862278045884755"},"visibility":"internal"},{"constant":true,"id":262,"mutability":"constant","name":"Qoy","nameLocation":"1732:3:1","nodeType":"VariableDeclaration","scope":455,"src":"1715:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":260,"name":"uint256","nodeType":"ElementaryTypeName","src":"1715:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136363630353937343735323035363139353435323831343638313236303036323339393837353339323637333438323030333430353932373933393532313438343837353034383734333039","id":261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1738:77:1","typeDescriptions":{"typeIdentifier":"t_rational_16660597475205619545281468126006239987539267348200340592793952148487504874309_by_1","typeString":"int_const 1666...(69 digits omitted)...4309"},"value":"16660597475205619545281468126006239987539267348200340592793952148487504874309"},"visibility":"internal"},{"constant":true,"id":265,"mutability":"constant","name":"Qcx","nameLocation":"1838:3:1","nodeType":"VariableDeclaration","scope":455,"src":"1821:99:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":263,"name":"uint256","nodeType":"ElementaryTypeName","src":"1821:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35333035353130333439383338303837333338373833353437383735353636323934343731373731343934303330393936343337363035363632323532303236333736303337303832393538","id":264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1844:76:1","typeDescriptions":{"typeIdentifier":"t_rational_5305510349838087338783547875566294471771494030996437605662252026376037082958_by_1","typeString":"int_const 5305...(68 digits omitted)...2958"},"value":"5305510349838087338783547875566294471771494030996437605662252026376037082958"},"visibility":"internal"},{"constant":true,"id":268,"mutability":"constant","name":"Qcy","nameLocation":"1943:3:1","nodeType":"VariableDeclaration","scope":455,"src":"1926:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":266,"name":"uint256","nodeType":"ElementaryTypeName","src":"1926:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139333737333334303937373732333432333733393233383736353934323131353632323737373035303931333838383939343937333133313332363735353939303034313434393735333133","id":267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1949:77:1","typeDescriptions":{"typeIdentifier":"t_rational_19377334097772342373923876594211562277705091388899497313132675599004144975313_by_1","typeString":"int_const 1937...(69 digits omitted)...5313"},"value":"19377334097772342373923876594211562277705091388899497313132675599004144975313"},"visibility":"internal"},{"constant":true,"id":271,"mutability":"constant","name":"S1x","nameLocation":"2049:3:1","nodeType":"VariableDeclaration","scope":455,"src":"2032:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":269,"name":"uint256","nodeType":"ElementaryTypeName","src":"2032:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133353131333734353838323437313637393937343134343832373731343630333139373737353030313330313437303635323930373337383134363534353132373431373437363136333436","id":270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2055:77:1","typeDescriptions":{"typeIdentifier":"t_rational_13511374588247167997414482771460319777500130147065290737814654512741747616346_by_1","typeString":"int_const 1351...(69 digits omitted)...6346"},"value":"13511374588247167997414482771460319777500130147065290737814654512741747616346"},"visibility":"internal"},{"constant":true,"id":274,"mutability":"constant","name":"S1y","nameLocation":"2155:3:1","nodeType":"VariableDeclaration","scope":455,"src":"2138:99:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":272,"name":"uint256","nodeType":"ElementaryTypeName","src":"2138:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39343130343432373233323238313535383030363039303233383532303831363330333030343430323835303134343639333539353439323531353036313136333532333433383430373635","id":273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:76:1","typeDescriptions":{"typeIdentifier":"t_rational_9410442723228155800609023852081630300440285014469359549251506116352343840765_by_1","typeString":"int_const 9410...(68 digits omitted)...0765"},"value":"9410442723228155800609023852081630300440285014469359549251506116352343840765"},"visibility":"internal"},{"constant":true,"id":277,"mutability":"constant","name":"S2x","nameLocation":"2260:3:1","nodeType":"VariableDeclaration","scope":455,"src":"2243:99:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":275,"name":"uint256","nodeType":"ElementaryTypeName","src":"2243:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36323334333433363432303332353239363736333034343735383430313339383536363039353432313833363138383933323832373934383438373232323635383339343034313231363038","id":276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2266:76:1","typeDescriptions":{"typeIdentifier":"t_rational_6234343642032529676304475840139856609542183618893282794848722265839404121608_by_1","typeString":"int_const 6234...(68 digits omitted)...1608"},"value":"6234343642032529676304475840139856609542183618893282794848722265839404121608"},"visibility":"internal"},{"constant":true,"id":280,"mutability":"constant","name":"S2y","nameLocation":"2365:3:1","nodeType":"VariableDeclaration","scope":455,"src":"2348:98:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":278,"name":"uint256","nodeType":"ElementaryTypeName","src":"2348:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313938303831323536363739333937343730313137303738313835333738373836363832313334313637393737373637343831393336313036373330393333363538323136343030323035","id":279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2371:75:1","typeDescriptions":{"typeIdentifier":"t_rational_198081256679397470117078185378786682134167977767481936106730933658216400205_by_1","typeString":"int_const 1980...(67 digits omitted)...0205"},"value":"198081256679397470117078185378786682134167977767481936106730933658216400205"},"visibility":"internal"},{"constant":true,"id":283,"mutability":"constant","name":"S3x","nameLocation":"2469:3:1","nodeType":"VariableDeclaration","scope":455,"src":"2452:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":281,"name":"uint256","nodeType":"ElementaryTypeName","src":"2452:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135363037333634343837373134393133333036313030343436323130313035363139333538373333363736303738303336353632333032313531353835303538363433373135323332323535","id":282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2475:77:1","typeDescriptions":{"typeIdentifier":"t_rational_15607364487714913306100446210105619358733676078036562302151585058643715232255_by_1","typeString":"int_const 1560...(69 digits omitted)...2255"},"value":"15607364487714913306100446210105619358733676078036562302151585058643715232255"},"visibility":"internal"},{"constant":true,"id":286,"mutability":"constant","name":"S3y","nameLocation":"2575:3:1","nodeType":"VariableDeclaration","scope":455,"src":"2558:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":284,"name":"uint256","nodeType":"ElementaryTypeName","src":"2558:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136343138323033383935393332313031393731363631353130333137373137373539303135353638313331393832323837323233393331313336353034383131313930323030393730343232","id":285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2581:77:1","typeDescriptions":{"typeIdentifier":"t_rational_16418203895932101971661510317717759015568131982287223931136504811190200970422_by_1","typeString":"int_const 1641...(69 digits omitted)...0422"},"value":"16418203895932101971661510317717759015568131982287223931136504811190200970422"},"visibility":"internal"},{"constant":true,"id":289,"mutability":"constant","name":"k1","nameLocation":"2681:2:1","nodeType":"VariableDeclaration","scope":455,"src":"2664:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":287,"name":"uint256","nodeType":"ElementaryTypeName","src":"2664:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2686:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":292,"mutability":"constant","name":"k2","nameLocation":"2710:2:1","nodeType":"VariableDeclaration","scope":455,"src":"2693:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":290,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2715:1:1","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"internal"},{"constant":true,"id":295,"mutability":"constant","name":"X2x1","nameLocation":"2739:4:1","nodeType":"VariableDeclaration","scope":455,"src":"2722:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":293,"name":"uint256","nodeType":"ElementaryTypeName","src":"2722:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"37353530313731313431343839363432333233333435343936363833373337323434323737303833323536343234303034373037373135393938343833343039353430303430353837343636","id":294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2746:76:1","typeDescriptions":{"typeIdentifier":"t_rational_7550171141489642323345496683737244277083256424004707715998483409540040587466_by_1","typeString":"int_const 7550...(68 digits omitted)...7466"},"value":"7550171141489642323345496683737244277083256424004707715998483409540040587466"},"visibility":"internal"},{"constant":true,"id":298,"mutability":"constant","name":"X2x2","nameLocation":"2845:4:1","nodeType":"VariableDeclaration","scope":455,"src":"2828:101:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":296,"name":"uint256","nodeType":"ElementaryTypeName","src":"2828:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133363734333237323831343536363030383935363037383139383438363832313539353032393536363038343739373335393735373632323138343131353939303333393831353539393638","id":297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2852:77:1","typeDescriptions":{"typeIdentifier":"t_rational_13674327281456600895607819848682159502956608479735975762218411599033981559968_by_1","typeString":"int_const 1367...(69 digits omitted)...9968"},"value":"13674327281456600895607819848682159502956608479735975762218411599033981559968"},"visibility":"internal"},{"constant":true,"id":301,"mutability":"constant","name":"X2y1","nameLocation":"2952:4:1","nodeType":"VariableDeclaration","scope":455,"src":"2935:101:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":299,"name":"uint256","nodeType":"ElementaryTypeName","src":"2935:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136333239343237363535393135393434393038343834393734303630383938373631363833393734363436333138303734363339313938303033313837313534353235323534313736353230","id":300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2959:77:1","typeDescriptions":{"typeIdentifier":"t_rational_16329427655915944908484974060898761683974646318074639198003187154525254176520_by_1","typeString":"int_const 1632...(69 digits omitted)...6520"},"value":"16329427655915944908484974060898761683974646318074639198003187154525254176520"},"visibility":"internal"},{"constant":true,"id":304,"mutability":"constant","name":"X2y2","nameLocation":"3059:4:1","nodeType":"VariableDeclaration","scope":455,"src":"3042:101:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":302,"name":"uint256","nodeType":"ElementaryTypeName","src":"3042:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139363034363331363533303430323033393131353233343934323133363738313838303035393837363232313934353435353732353239363038383335313833393336353639383230393930","id":303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3066:77:1","typeDescriptions":{"typeIdentifier":"t_rational_19604631653040203911523494213678188005987622194545572529608835183936569820990_by_1","typeString":"int_const 1960...(69 digits omitted)...0990"},"value":"19604631653040203911523494213678188005987622194545572529608835183936569820990"},"visibility":"internal"},{"constant":true,"id":307,"mutability":"constant","name":"q","nameLocation":"3171:1:1","nodeType":"VariableDeclaration","scope":455,"src":"3154:98:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":305,"name":"uint256","nodeType":"ElementaryTypeName","src":"3154:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137","id":306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3175:77:1","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1","typeString":"int_const 2188...(69 digits omitted)...5617"},"value":"21888242871839275222246405745257275088548364400416034343698204186575808495617"},"visibility":"internal"},{"constant":true,"id":310,"mutability":"constant","name":"qf","nameLocation":"3275:2:1","nodeType":"VariableDeclaration","scope":455,"src":"3258:99:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":308,"name":"uint256","nodeType":"ElementaryTypeName","src":"3258:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833","id":309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3280:77:1","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1","typeString":"int_const 2188...(69 digits omitted)...8583"},"value":"21888242871839275222246405745257275088696311157297823662689037894645226208583"},"visibility":"internal"},{"constant":true,"id":313,"mutability":"constant","name":"w1","nameLocation":"3380:2:1","nodeType":"VariableDeclaration","scope":455,"src":"3363:99:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":311,"name":"uint256","nodeType":"ElementaryTypeName","src":"3363:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3230343032393331373438383433353338393835313531303031323634353330303439383734383731353732393333363934363334383336353637303730363933393636313333373833383033","id":312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3385:77:1","typeDescriptions":{"typeIdentifier":"t_rational_20402931748843538985151001264530049874871572933694634836567070693966133783803_by_1","typeString":"int_const 2040...(69 digits omitted)...3803"},"value":"20402931748843538985151001264530049874871572933694634836567070693966133783803"},"visibility":"internal"},{"constant":true,"id":316,"mutability":"constant","name":"G1x","nameLocation":"3494:3:1","nodeType":"VariableDeclaration","scope":455,"src":"3477:24:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":314,"name":"uint256","nodeType":"ElementaryTypeName","src":"3477:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3500:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":319,"mutability":"constant","name":"G1y","nameLocation":"3524:3:1","nodeType":"VariableDeclaration","scope":455,"src":"3507:24:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":317,"name":"uint256","nodeType":"ElementaryTypeName","src":"3507:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3530:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":322,"mutability":"constant","name":"G2x1","nameLocation":"3554:4:1","nodeType":"VariableDeclaration","scope":455,"src":"3537:101:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":320,"name":"uint256","nodeType":"ElementaryTypeName","src":"3537:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831","id":321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3561:77:1","typeDescriptions":{"typeIdentifier":"t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1","typeString":"int_const 1085...(69 digits omitted)...2781"},"value":"10857046999023057135944570762232829481370756359578518086990519993285655852781"},"visibility":"internal"},{"constant":true,"id":325,"mutability":"constant","name":"G2x2","nameLocation":"3661:4:1","nodeType":"VariableDeclaration","scope":455,"src":"3644:101:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":323,"name":"uint256","nodeType":"ElementaryTypeName","src":"3644:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334","id":324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3668:77:1","typeDescriptions":{"typeIdentifier":"t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1","typeString":"int_const 1155...(69 digits omitted)...5634"},"value":"11559732032986387107991004021392285783925812861821192530917403151452391805634"},"visibility":"internal"},{"constant":true,"id":328,"mutability":"constant","name":"G2y1","nameLocation":"3768:4:1","nodeType":"VariableDeclaration","scope":455,"src":"3751:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":326,"name":"uint256","nodeType":"ElementaryTypeName","src":"3751:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330","id":327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3775:76:1","typeDescriptions":{"typeIdentifier":"t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1","typeString":"int_const 8495...(68 digits omitted)...1930"},"value":"8495653923123431417604973247489272438418190587263600148770280649306958101930"},"visibility":"internal"},{"constant":true,"id":331,"mutability":"constant","name":"G2y2","nameLocation":"3874:4:1","nodeType":"VariableDeclaration","scope":455,"src":"3857:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":329,"name":"uint256","nodeType":"ElementaryTypeName","src":"3857:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331","id":330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3881:76:1","typeDescriptions":{"typeIdentifier":"t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1","typeString":"int_const 4082...(68 digits omitted)...3531"},"value":"4082367875863433681332203403145435568316851327593401208105741076214120093531"},"visibility":"internal"},{"constant":true,"id":334,"mutability":"constant","name":"pA","nameLocation":"3979:2:1","nodeType":"VariableDeclaration","scope":455,"src":"3963:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":332,"name":"uint16","nodeType":"ElementaryTypeName","src":"3963:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3984:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":337,"mutability":"constant","name":"pB","nameLocation":"4008:2:1","nodeType":"VariableDeclaration","scope":455,"src":"3992:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":335,"name":"uint16","nodeType":"ElementaryTypeName","src":"3992:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4013:2:1","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":340,"mutability":"constant","name":"pC","nameLocation":"4037:2:1","nodeType":"VariableDeclaration","scope":455,"src":"4021:24:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":338,"name":"uint16","nodeType":"ElementaryTypeName","src":"4021:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4042:3:1","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":343,"mutability":"constant","name":"pZ","nameLocation":"4067:2:1","nodeType":"VariableDeclaration","scope":455,"src":"4051:24:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":341,"name":"uint16","nodeType":"ElementaryTypeName","src":"4051:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4072:3:1","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":346,"mutability":"constant","name":"pT1","nameLocation":"4097:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4081:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":344,"name":"uint16","nodeType":"ElementaryTypeName","src":"4081:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4103:3:1","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":349,"mutability":"constant","name":"pT2","nameLocation":"4128:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4112:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":347,"name":"uint16","nodeType":"ElementaryTypeName","src":"4112:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4134:3:1","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":352,"mutability":"constant","name":"pT3","nameLocation":"4159:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4143:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":350,"name":"uint16","nodeType":"ElementaryTypeName","src":"4143:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4165:3:1","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":355,"mutability":"constant","name":"pWxi","nameLocation":"4190:4:1","nodeType":"VariableDeclaration","scope":455,"src":"4174:26:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":353,"name":"uint16","nodeType":"ElementaryTypeName","src":"4174:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4197:3:1","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":358,"mutability":"constant","name":"pWxiw","nameLocation":"4222:5:1","nodeType":"VariableDeclaration","scope":455,"src":"4206:27:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":356,"name":"uint16","nodeType":"ElementaryTypeName","src":"4206:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4230:3:1","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":361,"mutability":"constant","name":"pEval_a","nameLocation":"4255:7:1","nodeType":"VariableDeclaration","scope":455,"src":"4239:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":359,"name":"uint16","nodeType":"ElementaryTypeName","src":"4239:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4265:3:1","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":364,"mutability":"constant","name":"pEval_b","nameLocation":"4290:7:1","nodeType":"VariableDeclaration","scope":455,"src":"4274:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":362,"name":"uint16","nodeType":"ElementaryTypeName","src":"4274:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4300:3:1","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":367,"mutability":"constant","name":"pEval_c","nameLocation":"4325:7:1","nodeType":"VariableDeclaration","scope":455,"src":"4309:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":365,"name":"uint16","nodeType":"ElementaryTypeName","src":"4309:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4335:3:1","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":370,"mutability":"constant","name":"pEval_s1","nameLocation":"4360:8:1","nodeType":"VariableDeclaration","scope":455,"src":"4344:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":368,"name":"uint16","nodeType":"ElementaryTypeName","src":"4344:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4371:3:1","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"constant":true,"id":373,"mutability":"constant","name":"pEval_s2","nameLocation":"4396:8:1","nodeType":"VariableDeclaration","scope":455,"src":"4380:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":371,"name":"uint16","nodeType":"ElementaryTypeName","src":"4380:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373336","id":372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4407:3:1","typeDescriptions":{"typeIdentifier":"t_rational_736_by_1","typeString":"int_const 736"},"value":"736"},"visibility":"internal"},{"constant":true,"id":376,"mutability":"constant","name":"pEval_zw","nameLocation":"4432:8:1","nodeType":"VariableDeclaration","scope":455,"src":"4416:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":374,"name":"uint16","nodeType":"ElementaryTypeName","src":"4416:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373638","id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4443:3:1","typeDescriptions":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"},"value":"768"},"visibility":"internal"},{"constant":true,"id":379,"mutability":"constant","name":"pEval_r","nameLocation":"4468:7:1","nodeType":"VariableDeclaration","scope":455,"src":"4452:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":377,"name":"uint16","nodeType":"ElementaryTypeName","src":"4452:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"383030","id":378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4478:3:1","typeDescriptions":{"typeIdentifier":"t_rational_800_by_1","typeString":"int_const 800"},"value":"800"},"visibility":"internal"},{"constant":true,"id":382,"mutability":"constant","name":"pAlpha","nameLocation":"4508:6:1","nodeType":"VariableDeclaration","scope":455,"src":"4492:26:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":380,"name":"uint16","nodeType":"ElementaryTypeName","src":"4492:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"30","id":381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4517:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"constant":true,"id":385,"mutability":"constant","name":"pBeta","nameLocation":"4540:5:1","nodeType":"VariableDeclaration","scope":455,"src":"4524:26:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":383,"name":"uint16","nodeType":"ElementaryTypeName","src":"4524:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4548:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":388,"mutability":"constant","name":"pGamma","nameLocation":"4572:6:1","nodeType":"VariableDeclaration","scope":455,"src":"4556:27:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":386,"name":"uint16","nodeType":"ElementaryTypeName","src":"4556:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3634","id":387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4581:2:1","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"visibility":"internal"},{"constant":true,"id":391,"mutability":"constant","name":"pXi","nameLocation":"4605:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4589:24:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":389,"name":"uint16","nodeType":"ElementaryTypeName","src":"4589:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4611:2:1","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":394,"mutability":"constant","name":"pXin","nameLocation":"4635:4:1","nodeType":"VariableDeclaration","scope":455,"src":"4619:26:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":392,"name":"uint16","nodeType":"ElementaryTypeName","src":"4619:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313238","id":393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4642:3:1","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"visibility":"internal"},{"constant":true,"id":397,"mutability":"constant","name":"pBetaXi","nameLocation":"4667:7:1","nodeType":"VariableDeclaration","scope":455,"src":"4651:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":395,"name":"uint16","nodeType":"ElementaryTypeName","src":"4651:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4677:3:1","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":400,"mutability":"constant","name":"pV1","nameLocation":"4702:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4686:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":398,"name":"uint16","nodeType":"ElementaryTypeName","src":"4686:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313932","id":399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4708:3:1","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"visibility":"internal"},{"constant":true,"id":403,"mutability":"constant","name":"pV2","nameLocation":"4733:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4717:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":401,"name":"uint16","nodeType":"ElementaryTypeName","src":"4717:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4739:3:1","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":406,"mutability":"constant","name":"pV3","nameLocation":"4764:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4748:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":404,"name":"uint16","nodeType":"ElementaryTypeName","src":"4748:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323536","id":405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4770:3:1","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"visibility":"internal"},{"constant":true,"id":409,"mutability":"constant","name":"pV4","nameLocation":"4795:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4779:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":407,"name":"uint16","nodeType":"ElementaryTypeName","src":"4779:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4801:3:1","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":412,"mutability":"constant","name":"pV5","nameLocation":"4826:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4810:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":410,"name":"uint16","nodeType":"ElementaryTypeName","src":"4810:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333230","id":411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4832:3:1","typeDescriptions":{"typeIdentifier":"t_rational_320_by_1","typeString":"int_const 320"},"value":"320"},"visibility":"internal"},{"constant":true,"id":415,"mutability":"constant","name":"pV6","nameLocation":"4857:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4841:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":413,"name":"uint16","nodeType":"ElementaryTypeName","src":"4841:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4863:3:1","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":418,"mutability":"constant","name":"pU","nameLocation":"4888:2:1","nodeType":"VariableDeclaration","scope":455,"src":"4872:24:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":416,"name":"uint16","nodeType":"ElementaryTypeName","src":"4872:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333834","id":417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4893:3:1","typeDescriptions":{"typeIdentifier":"t_rational_384_by_1","typeString":"int_const 384"},"value":"384"},"visibility":"internal"},{"constant":true,"id":421,"mutability":"constant","name":"pPl","nameLocation":"4918:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4902:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":419,"name":"uint16","nodeType":"ElementaryTypeName","src":"4902:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4924:3:1","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":424,"mutability":"constant","name":"pEval_t","nameLocation":"4949:7:1","nodeType":"VariableDeclaration","scope":455,"src":"4933:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":422,"name":"uint16","nodeType":"ElementaryTypeName","src":"4933:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343438","id":423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4959:3:1","typeDescriptions":{"typeIdentifier":"t_rational_448_by_1","typeString":"int_const 448"},"value":"448"},"visibility":"internal"},{"constant":true,"id":427,"mutability":"constant","name":"pA1","nameLocation":"4984:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4968:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":425,"name":"uint16","nodeType":"ElementaryTypeName","src":"4968:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4990:3:1","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":430,"mutability":"constant","name":"pB1","nameLocation":"5015:3:1","nodeType":"VariableDeclaration","scope":455,"src":"4999:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":428,"name":"uint16","nodeType":"ElementaryTypeName","src":"4999:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5021:3:1","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":433,"mutability":"constant","name":"pZh","nameLocation":"5046:3:1","nodeType":"VariableDeclaration","scope":455,"src":"5030:25:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":431,"name":"uint16","nodeType":"ElementaryTypeName","src":"5030:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5052:3:1","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":436,"mutability":"constant","name":"pZhInv","nameLocation":"5077:6:1","nodeType":"VariableDeclaration","scope":455,"src":"5061:28:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":434,"name":"uint16","nodeType":"ElementaryTypeName","src":"5061:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5086:3:1","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":439,"mutability":"constant","name":"pEval_l1","nameLocation":"5116:8:1","nodeType":"VariableDeclaration","scope":455,"src":"5100:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":437,"name":"uint16","nodeType":"ElementaryTypeName","src":"5100:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5127:3:1","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":442,"mutability":"constant","name":"lastMem","nameLocation":"5167:7:1","nodeType":"VariableDeclaration","scope":455,"src":"5151:29:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":440,"name":"uint16","nodeType":"ElementaryTypeName","src":"5151:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5177:3:1","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"body":{"id":453,"nodeType":"Block","src":"5281:19457:1","statements":[{"AST":{"nativeSrc":"5300:19423:1","nodeType":"YulBlock","src":"5300:19423:1","statements":[{"body":{"nativeSrc":"5463:694:1","nodeType":"YulBlock","src":"5463:694:1","statements":[{"nativeSrc":"5481:10:1","nodeType":"YulVariableDeclaration","src":"5481:10:1","value":{"kind":"number","nativeSrc":"5490:1:1","nodeType":"YulLiteral","src":"5490:1:1","type":"","value":"0"},"variables":[{"name":"t","nativeSrc":"5485:1:1","nodeType":"YulTypedName","src":"5485:1:1","type":""}]},{"nativeSrc":"5513:13:1","nodeType":"YulVariableDeclaration","src":"5513:13:1","value":{"kind":"number","nativeSrc":"5525:1:1","nodeType":"YulLiteral","src":"5525:1:1","type":"","value":"1"},"variables":[{"name":"newt","nativeSrc":"5517:4:1","nodeType":"YulTypedName","src":"5517:4:1","type":""}]},{"nativeSrc":"5543:10:1","nodeType":"YulVariableDeclaration","src":"5543:10:1","value":{"name":"q","nativeSrc":"5552:1:1","nodeType":"YulIdentifier","src":"5552:1:1"},"variables":[{"name":"r","nativeSrc":"5547:1:1","nodeType":"YulTypedName","src":"5547:1:1","type":""}]},{"nativeSrc":"5575:13:1","nodeType":"YulVariableDeclaration","src":"5575:13:1","value":{"name":"a","nativeSrc":"5587:1:1","nodeType":"YulIdentifier","src":"5587:1:1"},"variables":[{"name":"newr","nativeSrc":"5579:4:1","nodeType":"YulTypedName","src":"5579:4:1","type":""}]},{"nativeSrc":"5605:12:1","nodeType":"YulVariableDeclaration","src":"5605:12:1","variables":[{"name":"quotient","nativeSrc":"5609:8:1","nodeType":"YulTypedName","src":"5609:8:1","type":""}]},{"nativeSrc":"5634:7:1","nodeType":"YulVariableDeclaration","src":"5634:7:1","variables":[{"name":"aux","nativeSrc":"5638:3:1","nodeType":"YulTypedName","src":"5638:3:1","type":""}]},{"body":{"nativeSrc":"5692:317:1","nodeType":"YulBlock","src":"5692:317:1","statements":[{"nativeSrc":"5714:25:1","nodeType":"YulAssignment","src":"5714:25:1","value":{"arguments":[{"name":"r","nativeSrc":"5731:1:1","nodeType":"YulIdentifier","src":"5731:1:1"},{"name":"newr","nativeSrc":"5734:4:1","nodeType":"YulIdentifier","src":"5734:4:1"}],"functionName":{"name":"sdiv","nativeSrc":"5726:4:1","nodeType":"YulIdentifier","src":"5726:4:1"},"nativeSrc":"5726:13:1","nodeType":"YulFunctionCall","src":"5726:13:1"},"variableNames":[{"name":"quotient","nativeSrc":"5714:8:1","nodeType":"YulIdentifier","src":"5714:8:1"}]},{"nativeSrc":"5760:34:1","nodeType":"YulAssignment","src":"5760:34:1","value":{"arguments":[{"name":"t","nativeSrc":"5771:1:1","nodeType":"YulIdentifier","src":"5771:1:1"},{"arguments":[{"name":"quotient","nativeSrc":"5778:8:1","nodeType":"YulIdentifier","src":"5778:8:1"},{"name":"newt","nativeSrc":"5788:4:1","nodeType":"YulIdentifier","src":"5788:4:1"}],"functionName":{"name":"mul","nativeSrc":"5774:3:1","nodeType":"YulIdentifier","src":"5774:3:1"},"nativeSrc":"5774:19:1","nodeType":"YulFunctionCall","src":"5774:19:1"}],"functionName":{"name":"sub","nativeSrc":"5767:3:1","nodeType":"YulIdentifier","src":"5767:3:1"},"nativeSrc":"5767:27:1","nodeType":"YulFunctionCall","src":"5767:27:1"},"variableNames":[{"name":"aux","nativeSrc":"5760:3:1","nodeType":"YulIdentifier","src":"5760:3:1"}]},{"nativeSrc":"5815:8:1","nodeType":"YulAssignment","src":"5815:8:1","value":{"name":"newt","nativeSrc":"5819:4:1","nodeType":"YulIdentifier","src":"5819:4:1"},"variableNames":[{"name":"t","nativeSrc":"5815:1:1","nodeType":"YulIdentifier","src":"5815:1:1"}]},{"nativeSrc":"5844:10:1","nodeType":"YulAssignment","src":"5844:10:1","value":{"name":"aux","nativeSrc":"5851:3:1","nodeType":"YulIdentifier","src":"5851:3:1"},"variableNames":[{"name":"newt","nativeSrc":"5844:4:1","nodeType":"YulIdentifier","src":"5844:4:1"}]},{"nativeSrc":"5896:33:1","nodeType":"YulAssignment","src":"5896:33:1","value":{"arguments":[{"name":"r","nativeSrc":"5907:1:1","nodeType":"YulIdentifier","src":"5907:1:1"},{"arguments":[{"name":"quotient","nativeSrc":"5913:8:1","nodeType":"YulIdentifier","src":"5913:8:1"},{"name":"newr","nativeSrc":"5923:4:1","nodeType":"YulIdentifier","src":"5923:4:1"}],"functionName":{"name":"mul","nativeSrc":"5909:3:1","nodeType":"YulIdentifier","src":"5909:3:1"},"nativeSrc":"5909:19:1","nodeType":"YulFunctionCall","src":"5909:19:1"}],"functionName":{"name":"sub","nativeSrc":"5903:3:1","nodeType":"YulIdentifier","src":"5903:3:1"},"nativeSrc":"5903:26:1","nodeType":"YulFunctionCall","src":"5903:26:1"},"variableNames":[{"name":"aux","nativeSrc":"5896:3:1","nodeType":"YulIdentifier","src":"5896:3:1"}]},{"nativeSrc":"5950:9:1","nodeType":"YulAssignment","src":"5950:9:1","value":{"name":"newr","nativeSrc":"5955:4:1","nodeType":"YulIdentifier","src":"5955:4:1"},"variableNames":[{"name":"r","nativeSrc":"5950:1:1","nodeType":"YulIdentifier","src":"5950:1:1"}]},{"nativeSrc":"5980:11:1","nodeType":"YulAssignment","src":"5980:11:1","value":{"name":"aux","nativeSrc":"5988:3:1","nodeType":"YulIdentifier","src":"5988:3:1"},"variableNames":[{"name":"newr","nativeSrc":"5980:4:1","nodeType":"YulIdentifier","src":"5980:4:1"}]}]},"condition":{"name":"newr","nativeSrc":"5683:4:1","nodeType":"YulIdentifier","src":"5683:4:1"},"nativeSrc":"5675:334:1","nodeType":"YulForLoop","post":{"nativeSrc":"5688:3:1","nodeType":"YulBlock","src":"5688:3:1","statements":[]},"pre":{"nativeSrc":"5679:3:1","nodeType":"YulBlock","src":"5679:3:1","statements":[]},"src":"5675:334:1"},{"body":{"nativeSrc":"6055:15:1","nodeType":"YulBlock","src":"6055:15:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6064:1:1","nodeType":"YulLiteral","src":"6064:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"6066:1:1","nodeType":"YulLiteral","src":"6066:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6057:6:1","nodeType":"YulIdentifier","src":"6057:6:1"},"nativeSrc":"6057:11:1","nodeType":"YulFunctionCall","src":"6057:11:1"},"nativeSrc":"6057:11:1","nodeType":"YulExpressionStatement","src":"6057:11:1"}]},"condition":{"arguments":[{"name":"r","nativeSrc":"6049:1:1","nodeType":"YulIdentifier","src":"6049:1:1"},{"kind":"number","nativeSrc":"6052:1:1","nodeType":"YulLiteral","src":"6052:1:1","type":"","value":"1"}],"functionName":{"name":"gt","nativeSrc":"6046:2:1","nodeType":"YulIdentifier","src":"6046:2:1"},"nativeSrc":"6046:8:1","nodeType":"YulFunctionCall","src":"6046:8:1"},"nativeSrc":"6043:27:1","nodeType":"YulIf","src":"6043:27:1"},{"body":{"nativeSrc":"6100:17:1","nodeType":"YulBlock","src":"6100:17:1","statements":[{"nativeSrc":"6102:13:1","nodeType":"YulAssignment","src":"6102:13:1","value":{"arguments":[{"name":"t","nativeSrc":"6110:1:1","nodeType":"YulIdentifier","src":"6110:1:1"},{"name":"q","nativeSrc":"6113:1:1","nodeType":"YulIdentifier","src":"6113:1:1"}],"functionName":{"name":"add","nativeSrc":"6106:3:1","nodeType":"YulIdentifier","src":"6106:3:1"},"nativeSrc":"6106:9:1","nodeType":"YulFunctionCall","src":"6106:9:1"},"variableNames":[{"name":"t","nativeSrc":"6102:1:1","nodeType":"YulIdentifier","src":"6102:1:1"}]}]},"condition":{"arguments":[{"name":"t","nativeSrc":"6094:1:1","nodeType":"YulIdentifier","src":"6094:1:1"},{"kind":"number","nativeSrc":"6097:1:1","nodeType":"YulLiteral","src":"6097:1:1","type":"","value":"0"}],"functionName":{"name":"slt","nativeSrc":"6090:3:1","nodeType":"YulIdentifier","src":"6090:3:1"},"nativeSrc":"6090:9:1","nodeType":"YulFunctionCall","src":"6090:9:1"},"nativeSrc":"6087:30:1","nodeType":"YulIf","src":"6087:30:1"},{"nativeSrc":"6135:8:1","nodeType":"YulAssignment","src":"6135:8:1","value":{"name":"t","nativeSrc":"6142:1:1","nodeType":"YulIdentifier","src":"6142:1:1"},"variableNames":[{"name":"inv","nativeSrc":"6135:3:1","nodeType":"YulIdentifier","src":"6135:3:1"}]}]},"name":"inverse","nativeSrc":"5433:724:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"a","nativeSrc":"5450:1:1","nodeType":"YulTypedName","src":"5450:1:1","type":""},{"name":"q","nativeSrc":"5453:1:1","nodeType":"YulTypedName","src":"5453:1:1","type":""}],"returnVariables":[{"name":"inv","nativeSrc":"5459:3:1","nodeType":"YulTypedName","src":"5459:3:1","type":""}],"src":"5433:724:1"},{"body":{"nativeSrc":"6431:1485:1","nodeType":"YulBlock","src":"6431:1485:1","statements":[{"nativeSrc":"6454:23:1","nodeType":"YulVariableDeclaration","src":"6454:23:1","value":{"arguments":[{"kind":"number","nativeSrc":"6472:4:1","nodeType":"YulLiteral","src":"6472:4:1","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6466:5:1","nodeType":"YulIdentifier","src":"6466:5:1"},"nativeSrc":"6466:11:1","nodeType":"YulFunctionCall","src":"6466:11:1"},"variables":[{"name":"pAux","nativeSrc":"6458:4:1","nodeType":"YulTypedName","src":"6458:4:1","type":""}]},{"nativeSrc":"6533:16:1","nodeType":"YulVariableDeclaration","src":"6533:16:1","value":{"name":"pVals","nativeSrc":"6544:5:1","nodeType":"YulIdentifier","src":"6544:5:1"},"variables":[{"name":"pIn","nativeSrc":"6537:3:1","nodeType":"YulTypedName","src":"6537:3:1","type":""}]},{"nativeSrc":"6566:37:1","nodeType":"YulVariableDeclaration","src":"6566:37:1","value":{"arguments":[{"name":"pVals","nativeSrc":"6585:5:1","nodeType":"YulIdentifier","src":"6585:5:1"},{"arguments":[{"name":"n","nativeSrc":"6596:1:1","nodeType":"YulIdentifier","src":"6596:1:1"},{"kind":"number","nativeSrc":"6599:2:1","nodeType":"YulLiteral","src":"6599:2:1","type":"","value":"32"}],"functionName":{"name":"mul","nativeSrc":"6592:3:1","nodeType":"YulIdentifier","src":"6592:3:1"},"nativeSrc":"6592:10:1","nodeType":"YulFunctionCall","src":"6592:10:1"}],"functionName":{"name":"add","nativeSrc":"6581:3:1","nodeType":"YulIdentifier","src":"6581:3:1"},"nativeSrc":"6581:22:1","nodeType":"YulFunctionCall","src":"6581:22:1"},"variables":[{"name":"lastPIn","nativeSrc":"6570:7:1","nodeType":"YulTypedName","src":"6570:7:1","type":""}]},{"nativeSrc":"6639:21:1","nodeType":"YulVariableDeclaration","src":"6639:21:1","value":{"arguments":[{"name":"pIn","nativeSrc":"6656:3:1","nodeType":"YulIdentifier","src":"6656:3:1"}],"functionName":{"name":"mload","nativeSrc":"6650:5:1","nodeType":"YulIdentifier","src":"6650:5:1"},"nativeSrc":"6650:10:1","nodeType":"YulFunctionCall","src":"6650:10:1"},"variables":[{"name":"acc","nativeSrc":"6643:3:1","nodeType":"YulTypedName","src":"6643:3:1","type":""}]},{"nativeSrc":"6709:19:1","nodeType":"YulAssignment","src":"6709:19:1","value":{"arguments":[{"name":"pIn","nativeSrc":"6720:3:1","nodeType":"YulIdentifier","src":"6720:3:1"},{"kind":"number","nativeSrc":"6725:2:1","nodeType":"YulLiteral","src":"6725:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6716:3:1","nodeType":"YulIdentifier","src":"6716:3:1"},"nativeSrc":"6716:12:1","nodeType":"YulFunctionCall","src":"6716:12:1"},"variableNames":[{"name":"pIn","nativeSrc":"6709:3:1","nodeType":"YulIdentifier","src":"6709:3:1"}]},{"nativeSrc":"6784:7:1","nodeType":"YulVariableDeclaration","src":"6784:7:1","variables":[{"name":"inv","nativeSrc":"6788:3:1","nodeType":"YulTypedName","src":"6788:3:1","type":""}]},{"body":{"nativeSrc":"6976:111:1","nodeType":"YulBlock","src":"6976:111:1","statements":[{"expression":{"arguments":[{"name":"pAux","nativeSrc":"7005:4:1","nodeType":"YulIdentifier","src":"7005:4:1"},{"name":"acc","nativeSrc":"7011:3:1","nodeType":"YulIdentifier","src":"7011:3:1"}],"functionName":{"name":"mstore","nativeSrc":"6998:6:1","nodeType":"YulIdentifier","src":"6998:6:1"},"nativeSrc":"6998:17:1","nodeType":"YulFunctionCall","src":"6998:17:1"},"nativeSrc":"6998:17:1","nodeType":"YulExpressionStatement","src":"6998:17:1"},{"nativeSrc":"7036:33:1","nodeType":"YulAssignment","src":"7036:33:1","value":{"arguments":[{"name":"acc","nativeSrc":"7050:3:1","nodeType":"YulIdentifier","src":"7050:3:1"},{"arguments":[{"name":"pIn","nativeSrc":"7061:3:1","nodeType":"YulIdentifier","src":"7061:3:1"}],"functionName":{"name":"mload","nativeSrc":"7055:5:1","nodeType":"YulIdentifier","src":"7055:5:1"},"nativeSrc":"7055:10:1","nodeType":"YulFunctionCall","src":"7055:10:1"},{"name":"q","nativeSrc":"7067:1:1","nodeType":"YulIdentifier","src":"7067:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"7043:6:1","nodeType":"YulIdentifier","src":"7043:6:1"},"nativeSrc":"7043:26:1","nodeType":"YulFunctionCall","src":"7043:26:1"},"variableNames":[{"name":"acc","nativeSrc":"7036:3:1","nodeType":"YulIdentifier","src":"7036:3:1"}]}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"6841:3:1","nodeType":"YulIdentifier","src":"6841:3:1"},{"name":"lastPIn","nativeSrc":"6846:7:1","nodeType":"YulIdentifier","src":"6846:7:1"}],"functionName":{"name":"lt","nativeSrc":"6838:2:1","nodeType":"YulIdentifier","src":"6838:2:1"},"nativeSrc":"6838:16:1","nodeType":"YulFunctionCall","src":"6838:16:1"},"nativeSrc":"6830:257:1","nodeType":"YulForLoop","post":{"nativeSrc":"6855:103:1","nodeType":"YulBlock","src":"6855:103:1","statements":[{"nativeSrc":"6878:21:1","nodeType":"YulAssignment","src":"6878:21:1","value":{"arguments":[{"name":"pAux","nativeSrc":"6890:4:1","nodeType":"YulIdentifier","src":"6890:4:1"},{"kind":"number","nativeSrc":"6896:2:1","nodeType":"YulLiteral","src":"6896:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6886:3:1","nodeType":"YulIdentifier","src":"6886:3:1"},"nativeSrc":"6886:13:1","nodeType":"YulFunctionCall","src":"6886:13:1"},"variableNames":[{"name":"pAux","nativeSrc":"6878:4:1","nodeType":"YulIdentifier","src":"6878:4:1"}]},{"nativeSrc":"6921:19:1","nodeType":"YulAssignment","src":"6921:19:1","value":{"arguments":[{"name":"pIn","nativeSrc":"6932:3:1","nodeType":"YulIdentifier","src":"6932:3:1"},{"kind":"number","nativeSrc":"6937:2:1","nodeType":"YulLiteral","src":"6937:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6928:3:1","nodeType":"YulIdentifier","src":"6928:3:1"},"nativeSrc":"6928:12:1","nodeType":"YulFunctionCall","src":"6928:12:1"},"variableNames":[{"name":"pIn","nativeSrc":"6921:3:1","nodeType":"YulIdentifier","src":"6921:3:1"}]}]},"pre":{"nativeSrc":"6834:3:1","nodeType":"YulBlock","src":"6834:3:1","statements":[]},"src":"6830:257:1"},{"nativeSrc":"7104:22:1","nodeType":"YulAssignment","src":"7104:22:1","value":{"arguments":[{"name":"acc","nativeSrc":"7119:3:1","nodeType":"YulIdentifier","src":"7119:3:1"},{"name":"q","nativeSrc":"7124:1:1","nodeType":"YulIdentifier","src":"7124:1:1"}],"functionName":{"name":"inverse","nativeSrc":"7111:7:1","nodeType":"YulIdentifier","src":"7111:7:1"},"nativeSrc":"7111:15:1","nodeType":"YulFunctionCall","src":"7111:15:1"},"variableNames":[{"name":"acc","nativeSrc":"7104:3:1","nodeType":"YulIdentifier","src":"7104:3:1"}]},{"nativeSrc":"7270:21:1","nodeType":"YulAssignment","src":"7270:21:1","value":{"arguments":[{"name":"pAux","nativeSrc":"7282:4:1","nodeType":"YulIdentifier","src":"7282:4:1"},{"kind":"number","nativeSrc":"7288:2:1","nodeType":"YulLiteral","src":"7288:2:1","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7278:3:1","nodeType":"YulIdentifier","src":"7278:3:1"},"nativeSrc":"7278:13:1","nodeType":"YulFunctionCall","src":"7278:13:1"},"variableNames":[{"name":"pAux","nativeSrc":"7270:4:1","nodeType":"YulIdentifier","src":"7270:4:1"}]},{"nativeSrc":"7385:19:1","nodeType":"YulAssignment","src":"7385:19:1","value":{"arguments":[{"name":"pIn","nativeSrc":"7396:3:1","nodeType":"YulIdentifier","src":"7396:3:1"},{"kind":"number","nativeSrc":"7401:2:1","nodeType":"YulLiteral","src":"7401:2:1","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7392:3:1","nodeType":"YulIdentifier","src":"7392:3:1"},"nativeSrc":"7392:12:1","nodeType":"YulFunctionCall","src":"7392:12:1"},"variableNames":[{"name":"pIn","nativeSrc":"7385:3:1","nodeType":"YulIdentifier","src":"7385:3:1"}]},{"nativeSrc":"7421:16:1","nodeType":"YulAssignment","src":"7421:16:1","value":{"name":"pVals","nativeSrc":"7432:5:1","nodeType":"YulIdentifier","src":"7432:5:1"},"variableNames":[{"name":"lastPIn","nativeSrc":"7421:7:1","nodeType":"YulIdentifier","src":"7421:7:1"}]},{"body":{"nativeSrc":"7640:165:1","nodeType":"YulBlock","src":"7640:165:1","statements":[{"nativeSrc":"7662:34:1","nodeType":"YulAssignment","src":"7662:34:1","value":{"arguments":[{"name":"acc","nativeSrc":"7676:3:1","nodeType":"YulIdentifier","src":"7676:3:1"},{"arguments":[{"name":"pAux","nativeSrc":"7687:4:1","nodeType":"YulIdentifier","src":"7687:4:1"}],"functionName":{"name":"mload","nativeSrc":"7681:5:1","nodeType":"YulIdentifier","src":"7681:5:1"},"nativeSrc":"7681:11:1","nodeType":"YulFunctionCall","src":"7681:11:1"},{"name":"q","nativeSrc":"7694:1:1","nodeType":"YulIdentifier","src":"7694:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"7669:6:1","nodeType":"YulIdentifier","src":"7669:6:1"},"nativeSrc":"7669:27:1","nodeType":"YulFunctionCall","src":"7669:27:1"},"variableNames":[{"name":"inv","nativeSrc":"7662:3:1","nodeType":"YulIdentifier","src":"7662:3:1"}]},{"nativeSrc":"7717:33:1","nodeType":"YulAssignment","src":"7717:33:1","value":{"arguments":[{"name":"acc","nativeSrc":"7731:3:1","nodeType":"YulIdentifier","src":"7731:3:1"},{"arguments":[{"name":"pIn","nativeSrc":"7742:3:1","nodeType":"YulIdentifier","src":"7742:3:1"}],"functionName":{"name":"mload","nativeSrc":"7736:5:1","nodeType":"YulIdentifier","src":"7736:5:1"},"nativeSrc":"7736:10:1","nodeType":"YulFunctionCall","src":"7736:10:1"},{"name":"q","nativeSrc":"7748:1:1","nodeType":"YulIdentifier","src":"7748:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"7724:6:1","nodeType":"YulIdentifier","src":"7724:6:1"},"nativeSrc":"7724:26:1","nodeType":"YulFunctionCall","src":"7724:26:1"},"variableNames":[{"name":"acc","nativeSrc":"7717:3:1","nodeType":"YulIdentifier","src":"7717:3:1"}]},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7778:3:1","nodeType":"YulIdentifier","src":"7778:3:1"},{"name":"inv","nativeSrc":"7783:3:1","nodeType":"YulIdentifier","src":"7783:3:1"}],"functionName":{"name":"mstore","nativeSrc":"7771:6:1","nodeType":"YulIdentifier","src":"7771:6:1"},"nativeSrc":"7771:16:1","nodeType":"YulFunctionCall","src":"7771:16:1"},"nativeSrc":"7771:16:1","nodeType":"YulExpressionStatement","src":"7771:16:1"}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"7505:3:1","nodeType":"YulIdentifier","src":"7505:3:1"},{"name":"lastPIn","nativeSrc":"7510:7:1","nodeType":"YulIdentifier","src":"7510:7:1"}],"functionName":{"name":"gt","nativeSrc":"7502:2:1","nodeType":"YulIdentifier","src":"7502:2:1"},"nativeSrc":"7502:16:1","nodeType":"YulFunctionCall","src":"7502:16:1"},"nativeSrc":"7494:311:1","nodeType":"YulForLoop","post":{"nativeSrc":"7519:103:1","nodeType":"YulBlock","src":"7519:103:1","statements":[{"nativeSrc":"7542:21:1","nodeType":"YulAssignment","src":"7542:21:1","value":{"arguments":[{"name":"pAux","nativeSrc":"7554:4:1","nodeType":"YulIdentifier","src":"7554:4:1"},{"kind":"number","nativeSrc":"7560:2:1","nodeType":"YulLiteral","src":"7560:2:1","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7550:3:1","nodeType":"YulIdentifier","src":"7550:3:1"},"nativeSrc":"7550:13:1","nodeType":"YulFunctionCall","src":"7550:13:1"},"variableNames":[{"name":"pAux","nativeSrc":"7542:4:1","nodeType":"YulIdentifier","src":"7542:4:1"}]},{"nativeSrc":"7585:19:1","nodeType":"YulAssignment","src":"7585:19:1","value":{"arguments":[{"name":"pIn","nativeSrc":"7596:3:1","nodeType":"YulIdentifier","src":"7596:3:1"},{"kind":"number","nativeSrc":"7601:2:1","nodeType":"YulLiteral","src":"7601:2:1","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7592:3:1","nodeType":"YulIdentifier","src":"7592:3:1"},"nativeSrc":"7592:12:1","nodeType":"YulFunctionCall","src":"7592:12:1"},"variableNames":[{"name":"pIn","nativeSrc":"7585:3:1","nodeType":"YulIdentifier","src":"7585:3:1"}]}]},"pre":{"nativeSrc":"7498:3:1","nodeType":"YulBlock","src":"7498:3:1","statements":[]},"src":"7494:311:1"},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7893:3:1","nodeType":"YulIdentifier","src":"7893:3:1"},{"name":"acc","nativeSrc":"7898:3:1","nodeType":"YulIdentifier","src":"7898:3:1"}],"functionName":{"name":"mstore","nativeSrc":"7886:6:1","nodeType":"YulIdentifier","src":"7886:6:1"},"nativeSrc":"7886:16:1","nodeType":"YulFunctionCall","src":"7886:16:1"},"nativeSrc":"7886:16:1","nodeType":"YulExpressionStatement","src":"7886:16:1"}]},"name":"inverseArray","nativeSrc":"6399:1517:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pVals","nativeSrc":"6421:5:1","nodeType":"YulTypedName","src":"6421:5:1","type":""},{"name":"n","nativeSrc":"6428:1:1","nodeType":"YulTypedName","src":"6428:1:1","type":""}],"src":"6399:1517:1"},{"body":{"nativeSrc":"7965:139:1","nodeType":"YulBlock","src":"7965:139:1","statements":[{"body":{"nativeSrc":"8003:87:1","nodeType":"YulBlock","src":"8003:87:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8032:1:1","nodeType":"YulLiteral","src":"8032:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"8035:1:1","nodeType":"YulLiteral","src":"8035:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8025:6:1","nodeType":"YulIdentifier","src":"8025:6:1"},"nativeSrc":"8025:12:1","nodeType":"YulFunctionCall","src":"8025:12:1"},"nativeSrc":"8025:12:1","nodeType":"YulExpressionStatement","src":"8025:12:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8065:1:1","nodeType":"YulLiteral","src":"8065:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"8067:4:1","nodeType":"YulLiteral","src":"8067:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8058:6:1","nodeType":"YulIdentifier","src":"8058:6:1"},"nativeSrc":"8058:14:1","nodeType":"YulFunctionCall","src":"8058:14:1"},"nativeSrc":"8058:14:1","nodeType":"YulExpressionStatement","src":"8058:14:1"}]},"condition":{"arguments":[{"arguments":[{"name":"v","nativeSrc":"7996:1:1","nodeType":"YulIdentifier","src":"7996:1:1"},{"name":"q","nativeSrc":"7999:1:1","nodeType":"YulIdentifier","src":"7999:1:1"}],"functionName":{"name":"lt","nativeSrc":"7993:2:1","nodeType":"YulIdentifier","src":"7993:2:1"},"nativeSrc":"7993:8:1","nodeType":"YulFunctionCall","src":"7993:8:1"}],"functionName":{"name":"iszero","nativeSrc":"7986:6:1","nodeType":"YulIdentifier","src":"7986:6:1"},"nativeSrc":"7986:16:1","nodeType":"YulFunctionCall","src":"7986:16:1"},"nativeSrc":"7983:107:1","nodeType":"YulIf","src":"7983:107:1"}]},"name":"checkField","nativeSrc":"7942:162:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"v","nativeSrc":"7962:1:1","nodeType":"YulTypedName","src":"7962:1:1","type":""}],"src":"7942:162:1"},{"body":{"nativeSrc":"8158:640:1","nodeType":"YulBlock","src":"8158:640:1","statements":[{"body":{"nativeSrc":"8211:87:1","nodeType":"YulBlock","src":"8211:87:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8240:1:1","nodeType":"YulLiteral","src":"8240:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"8243:1:1","nodeType":"YulLiteral","src":"8243:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8233:6:1","nodeType":"YulIdentifier","src":"8233:6:1"},"nativeSrc":"8233:12:1","nodeType":"YulFunctionCall","src":"8233:12:1"},"nativeSrc":"8233:12:1","nodeType":"YulExpressionStatement","src":"8233:12:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8273:1:1","nodeType":"YulLiteral","src":"8273:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"8275:4:1","nodeType":"YulLiteral","src":"8275:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8266:6:1","nodeType":"YulIdentifier","src":"8266:6:1"},"nativeSrc":"8266:14:1","nodeType":"YulFunctionCall","src":"8266:14:1"},"nativeSrc":"8266:14:1","nodeType":"YulExpressionStatement","src":"8266:14:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8195:6:1","nodeType":"YulIdentifier","src":"8195:6:1"}],"functionName":{"name":"mload","nativeSrc":"8189:5:1","nodeType":"YulIdentifier","src":"8189:5:1"},"nativeSrc":"8189:13:1","nodeType":"YulFunctionCall","src":"8189:13:1"},{"kind":"number","nativeSrc":"8204:3:1","nodeType":"YulLiteral","src":"8204:3:1","type":"","value":"800"}],"functionName":{"name":"eq","nativeSrc":"8186:2:1","nodeType":"YulIdentifier","src":"8186:2:1"},"nativeSrc":"8186:23:1","nodeType":"YulFunctionCall","src":"8186:23:1"}],"functionName":{"name":"iszero","nativeSrc":"8179:6:1","nodeType":"YulIdentifier","src":"8179:6:1"},"nativeSrc":"8179:31:1","nodeType":"YulFunctionCall","src":"8179:31:1"},"nativeSrc":"8176:122:1","nodeType":"YulIf","src":"8176:122:1"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8336:6:1","nodeType":"YulIdentifier","src":"8336:6:1"},{"name":"pEval_a","nativeSrc":"8344:7:1","nodeType":"YulIdentifier","src":"8344:7:1"}],"functionName":{"name":"add","nativeSrc":"8332:3:1","nodeType":"YulIdentifier","src":"8332:3:1"},"nativeSrc":"8332:20:1","nodeType":"YulFunctionCall","src":"8332:20:1"}],"functionName":{"name":"mload","nativeSrc":"8326:5:1","nodeType":"YulIdentifier","src":"8326:5:1"},"nativeSrc":"8326:27:1","nodeType":"YulFunctionCall","src":"8326:27:1"}],"functionName":{"name":"checkField","nativeSrc":"8315:10:1","nodeType":"YulIdentifier","src":"8315:10:1"},"nativeSrc":"8315:39:1","nodeType":"YulFunctionCall","src":"8315:39:1"},"nativeSrc":"8315:39:1","nodeType":"YulExpressionStatement","src":"8315:39:1"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8392:6:1","nodeType":"YulIdentifier","src":"8392:6:1"},{"name":"pEval_b","nativeSrc":"8400:7:1","nodeType":"YulIdentifier","src":"8400:7:1"}],"functionName":{"name":"add","nativeSrc":"8388:3:1","nodeType":"YulIdentifier","src":"8388:3:1"},"nativeSrc":"8388:20:1","nodeType":"YulFunctionCall","src":"8388:20:1"}],"functionName":{"name":"mload","nativeSrc":"8382:5:1","nodeType":"YulIdentifier","src":"8382:5:1"},"nativeSrc":"8382:27:1","nodeType":"YulFunctionCall","src":"8382:27:1"}],"functionName":{"name":"checkField","nativeSrc":"8371:10:1","nodeType":"YulIdentifier","src":"8371:10:1"},"nativeSrc":"8371:39:1","nodeType":"YulFunctionCall","src":"8371:39:1"},"nativeSrc":"8371:39:1","nodeType":"YulExpressionStatement","src":"8371:39:1"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8448:6:1","nodeType":"YulIdentifier","src":"8448:6:1"},{"name":"pEval_c","nativeSrc":"8456:7:1","nodeType":"YulIdentifier","src":"8456:7:1"}],"functionName":{"name":"add","nativeSrc":"8444:3:1","nodeType":"YulIdentifier","src":"8444:3:1"},"nativeSrc":"8444:20:1","nodeType":"YulFunctionCall","src":"8444:20:1"}],"functionName":{"name":"mload","nativeSrc":"8438:5:1","nodeType":"YulIdentifier","src":"8438:5:1"},"nativeSrc":"8438:27:1","nodeType":"YulFunctionCall","src":"8438:27:1"}],"functionName":{"name":"checkField","nativeSrc":"8427:10:1","nodeType":"YulIdentifier","src":"8427:10:1"},"nativeSrc":"8427:39:1","nodeType":"YulFunctionCall","src":"8427:39:1"},"nativeSrc":"8427:39:1","nodeType":"YulExpressionStatement","src":"8427:39:1"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8504:6:1","nodeType":"YulIdentifier","src":"8504:6:1"},{"name":"pEval_s1","nativeSrc":"8512:8:1","nodeType":"YulIdentifier","src":"8512:8:1"}],"functionName":{"name":"add","nativeSrc":"8500:3:1","nodeType":"YulIdentifier","src":"8500:3:1"},"nativeSrc":"8500:21:1","nodeType":"YulFunctionCall","src":"8500:21:1"}],"functionName":{"name":"mload","nativeSrc":"8494:5:1","nodeType":"YulIdentifier","src":"8494:5:1"},"nativeSrc":"8494:28:1","nodeType":"YulFunctionCall","src":"8494:28:1"}],"functionName":{"name":"checkField","nativeSrc":"8483:10:1","nodeType":"YulIdentifier","src":"8483:10:1"},"nativeSrc":"8483:40:1","nodeType":"YulFunctionCall","src":"8483:40:1"},"nativeSrc":"8483:40:1","nodeType":"YulExpressionStatement","src":"8483:40:1"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8561:6:1","nodeType":"YulIdentifier","src":"8561:6:1"},{"name":"pEval_s2","nativeSrc":"8569:8:1","nodeType":"YulIdentifier","src":"8569:8:1"}],"functionName":{"name":"add","nativeSrc":"8557:3:1","nodeType":"YulIdentifier","src":"8557:3:1"},"nativeSrc":"8557:21:1","nodeType":"YulFunctionCall","src":"8557:21:1"}],"functionName":{"name":"mload","nativeSrc":"8551:5:1","nodeType":"YulIdentifier","src":"8551:5:1"},"nativeSrc":"8551:28:1","nodeType":"YulFunctionCall","src":"8551:28:1"}],"functionName":{"name":"checkField","nativeSrc":"8540:10:1","nodeType":"YulIdentifier","src":"8540:10:1"},"nativeSrc":"8540:40:1","nodeType":"YulFunctionCall","src":"8540:40:1"},"nativeSrc":"8540:40:1","nodeType":"YulExpressionStatement","src":"8540:40:1"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8618:6:1","nodeType":"YulIdentifier","src":"8618:6:1"},{"name":"pEval_zw","nativeSrc":"8626:8:1","nodeType":"YulIdentifier","src":"8626:8:1"}],"functionName":{"name":"add","nativeSrc":"8614:3:1","nodeType":"YulIdentifier","src":"8614:3:1"},"nativeSrc":"8614:21:1","nodeType":"YulFunctionCall","src":"8614:21:1"}],"functionName":{"name":"mload","nativeSrc":"8608:5:1","nodeType":"YulIdentifier","src":"8608:5:1"},"nativeSrc":"8608:28:1","nodeType":"YulFunctionCall","src":"8608:28:1"}],"functionName":{"name":"checkField","nativeSrc":"8597:10:1","nodeType":"YulIdentifier","src":"8597:10:1"},"nativeSrc":"8597:40:1","nodeType":"YulFunctionCall","src":"8597:40:1"},"nativeSrc":"8597:40:1","nodeType":"YulExpressionStatement","src":"8597:40:1"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8675:6:1","nodeType":"YulIdentifier","src":"8675:6:1"},{"name":"pEval_r","nativeSrc":"8683:7:1","nodeType":"YulIdentifier","src":"8683:7:1"}],"functionName":{"name":"add","nativeSrc":"8671:3:1","nodeType":"YulIdentifier","src":"8671:3:1"},"nativeSrc":"8671:20:1","nodeType":"YulFunctionCall","src":"8671:20:1"}],"functionName":{"name":"mload","nativeSrc":"8665:5:1","nodeType":"YulIdentifier","src":"8665:5:1"},"nativeSrc":"8665:27:1","nodeType":"YulFunctionCall","src":"8665:27:1"}],"functionName":{"name":"checkField","nativeSrc":"8654:10:1","nodeType":"YulIdentifier","src":"8654:10:1"},"nativeSrc":"8654:39:1","nodeType":"YulFunctionCall","src":"8654:39:1"},"nativeSrc":"8654:39:1","nodeType":"YulExpressionStatement","src":"8654:39:1"}]},"name":"checkInput","nativeSrc":"8130:668:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8150:6:1","nodeType":"YulTypedName","src":"8150:6:1","type":""}],"src":"8130:668:1"},{"body":{"nativeSrc":"8876:2776:1","nodeType":"YulBlock","src":"8876:2776:1","statements":[{"nativeSrc":"8907:5:1","nodeType":"YulVariableDeclaration","src":"8907:5:1","variables":[{"name":"a","nativeSrc":"8911:1:1","nodeType":"YulTypedName","src":"8911:1:1","type":""}]},{"nativeSrc":"8929:5:1","nodeType":"YulVariableDeclaration","src":"8929:5:1","variables":[{"name":"b","nativeSrc":"8933:1:1","nodeType":"YulTypedName","src":"8933:1:1","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"8981:4:1","nodeType":"YulIdentifier","src":"8981:4:1"},{"kind":"number","nativeSrc":"8987:3:1","nodeType":"YulLiteral","src":"8987:3:1","type":"","value":"704"}],"functionName":{"name":"add","nativeSrc":"8977:3:1","nodeType":"YulIdentifier","src":"8977:3:1"},"nativeSrc":"8977:15:1","nodeType":"YulFunctionCall","src":"8977:15:1"},{"arguments":[{"arguments":[{"name":"pPublic","nativeSrc":"9006:7:1","nodeType":"YulIdentifier","src":"9006:7:1"},{"kind":"number","nativeSrc":"9015:2:1","nodeType":"YulLiteral","src":"9015:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9001:3:1","nodeType":"YulIdentifier","src":"9001:3:1"},"nativeSrc":"9001:17:1","nodeType":"YulFunctionCall","src":"9001:17:1"}],"functionName":{"name":"mload","nativeSrc":"8994:5:1","nodeType":"YulIdentifier","src":"8994:5:1"},"nativeSrc":"8994:25:1","nodeType":"YulFunctionCall","src":"8994:25:1"}],"functionName":{"name":"mstore","nativeSrc":"8969:6:1","nodeType":"YulIdentifier","src":"8969:6:1"},"nativeSrc":"8969:51:1","nodeType":"YulFunctionCall","src":"8969:51:1"},"nativeSrc":"8969:51:1","nodeType":"YulExpressionStatement","src":"8969:51:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9066:4:1","nodeType":"YulIdentifier","src":"9066:4:1"},{"kind":"number","nativeSrc":"9072:3:1","nodeType":"YulLiteral","src":"9072:3:1","type":"","value":"736"}],"functionName":{"name":"add","nativeSrc":"9062:3:1","nodeType":"YulIdentifier","src":"9062:3:1"},"nativeSrc":"9062:15:1","nodeType":"YulFunctionCall","src":"9062:15:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9091:6:1","nodeType":"YulIdentifier","src":"9091:6:1"},{"name":"pA","nativeSrc":"9099:2:1","nodeType":"YulIdentifier","src":"9099:2:1"}],"functionName":{"name":"add","nativeSrc":"9086:3:1","nodeType":"YulIdentifier","src":"9086:3:1"},"nativeSrc":"9086:16:1","nodeType":"YulFunctionCall","src":"9086:16:1"}],"functionName":{"name":"mload","nativeSrc":"9079:5:1","nodeType":"YulIdentifier","src":"9079:5:1"},"nativeSrc":"9079:24:1","nodeType":"YulFunctionCall","src":"9079:24:1"}],"functionName":{"name":"mstore","nativeSrc":"9054:6:1","nodeType":"YulIdentifier","src":"9054:6:1"},"nativeSrc":"9054:50:1","nodeType":"YulFunctionCall","src":"9054:50:1"},"nativeSrc":"9054:50:1","nodeType":"YulExpressionStatement","src":"9054:50:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9133:4:1","nodeType":"YulIdentifier","src":"9133:4:1"},{"kind":"number","nativeSrc":"9139:3:1","nodeType":"YulLiteral","src":"9139:3:1","type":"","value":"768"}],"functionName":{"name":"add","nativeSrc":"9129:3:1","nodeType":"YulIdentifier","src":"9129:3:1"},"nativeSrc":"9129:15:1","nodeType":"YulFunctionCall","src":"9129:15:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9158:6:1","nodeType":"YulIdentifier","src":"9158:6:1"},{"arguments":[{"name":"pA","nativeSrc":"9170:2:1","nodeType":"YulIdentifier","src":"9170:2:1"},{"kind":"number","nativeSrc":"9173:2:1","nodeType":"YulLiteral","src":"9173:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9166:3:1","nodeType":"YulIdentifier","src":"9166:3:1"},"nativeSrc":"9166:10:1","nodeType":"YulFunctionCall","src":"9166:10:1"}],"functionName":{"name":"add","nativeSrc":"9153:3:1","nodeType":"YulIdentifier","src":"9153:3:1"},"nativeSrc":"9153:24:1","nodeType":"YulFunctionCall","src":"9153:24:1"}],"functionName":{"name":"mload","nativeSrc":"9146:5:1","nodeType":"YulIdentifier","src":"9146:5:1"},"nativeSrc":"9146:32:1","nodeType":"YulFunctionCall","src":"9146:32:1"}],"functionName":{"name":"mstore","nativeSrc":"9121:6:1","nodeType":"YulIdentifier","src":"9121:6:1"},"nativeSrc":"9121:58:1","nodeType":"YulFunctionCall","src":"9121:58:1"},"nativeSrc":"9121:58:1","nodeType":"YulExpressionStatement","src":"9121:58:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9208:4:1","nodeType":"YulIdentifier","src":"9208:4:1"},{"kind":"number","nativeSrc":"9214:3:1","nodeType":"YulLiteral","src":"9214:3:1","type":"","value":"800"}],"functionName":{"name":"add","nativeSrc":"9204:3:1","nodeType":"YulIdentifier","src":"9204:3:1"},"nativeSrc":"9204:15:1","nodeType":"YulFunctionCall","src":"9204:15:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9233:6:1","nodeType":"YulIdentifier","src":"9233:6:1"},{"arguments":[{"name":"pA","nativeSrc":"9245:2:1","nodeType":"YulIdentifier","src":"9245:2:1"},{"kind":"number","nativeSrc":"9248:2:1","nodeType":"YulLiteral","src":"9248:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"9241:3:1","nodeType":"YulIdentifier","src":"9241:3:1"},"nativeSrc":"9241:10:1","nodeType":"YulFunctionCall","src":"9241:10:1"}],"functionName":{"name":"add","nativeSrc":"9228:3:1","nodeType":"YulIdentifier","src":"9228:3:1"},"nativeSrc":"9228:24:1","nodeType":"YulFunctionCall","src":"9228:24:1"}],"functionName":{"name":"mload","nativeSrc":"9221:5:1","nodeType":"YulIdentifier","src":"9221:5:1"},"nativeSrc":"9221:32:1","nodeType":"YulFunctionCall","src":"9221:32:1"}],"functionName":{"name":"mstore","nativeSrc":"9196:6:1","nodeType":"YulIdentifier","src":"9196:6:1"},"nativeSrc":"9196:58:1","nodeType":"YulFunctionCall","src":"9196:58:1"},"nativeSrc":"9196:58:1","nodeType":"YulExpressionStatement","src":"9196:58:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9283:4:1","nodeType":"YulIdentifier","src":"9283:4:1"},{"kind":"number","nativeSrc":"9289:3:1","nodeType":"YulLiteral","src":"9289:3:1","type":"","value":"832"}],"functionName":{"name":"add","nativeSrc":"9279:3:1","nodeType":"YulIdentifier","src":"9279:3:1"},"nativeSrc":"9279:15:1","nodeType":"YulFunctionCall","src":"9279:15:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9308:6:1","nodeType":"YulIdentifier","src":"9308:6:1"},{"arguments":[{"name":"pA","nativeSrc":"9320:2:1","nodeType":"YulIdentifier","src":"9320:2:1"},{"kind":"number","nativeSrc":"9323:2:1","nodeType":"YulLiteral","src":"9323:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"9316:3:1","nodeType":"YulIdentifier","src":"9316:3:1"},"nativeSrc":"9316:10:1","nodeType":"YulFunctionCall","src":"9316:10:1"}],"functionName":{"name":"add","nativeSrc":"9303:3:1","nodeType":"YulIdentifier","src":"9303:3:1"},"nativeSrc":"9303:24:1","nodeType":"YulFunctionCall","src":"9303:24:1"}],"functionName":{"name":"mload","nativeSrc":"9296:5:1","nodeType":"YulIdentifier","src":"9296:5:1"},"nativeSrc":"9296:32:1","nodeType":"YulFunctionCall","src":"9296:32:1"}],"functionName":{"name":"mstore","nativeSrc":"9271:6:1","nodeType":"YulIdentifier","src":"9271:6:1"},"nativeSrc":"9271:58:1","nodeType":"YulFunctionCall","src":"9271:58:1"},"nativeSrc":"9271:58:1","nodeType":"YulExpressionStatement","src":"9271:58:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9358:4:1","nodeType":"YulIdentifier","src":"9358:4:1"},{"kind":"number","nativeSrc":"9364:3:1","nodeType":"YulLiteral","src":"9364:3:1","type":"","value":"864"}],"functionName":{"name":"add","nativeSrc":"9354:3:1","nodeType":"YulIdentifier","src":"9354:3:1"},"nativeSrc":"9354:15:1","nodeType":"YulFunctionCall","src":"9354:15:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9383:6:1","nodeType":"YulIdentifier","src":"9383:6:1"},{"arguments":[{"name":"pA","nativeSrc":"9395:2:1","nodeType":"YulIdentifier","src":"9395:2:1"},{"kind":"number","nativeSrc":"9398:3:1","nodeType":"YulLiteral","src":"9398:3:1","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"9391:3:1","nodeType":"YulIdentifier","src":"9391:3:1"},"nativeSrc":"9391:11:1","nodeType":"YulFunctionCall","src":"9391:11:1"}],"functionName":{"name":"add","nativeSrc":"9378:3:1","nodeType":"YulIdentifier","src":"9378:3:1"},"nativeSrc":"9378:25:1","nodeType":"YulFunctionCall","src":"9378:25:1"}],"functionName":{"name":"mload","nativeSrc":"9371:5:1","nodeType":"YulIdentifier","src":"9371:5:1"},"nativeSrc":"9371:33:1","nodeType":"YulFunctionCall","src":"9371:33:1"}],"functionName":{"name":"mstore","nativeSrc":"9346:6:1","nodeType":"YulIdentifier","src":"9346:6:1"},"nativeSrc":"9346:59:1","nodeType":"YulFunctionCall","src":"9346:59:1"},"nativeSrc":"9346:59:1","nodeType":"YulExpressionStatement","src":"9346:59:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9434:4:1","nodeType":"YulIdentifier","src":"9434:4:1"},{"kind":"number","nativeSrc":"9440:3:1","nodeType":"YulLiteral","src":"9440:3:1","type":"","value":"896"}],"functionName":{"name":"add","nativeSrc":"9430:3:1","nodeType":"YulIdentifier","src":"9430:3:1"},"nativeSrc":"9430:15:1","nodeType":"YulFunctionCall","src":"9430:15:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9459:6:1","nodeType":"YulIdentifier","src":"9459:6:1"},{"arguments":[{"name":"pA","nativeSrc":"9471:2:1","nodeType":"YulIdentifier","src":"9471:2:1"},{"kind":"number","nativeSrc":"9474:3:1","nodeType":"YulLiteral","src":"9474:3:1","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"9467:3:1","nodeType":"YulIdentifier","src":"9467:3:1"},"nativeSrc":"9467:11:1","nodeType":"YulFunctionCall","src":"9467:11:1"}],"functionName":{"name":"add","nativeSrc":"9454:3:1","nodeType":"YulIdentifier","src":"9454:3:1"},"nativeSrc":"9454:25:1","nodeType":"YulFunctionCall","src":"9454:25:1"}],"functionName":{"name":"mload","nativeSrc":"9447:5:1","nodeType":"YulIdentifier","src":"9447:5:1"},"nativeSrc":"9447:33:1","nodeType":"YulFunctionCall","src":"9447:33:1"}],"functionName":{"name":"mstore","nativeSrc":"9422:6:1","nodeType":"YulIdentifier","src":"9422:6:1"},"nativeSrc":"9422:59:1","nodeType":"YulFunctionCall","src":"9422:59:1"},"nativeSrc":"9422:59:1","nodeType":"YulExpressionStatement","src":"9422:59:1"},{"nativeSrc":"9515:47:1","nodeType":"YulAssignment","src":"9515:47:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9538:4:1","nodeType":"YulIdentifier","src":"9538:4:1"},{"name":"lastMem","nativeSrc":"9544:7:1","nodeType":"YulIdentifier","src":"9544:7:1"}],"functionName":{"name":"add","nativeSrc":"9534:3:1","nodeType":"YulIdentifier","src":"9534:3:1"},"nativeSrc":"9534:18:1","nodeType":"YulFunctionCall","src":"9534:18:1"},{"kind":"number","nativeSrc":"9554:3:1","nodeType":"YulLiteral","src":"9554:3:1","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"9524:9:1","nodeType":"YulIdentifier","src":"9524:9:1"},"nativeSrc":"9524:34:1","nodeType":"YulFunctionCall","src":"9524:34:1"},{"name":"q","nativeSrc":"9560:1:1","nodeType":"YulIdentifier","src":"9560:1:1"}],"functionName":{"name":"mod","nativeSrc":"9520:3:1","nodeType":"YulIdentifier","src":"9520:3:1"},"nativeSrc":"9520:42:1","nodeType":"YulFunctionCall","src":"9520:42:1"},"variableNames":[{"name":"b","nativeSrc":"9515:1:1","nodeType":"YulIdentifier","src":"9515:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9592:4:1","nodeType":"YulIdentifier","src":"9592:4:1"},{"name":"pBeta","nativeSrc":"9598:5:1","nodeType":"YulIdentifier","src":"9598:5:1"}],"functionName":{"name":"add","nativeSrc":"9588:3:1","nodeType":"YulIdentifier","src":"9588:3:1"},"nativeSrc":"9588:16:1","nodeType":"YulFunctionCall","src":"9588:16:1"},{"name":"b","nativeSrc":"9606:1:1","nodeType":"YulIdentifier","src":"9606:1:1"}],"functionName":{"name":"mstore","nativeSrc":"9580:6:1","nodeType":"YulIdentifier","src":"9580:6:1"},"nativeSrc":"9580:28:1","nodeType":"YulFunctionCall","src":"9580:28:1"},"nativeSrc":"9580:28:1","nodeType":"YulExpressionStatement","src":"9580:28:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9637:4:1","nodeType":"YulIdentifier","src":"9637:4:1"},{"name":"pGamma","nativeSrc":"9643:6:1","nodeType":"YulIdentifier","src":"9643:6:1"}],"functionName":{"name":"add","nativeSrc":"9633:3:1","nodeType":"YulIdentifier","src":"9633:3:1"},"nativeSrc":"9633:17:1","nodeType":"YulFunctionCall","src":"9633:17:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9670:4:1","nodeType":"YulIdentifier","src":"9670:4:1"},{"name":"pBeta","nativeSrc":"9676:5:1","nodeType":"YulIdentifier","src":"9676:5:1"}],"functionName":{"name":"add","nativeSrc":"9666:3:1","nodeType":"YulIdentifier","src":"9666:3:1"},"nativeSrc":"9666:16:1","nodeType":"YulFunctionCall","src":"9666:16:1"},{"kind":"number","nativeSrc":"9684:2:1","nodeType":"YulLiteral","src":"9684:2:1","type":"","value":"32"}],"functionName":{"name":"keccak256","nativeSrc":"9656:9:1","nodeType":"YulIdentifier","src":"9656:9:1"},"nativeSrc":"9656:31:1","nodeType":"YulFunctionCall","src":"9656:31:1"},{"name":"q","nativeSrc":"9689:1:1","nodeType":"YulIdentifier","src":"9689:1:1"}],"functionName":{"name":"mod","nativeSrc":"9652:3:1","nodeType":"YulIdentifier","src":"9652:3:1"},"nativeSrc":"9652:39:1","nodeType":"YulFunctionCall","src":"9652:39:1"}],"functionName":{"name":"mstore","nativeSrc":"9625:6:1","nodeType":"YulIdentifier","src":"9625:6:1"},"nativeSrc":"9625:67:1","nodeType":"YulFunctionCall","src":"9625:67:1"},"nativeSrc":"9625:67:1","nodeType":"YulExpressionStatement","src":"9625:67:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9721:4:1","nodeType":"YulIdentifier","src":"9721:4:1"},{"name":"pAlpha","nativeSrc":"9727:6:1","nodeType":"YulIdentifier","src":"9727:6:1"}],"functionName":{"name":"add","nativeSrc":"9717:3:1","nodeType":"YulIdentifier","src":"9717:3:1"},"nativeSrc":"9717:17:1","nodeType":"YulFunctionCall","src":"9717:17:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9754:6:1","nodeType":"YulIdentifier","src":"9754:6:1"},{"name":"pZ","nativeSrc":"9762:2:1","nodeType":"YulIdentifier","src":"9762:2:1"}],"functionName":{"name":"add","nativeSrc":"9750:3:1","nodeType":"YulIdentifier","src":"9750:3:1"},"nativeSrc":"9750:15:1","nodeType":"YulFunctionCall","src":"9750:15:1"},{"kind":"number","nativeSrc":"9767:2:1","nodeType":"YulLiteral","src":"9767:2:1","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"9740:9:1","nodeType":"YulIdentifier","src":"9740:9:1"},"nativeSrc":"9740:30:1","nodeType":"YulFunctionCall","src":"9740:30:1"},{"name":"q","nativeSrc":"9772:1:1","nodeType":"YulIdentifier","src":"9772:1:1"}],"functionName":{"name":"mod","nativeSrc":"9736:3:1","nodeType":"YulIdentifier","src":"9736:3:1"},"nativeSrc":"9736:38:1","nodeType":"YulFunctionCall","src":"9736:38:1"}],"functionName":{"name":"mstore","nativeSrc":"9709:6:1","nodeType":"YulIdentifier","src":"9709:6:1"},"nativeSrc":"9709:66:1","nodeType":"YulFunctionCall","src":"9709:66:1"},"nativeSrc":"9709:66:1","nodeType":"YulExpressionStatement","src":"9709:66:1"},{"nativeSrc":"9809:45:1","nodeType":"YulAssignment","src":"9809:45:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9832:6:1","nodeType":"YulIdentifier","src":"9832:6:1"},{"name":"pT1","nativeSrc":"9840:3:1","nodeType":"YulIdentifier","src":"9840:3:1"}],"functionName":{"name":"add","nativeSrc":"9828:3:1","nodeType":"YulIdentifier","src":"9828:3:1"},"nativeSrc":"9828:16:1","nodeType":"YulFunctionCall","src":"9828:16:1"},{"kind":"number","nativeSrc":"9846:3:1","nodeType":"YulLiteral","src":"9846:3:1","type":"","value":"192"}],"functionName":{"name":"keccak256","nativeSrc":"9818:9:1","nodeType":"YulIdentifier","src":"9818:9:1"},"nativeSrc":"9818:32:1","nodeType":"YulFunctionCall","src":"9818:32:1"},{"name":"q","nativeSrc":"9852:1:1","nodeType":"YulIdentifier","src":"9852:1:1"}],"functionName":{"name":"mod","nativeSrc":"9814:3:1","nodeType":"YulIdentifier","src":"9814:3:1"},"nativeSrc":"9814:40:1","nodeType":"YulFunctionCall","src":"9814:40:1"},"variableNames":[{"name":"a","nativeSrc":"9809:1:1","nodeType":"YulIdentifier","src":"9809:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9883:4:1","nodeType":"YulIdentifier","src":"9883:4:1"},{"name":"pXi","nativeSrc":"9889:3:1","nodeType":"YulIdentifier","src":"9889:3:1"}],"functionName":{"name":"add","nativeSrc":"9879:3:1","nodeType":"YulIdentifier","src":"9879:3:1"},"nativeSrc":"9879:14:1","nodeType":"YulFunctionCall","src":"9879:14:1"},{"name":"a","nativeSrc":"9895:1:1","nodeType":"YulIdentifier","src":"9895:1:1"}],"functionName":{"name":"mstore","nativeSrc":"9871:6:1","nodeType":"YulIdentifier","src":"9871:6:1"},"nativeSrc":"9871:26:1","nodeType":"YulFunctionCall","src":"9871:26:1"},"nativeSrc":"9871:26:1","nodeType":"YulExpressionStatement","src":"9871:26:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9926:4:1","nodeType":"YulIdentifier","src":"9926:4:1"},{"name":"pBetaXi","nativeSrc":"9932:7:1","nodeType":"YulIdentifier","src":"9932:7:1"}],"functionName":{"name":"add","nativeSrc":"9922:3:1","nodeType":"YulIdentifier","src":"9922:3:1"},"nativeSrc":"9922:18:1","nodeType":"YulFunctionCall","src":"9922:18:1"},{"arguments":[{"name":"b","nativeSrc":"9949:1:1","nodeType":"YulIdentifier","src":"9949:1:1"},{"name":"a","nativeSrc":"9952:1:1","nodeType":"YulIdentifier","src":"9952:1:1"},{"name":"q","nativeSrc":"9955:1:1","nodeType":"YulIdentifier","src":"9955:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"9942:6:1","nodeType":"YulIdentifier","src":"9942:6:1"},"nativeSrc":"9942:15:1","nodeType":"YulFunctionCall","src":"9942:15:1"}],"functionName":{"name":"mstore","nativeSrc":"9914:6:1","nodeType":"YulIdentifier","src":"9914:6:1"},"nativeSrc":"9914:44:1","nodeType":"YulFunctionCall","src":"9914:44:1"},"nativeSrc":"9914:44:1","nodeType":"YulExpressionStatement","src":"9914:44:1"},{"nativeSrc":"9992:19:1","nodeType":"YulAssignment","src":"9992:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10003:1:1","nodeType":"YulIdentifier","src":"10003:1:1"},{"name":"a","nativeSrc":"10006:1:1","nodeType":"YulIdentifier","src":"10006:1:1"},{"name":"q","nativeSrc":"10009:1:1","nodeType":"YulIdentifier","src":"10009:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"9996:6:1","nodeType":"YulIdentifier","src":"9996:6:1"},"nativeSrc":"9996:15:1","nodeType":"YulFunctionCall","src":"9996:15:1"},"variableNames":[{"name":"a","nativeSrc":"9992:1:1","nodeType":"YulIdentifier","src":"9992:1:1"}]},{"nativeSrc":"10045:19:1","nodeType":"YulAssignment","src":"10045:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10056:1:1","nodeType":"YulIdentifier","src":"10056:1:1"},{"name":"a","nativeSrc":"10059:1:1","nodeType":"YulIdentifier","src":"10059:1:1"},{"name":"q","nativeSrc":"10062:1:1","nodeType":"YulIdentifier","src":"10062:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10049:6:1","nodeType":"YulIdentifier","src":"10049:6:1"},"nativeSrc":"10049:15:1","nodeType":"YulFunctionCall","src":"10049:15:1"},"variableNames":[{"name":"a","nativeSrc":"10045:1:1","nodeType":"YulIdentifier","src":"10045:1:1"}]},{"nativeSrc":"10098:19:1","nodeType":"YulAssignment","src":"10098:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10109:1:1","nodeType":"YulIdentifier","src":"10109:1:1"},{"name":"a","nativeSrc":"10112:1:1","nodeType":"YulIdentifier","src":"10112:1:1"},{"name":"q","nativeSrc":"10115:1:1","nodeType":"YulIdentifier","src":"10115:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10102:6:1","nodeType":"YulIdentifier","src":"10102:6:1"},"nativeSrc":"10102:15:1","nodeType":"YulFunctionCall","src":"10102:15:1"},"variableNames":[{"name":"a","nativeSrc":"10098:1:1","nodeType":"YulIdentifier","src":"10098:1:1"}]},{"nativeSrc":"10151:19:1","nodeType":"YulAssignment","src":"10151:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10162:1:1","nodeType":"YulIdentifier","src":"10162:1:1"},{"name":"a","nativeSrc":"10165:1:1","nodeType":"YulIdentifier","src":"10165:1:1"},{"name":"q","nativeSrc":"10168:1:1","nodeType":"YulIdentifier","src":"10168:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10155:6:1","nodeType":"YulIdentifier","src":"10155:6:1"},"nativeSrc":"10155:15:1","nodeType":"YulFunctionCall","src":"10155:15:1"},"variableNames":[{"name":"a","nativeSrc":"10151:1:1","nodeType":"YulIdentifier","src":"10151:1:1"}]},{"nativeSrc":"10204:19:1","nodeType":"YulAssignment","src":"10204:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10215:1:1","nodeType":"YulIdentifier","src":"10215:1:1"},{"name":"a","nativeSrc":"10218:1:1","nodeType":"YulIdentifier","src":"10218:1:1"},{"name":"q","nativeSrc":"10221:1:1","nodeType":"YulIdentifier","src":"10221:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10208:6:1","nodeType":"YulIdentifier","src":"10208:6:1"},"nativeSrc":"10208:15:1","nodeType":"YulFunctionCall","src":"10208:15:1"},"variableNames":[{"name":"a","nativeSrc":"10204:1:1","nodeType":"YulIdentifier","src":"10204:1:1"}]},{"nativeSrc":"10257:19:1","nodeType":"YulAssignment","src":"10257:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10268:1:1","nodeType":"YulIdentifier","src":"10268:1:1"},{"name":"a","nativeSrc":"10271:1:1","nodeType":"YulIdentifier","src":"10271:1:1"},{"name":"q","nativeSrc":"10274:1:1","nodeType":"YulIdentifier","src":"10274:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10261:6:1","nodeType":"YulIdentifier","src":"10261:6:1"},"nativeSrc":"10261:15:1","nodeType":"YulFunctionCall","src":"10261:15:1"},"variableNames":[{"name":"a","nativeSrc":"10257:1:1","nodeType":"YulIdentifier","src":"10257:1:1"}]},{"nativeSrc":"10310:19:1","nodeType":"YulAssignment","src":"10310:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10321:1:1","nodeType":"YulIdentifier","src":"10321:1:1"},{"name":"a","nativeSrc":"10324:1:1","nodeType":"YulIdentifier","src":"10324:1:1"},{"name":"q","nativeSrc":"10327:1:1","nodeType":"YulIdentifier","src":"10327:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10314:6:1","nodeType":"YulIdentifier","src":"10314:6:1"},"nativeSrc":"10314:15:1","nodeType":"YulFunctionCall","src":"10314:15:1"},"variableNames":[{"name":"a","nativeSrc":"10310:1:1","nodeType":"YulIdentifier","src":"10310:1:1"}]},{"nativeSrc":"10363:19:1","nodeType":"YulAssignment","src":"10363:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10374:1:1","nodeType":"YulIdentifier","src":"10374:1:1"},{"name":"a","nativeSrc":"10377:1:1","nodeType":"YulIdentifier","src":"10377:1:1"},{"name":"q","nativeSrc":"10380:1:1","nodeType":"YulIdentifier","src":"10380:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10367:6:1","nodeType":"YulIdentifier","src":"10367:6:1"},"nativeSrc":"10367:15:1","nodeType":"YulFunctionCall","src":"10367:15:1"},"variableNames":[{"name":"a","nativeSrc":"10363:1:1","nodeType":"YulIdentifier","src":"10363:1:1"}]},{"nativeSrc":"10416:19:1","nodeType":"YulAssignment","src":"10416:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10427:1:1","nodeType":"YulIdentifier","src":"10427:1:1"},{"name":"a","nativeSrc":"10430:1:1","nodeType":"YulIdentifier","src":"10430:1:1"},{"name":"q","nativeSrc":"10433:1:1","nodeType":"YulIdentifier","src":"10433:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10420:6:1","nodeType":"YulIdentifier","src":"10420:6:1"},"nativeSrc":"10420:15:1","nodeType":"YulFunctionCall","src":"10420:15:1"},"variableNames":[{"name":"a","nativeSrc":"10416:1:1","nodeType":"YulIdentifier","src":"10416:1:1"}]},{"nativeSrc":"10469:19:1","nodeType":"YulAssignment","src":"10469:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10480:1:1","nodeType":"YulIdentifier","src":"10480:1:1"},{"name":"a","nativeSrc":"10483:1:1","nodeType":"YulIdentifier","src":"10483:1:1"},{"name":"q","nativeSrc":"10486:1:1","nodeType":"YulIdentifier","src":"10486:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10473:6:1","nodeType":"YulIdentifier","src":"10473:6:1"},"nativeSrc":"10473:15:1","nodeType":"YulFunctionCall","src":"10473:15:1"},"variableNames":[{"name":"a","nativeSrc":"10469:1:1","nodeType":"YulIdentifier","src":"10469:1:1"}]},{"nativeSrc":"10522:19:1","nodeType":"YulAssignment","src":"10522:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10533:1:1","nodeType":"YulIdentifier","src":"10533:1:1"},{"name":"a","nativeSrc":"10536:1:1","nodeType":"YulIdentifier","src":"10536:1:1"},{"name":"q","nativeSrc":"10539:1:1","nodeType":"YulIdentifier","src":"10539:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10526:6:1","nodeType":"YulIdentifier","src":"10526:6:1"},"nativeSrc":"10526:15:1","nodeType":"YulFunctionCall","src":"10526:15:1"},"variableNames":[{"name":"a","nativeSrc":"10522:1:1","nodeType":"YulIdentifier","src":"10522:1:1"}]},{"nativeSrc":"10575:19:1","nodeType":"YulAssignment","src":"10575:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10586:1:1","nodeType":"YulIdentifier","src":"10586:1:1"},{"name":"a","nativeSrc":"10589:1:1","nodeType":"YulIdentifier","src":"10589:1:1"},{"name":"q","nativeSrc":"10592:1:1","nodeType":"YulIdentifier","src":"10592:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10579:6:1","nodeType":"YulIdentifier","src":"10579:6:1"},"nativeSrc":"10579:15:1","nodeType":"YulFunctionCall","src":"10579:15:1"},"variableNames":[{"name":"a","nativeSrc":"10575:1:1","nodeType":"YulIdentifier","src":"10575:1:1"}]},{"nativeSrc":"10628:19:1","nodeType":"YulAssignment","src":"10628:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10639:1:1","nodeType":"YulIdentifier","src":"10639:1:1"},{"name":"a","nativeSrc":"10642:1:1","nodeType":"YulIdentifier","src":"10642:1:1"},{"name":"q","nativeSrc":"10645:1:1","nodeType":"YulIdentifier","src":"10645:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10632:6:1","nodeType":"YulIdentifier","src":"10632:6:1"},"nativeSrc":"10632:15:1","nodeType":"YulFunctionCall","src":"10632:15:1"},"variableNames":[{"name":"a","nativeSrc":"10628:1:1","nodeType":"YulIdentifier","src":"10628:1:1"}]},{"nativeSrc":"10681:19:1","nodeType":"YulAssignment","src":"10681:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10692:1:1","nodeType":"YulIdentifier","src":"10692:1:1"},{"name":"a","nativeSrc":"10695:1:1","nodeType":"YulIdentifier","src":"10695:1:1"},{"name":"q","nativeSrc":"10698:1:1","nodeType":"YulIdentifier","src":"10698:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10685:6:1","nodeType":"YulIdentifier","src":"10685:6:1"},"nativeSrc":"10685:15:1","nodeType":"YulFunctionCall","src":"10685:15:1"},"variableNames":[{"name":"a","nativeSrc":"10681:1:1","nodeType":"YulIdentifier","src":"10681:1:1"}]},{"nativeSrc":"10734:19:1","nodeType":"YulAssignment","src":"10734:19:1","value":{"arguments":[{"name":"a","nativeSrc":"10745:1:1","nodeType":"YulIdentifier","src":"10745:1:1"},{"name":"a","nativeSrc":"10748:1:1","nodeType":"YulIdentifier","src":"10748:1:1"},{"name":"q","nativeSrc":"10751:1:1","nodeType":"YulIdentifier","src":"10751:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"10738:6:1","nodeType":"YulIdentifier","src":"10738:6:1"},"nativeSrc":"10738:15:1","nodeType":"YulFunctionCall","src":"10738:15:1"},"variableNames":[{"name":"a","nativeSrc":"10734:1:1","nodeType":"YulIdentifier","src":"10734:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10799:4:1","nodeType":"YulIdentifier","src":"10799:4:1"},{"name":"pXin","nativeSrc":"10805:4:1","nodeType":"YulIdentifier","src":"10805:4:1"}],"functionName":{"name":"add","nativeSrc":"10795:3:1","nodeType":"YulIdentifier","src":"10795:3:1"},"nativeSrc":"10795:15:1","nodeType":"YulFunctionCall","src":"10795:15:1"},{"name":"a","nativeSrc":"10812:1:1","nodeType":"YulIdentifier","src":"10812:1:1"}],"functionName":{"name":"mstore","nativeSrc":"10787:6:1","nodeType":"YulIdentifier","src":"10787:6:1"},"nativeSrc":"10787:27:1","nodeType":"YulFunctionCall","src":"10787:27:1"},"nativeSrc":"10787:27:1","nodeType":"YulExpressionStatement","src":"10787:27:1"},{"nativeSrc":"10831:28:1","nodeType":"YulAssignment","src":"10831:28:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"10847:1:1","nodeType":"YulIdentifier","src":"10847:1:1"},{"kind":"number","nativeSrc":"10850:1:1","nodeType":"YulLiteral","src":"10850:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"10843:3:1","nodeType":"YulIdentifier","src":"10843:3:1"},"nativeSrc":"10843:9:1","nodeType":"YulFunctionCall","src":"10843:9:1"},{"name":"q","nativeSrc":"10853:1:1","nodeType":"YulIdentifier","src":"10853:1:1"}],"functionName":{"name":"add","nativeSrc":"10839:3:1","nodeType":"YulIdentifier","src":"10839:3:1"},"nativeSrc":"10839:16:1","nodeType":"YulFunctionCall","src":"10839:16:1"},{"name":"q","nativeSrc":"10857:1:1","nodeType":"YulIdentifier","src":"10857:1:1"}],"functionName":{"name":"mod","nativeSrc":"10835:3:1","nodeType":"YulIdentifier","src":"10835:3:1"},"nativeSrc":"10835:24:1","nodeType":"YulFunctionCall","src":"10835:24:1"},"variableNames":[{"name":"a","nativeSrc":"10831:1:1","nodeType":"YulIdentifier","src":"10831:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10888:4:1","nodeType":"YulIdentifier","src":"10888:4:1"},{"name":"pZh","nativeSrc":"10894:3:1","nodeType":"YulIdentifier","src":"10894:3:1"}],"functionName":{"name":"add","nativeSrc":"10884:3:1","nodeType":"YulIdentifier","src":"10884:3:1"},"nativeSrc":"10884:14:1","nodeType":"YulFunctionCall","src":"10884:14:1"},{"name":"a","nativeSrc":"10900:1:1","nodeType":"YulIdentifier","src":"10900:1:1"}],"functionName":{"name":"mstore","nativeSrc":"10876:6:1","nodeType":"YulIdentifier","src":"10876:6:1"},"nativeSrc":"10876:26:1","nodeType":"YulFunctionCall","src":"10876:26:1"},"nativeSrc":"10876:26:1","nodeType":"YulExpressionStatement","src":"10876:26:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10931:4:1","nodeType":"YulIdentifier","src":"10931:4:1"},{"name":"pZhInv","nativeSrc":"10937:6:1","nodeType":"YulIdentifier","src":"10937:6:1"}],"functionName":{"name":"add","nativeSrc":"10927:3:1","nodeType":"YulIdentifier","src":"10927:3:1"},"nativeSrc":"10927:17:1","nodeType":"YulFunctionCall","src":"10927:17:1"},{"name":"a","nativeSrc":"10946:1:1","nodeType":"YulIdentifier","src":"10946:1:1"}],"functionName":{"name":"mstore","nativeSrc":"10919:6:1","nodeType":"YulIdentifier","src":"10919:6:1"},"nativeSrc":"10919:29:1","nodeType":"YulFunctionCall","src":"10919:29:1"},"nativeSrc":"10919:29:1","nodeType":"YulExpressionStatement","src":"10919:29:1"},{"nativeSrc":"11035:54:1","nodeType":"YulVariableDeclaration","src":"11035:54:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11063:6:1","nodeType":"YulIdentifier","src":"11063:6:1"},{"name":"pEval_a","nativeSrc":"11071:7:1","nodeType":"YulIdentifier","src":"11071:7:1"}],"functionName":{"name":"add","nativeSrc":"11059:3:1","nodeType":"YulIdentifier","src":"11059:3:1"},"nativeSrc":"11059:20:1","nodeType":"YulFunctionCall","src":"11059:20:1"},{"kind":"number","nativeSrc":"11081:3:1","nodeType":"YulLiteral","src":"11081:3:1","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"11049:9:1","nodeType":"YulIdentifier","src":"11049:9:1"},"nativeSrc":"11049:36:1","nodeType":"YulFunctionCall","src":"11049:36:1"},{"name":"q","nativeSrc":"11087:1:1","nodeType":"YulIdentifier","src":"11087:1:1"}],"functionName":{"name":"mod","nativeSrc":"11045:3:1","nodeType":"YulIdentifier","src":"11045:3:1"},"nativeSrc":"11045:44:1","nodeType":"YulFunctionCall","src":"11045:44:1"},"variables":[{"name":"v1","nativeSrc":"11039:2:1","nodeType":"YulTypedName","src":"11039:2:1","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11118:4:1","nodeType":"YulIdentifier","src":"11118:4:1"},{"name":"pV1","nativeSrc":"11124:3:1","nodeType":"YulIdentifier","src":"11124:3:1"}],"functionName":{"name":"add","nativeSrc":"11114:3:1","nodeType":"YulIdentifier","src":"11114:3:1"},"nativeSrc":"11114:14:1","nodeType":"YulFunctionCall","src":"11114:14:1"},{"name":"v1","nativeSrc":"11130:2:1","nodeType":"YulIdentifier","src":"11130:2:1"}],"functionName":{"name":"mstore","nativeSrc":"11106:6:1","nodeType":"YulIdentifier","src":"11106:6:1"},"nativeSrc":"11106:27:1","nodeType":"YulFunctionCall","src":"11106:27:1"},"nativeSrc":"11106:27:1","nodeType":"YulExpressionStatement","src":"11106:27:1"},{"nativeSrc":"11150:22:1","nodeType":"YulAssignment","src":"11150:22:1","value":{"arguments":[{"name":"v1","nativeSrc":"11162:2:1","nodeType":"YulIdentifier","src":"11162:2:1"},{"name":"v1","nativeSrc":"11166:2:1","nodeType":"YulIdentifier","src":"11166:2:1"},{"name":"q","nativeSrc":"11170:1:1","nodeType":"YulIdentifier","src":"11170:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"11155:6:1","nodeType":"YulIdentifier","src":"11155:6:1"},"nativeSrc":"11155:17:1","nodeType":"YulFunctionCall","src":"11155:17:1"},"variableNames":[{"name":"a","nativeSrc":"11150:1:1","nodeType":"YulIdentifier","src":"11150:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11201:4:1","nodeType":"YulIdentifier","src":"11201:4:1"},{"name":"pV2","nativeSrc":"11207:3:1","nodeType":"YulIdentifier","src":"11207:3:1"}],"functionName":{"name":"add","nativeSrc":"11197:3:1","nodeType":"YulIdentifier","src":"11197:3:1"},"nativeSrc":"11197:14:1","nodeType":"YulFunctionCall","src":"11197:14:1"},{"name":"a","nativeSrc":"11213:1:1","nodeType":"YulIdentifier","src":"11213:1:1"}],"functionName":{"name":"mstore","nativeSrc":"11189:6:1","nodeType":"YulIdentifier","src":"11189:6:1"},"nativeSrc":"11189:26:1","nodeType":"YulFunctionCall","src":"11189:26:1"},"nativeSrc":"11189:26:1","nodeType":"YulExpressionStatement","src":"11189:26:1"},{"nativeSrc":"11232:21:1","nodeType":"YulAssignment","src":"11232:21:1","value":{"arguments":[{"name":"a","nativeSrc":"11244:1:1","nodeType":"YulIdentifier","src":"11244:1:1"},{"name":"v1","nativeSrc":"11247:2:1","nodeType":"YulIdentifier","src":"11247:2:1"},{"name":"q","nativeSrc":"11251:1:1","nodeType":"YulIdentifier","src":"11251:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"11237:6:1","nodeType":"YulIdentifier","src":"11237:6:1"},"nativeSrc":"11237:16:1","nodeType":"YulFunctionCall","src":"11237:16:1"},"variableNames":[{"name":"a","nativeSrc":"11232:1:1","nodeType":"YulIdentifier","src":"11232:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11282:4:1","nodeType":"YulIdentifier","src":"11282:4:1"},{"name":"pV3","nativeSrc":"11288:3:1","nodeType":"YulIdentifier","src":"11288:3:1"}],"functionName":{"name":"add","nativeSrc":"11278:3:1","nodeType":"YulIdentifier","src":"11278:3:1"},"nativeSrc":"11278:14:1","nodeType":"YulFunctionCall","src":"11278:14:1"},{"name":"a","nativeSrc":"11294:1:1","nodeType":"YulIdentifier","src":"11294:1:1"}],"functionName":{"name":"mstore","nativeSrc":"11270:6:1","nodeType":"YulIdentifier","src":"11270:6:1"},"nativeSrc":"11270:26:1","nodeType":"YulFunctionCall","src":"11270:26:1"},"nativeSrc":"11270:26:1","nodeType":"YulExpressionStatement","src":"11270:26:1"},{"nativeSrc":"11313:21:1","nodeType":"YulAssignment","src":"11313:21:1","value":{"arguments":[{"name":"a","nativeSrc":"11325:1:1","nodeType":"YulIdentifier","src":"11325:1:1"},{"name":"v1","nativeSrc":"11328:2:1","nodeType":"YulIdentifier","src":"11328:2:1"},{"name":"q","nativeSrc":"11332:1:1","nodeType":"YulIdentifier","src":"11332:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"11318:6:1","nodeType":"YulIdentifier","src":"11318:6:1"},"nativeSrc":"11318:16:1","nodeType":"YulFunctionCall","src":"11318:16:1"},"variableNames":[{"name":"a","nativeSrc":"11313:1:1","nodeType":"YulIdentifier","src":"11313:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11363:4:1","nodeType":"YulIdentifier","src":"11363:4:1"},{"name":"pV4","nativeSrc":"11369:3:1","nodeType":"YulIdentifier","src":"11369:3:1"}],"functionName":{"name":"add","nativeSrc":"11359:3:1","nodeType":"YulIdentifier","src":"11359:3:1"},"nativeSrc":"11359:14:1","nodeType":"YulFunctionCall","src":"11359:14:1"},{"name":"a","nativeSrc":"11375:1:1","nodeType":"YulIdentifier","src":"11375:1:1"}],"functionName":{"name":"mstore","nativeSrc":"11351:6:1","nodeType":"YulIdentifier","src":"11351:6:1"},"nativeSrc":"11351:26:1","nodeType":"YulFunctionCall","src":"11351:26:1"},"nativeSrc":"11351:26:1","nodeType":"YulExpressionStatement","src":"11351:26:1"},{"nativeSrc":"11394:21:1","nodeType":"YulAssignment","src":"11394:21:1","value":{"arguments":[{"name":"a","nativeSrc":"11406:1:1","nodeType":"YulIdentifier","src":"11406:1:1"},{"name":"v1","nativeSrc":"11409:2:1","nodeType":"YulIdentifier","src":"11409:2:1"},{"name":"q","nativeSrc":"11413:1:1","nodeType":"YulIdentifier","src":"11413:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"11399:6:1","nodeType":"YulIdentifier","src":"11399:6:1"},"nativeSrc":"11399:16:1","nodeType":"YulFunctionCall","src":"11399:16:1"},"variableNames":[{"name":"a","nativeSrc":"11394:1:1","nodeType":"YulIdentifier","src":"11394:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11444:4:1","nodeType":"YulIdentifier","src":"11444:4:1"},{"name":"pV5","nativeSrc":"11450:3:1","nodeType":"YulIdentifier","src":"11450:3:1"}],"functionName":{"name":"add","nativeSrc":"11440:3:1","nodeType":"YulIdentifier","src":"11440:3:1"},"nativeSrc":"11440:14:1","nodeType":"YulFunctionCall","src":"11440:14:1"},{"name":"a","nativeSrc":"11456:1:1","nodeType":"YulIdentifier","src":"11456:1:1"}],"functionName":{"name":"mstore","nativeSrc":"11432:6:1","nodeType":"YulIdentifier","src":"11432:6:1"},"nativeSrc":"11432:26:1","nodeType":"YulFunctionCall","src":"11432:26:1"},"nativeSrc":"11432:26:1","nodeType":"YulExpressionStatement","src":"11432:26:1"},{"nativeSrc":"11475:21:1","nodeType":"YulAssignment","src":"11475:21:1","value":{"arguments":[{"name":"a","nativeSrc":"11487:1:1","nodeType":"YulIdentifier","src":"11487:1:1"},{"name":"v1","nativeSrc":"11490:2:1","nodeType":"YulIdentifier","src":"11490:2:1"},{"name":"q","nativeSrc":"11494:1:1","nodeType":"YulIdentifier","src":"11494:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"11480:6:1","nodeType":"YulIdentifier","src":"11480:6:1"},"nativeSrc":"11480:16:1","nodeType":"YulFunctionCall","src":"11480:16:1"},"variableNames":[{"name":"a","nativeSrc":"11475:1:1","nodeType":"YulIdentifier","src":"11475:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11525:4:1","nodeType":"YulIdentifier","src":"11525:4:1"},{"name":"pV6","nativeSrc":"11531:3:1","nodeType":"YulIdentifier","src":"11531:3:1"}],"functionName":{"name":"add","nativeSrc":"11521:3:1","nodeType":"YulIdentifier","src":"11521:3:1"},"nativeSrc":"11521:14:1","nodeType":"YulFunctionCall","src":"11521:14:1"},{"name":"a","nativeSrc":"11537:1:1","nodeType":"YulIdentifier","src":"11537:1:1"}],"functionName":{"name":"mstore","nativeSrc":"11513:6:1","nodeType":"YulIdentifier","src":"11513:6:1"},"nativeSrc":"11513:26:1","nodeType":"YulFunctionCall","src":"11513:26:1"},"nativeSrc":"11513:26:1","nodeType":"YulExpressionStatement","src":"11513:26:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11585:4:1","nodeType":"YulIdentifier","src":"11585:4:1"},{"name":"pU","nativeSrc":"11591:2:1","nodeType":"YulIdentifier","src":"11591:2:1"}],"functionName":{"name":"add","nativeSrc":"11581:3:1","nodeType":"YulIdentifier","src":"11581:3:1"},"nativeSrc":"11581:13:1","nodeType":"YulFunctionCall","src":"11581:13:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11614:6:1","nodeType":"YulIdentifier","src":"11614:6:1"},{"name":"pWxi","nativeSrc":"11622:4:1","nodeType":"YulIdentifier","src":"11622:4:1"}],"functionName":{"name":"add","nativeSrc":"11610:3:1","nodeType":"YulIdentifier","src":"11610:3:1"},"nativeSrc":"11610:17:1","nodeType":"YulFunctionCall","src":"11610:17:1"},{"kind":"number","nativeSrc":"11629:3:1","nodeType":"YulLiteral","src":"11629:3:1","type":"","value":"128"}],"functionName":{"name":"keccak256","nativeSrc":"11600:9:1","nodeType":"YulIdentifier","src":"11600:9:1"},"nativeSrc":"11600:33:1","nodeType":"YulFunctionCall","src":"11600:33:1"},{"name":"q","nativeSrc":"11635:1:1","nodeType":"YulIdentifier","src":"11635:1:1"}],"functionName":{"name":"mod","nativeSrc":"11596:3:1","nodeType":"YulIdentifier","src":"11596:3:1"},"nativeSrc":"11596:41:1","nodeType":"YulFunctionCall","src":"11596:41:1"}],"functionName":{"name":"mstore","nativeSrc":"11573:6:1","nodeType":"YulIdentifier","src":"11573:6:1"},"nativeSrc":"11573:65:1","nodeType":"YulFunctionCall","src":"11573:65:1"},"nativeSrc":"11573:65:1","nodeType":"YulExpressionStatement","src":"11573:65:1"}]},"name":"calculateChallanges","nativeSrc":"8824:2828:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8853:6:1","nodeType":"YulTypedName","src":"8853:6:1","type":""},{"name":"pMem","nativeSrc":"8861:4:1","nodeType":"YulTypedName","src":"8861:4:1","type":""},{"name":"pPublic","nativeSrc":"8867:7:1","nodeType":"YulTypedName","src":"8867:7:1","type":""}],"src":"8824:2828:1"},{"body":{"nativeSrc":"11711:1140:1","nodeType":"YulBlock","src":"11711:1140:1","statements":[{"nativeSrc":"11730:10:1","nodeType":"YulVariableDeclaration","src":"11730:10:1","value":{"kind":"number","nativeSrc":"11739:1:1","nodeType":"YulLiteral","src":"11739:1:1","type":"","value":"1"},"variables":[{"name":"w","nativeSrc":"11734:1:1","nodeType":"YulTypedName","src":"11734:1:1","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11822:4:1","nodeType":"YulIdentifier","src":"11822:4:1"},{"name":"pEval_l1","nativeSrc":"11828:8:1","nodeType":"YulIdentifier","src":"11828:8:1"}],"functionName":{"name":"add","nativeSrc":"11818:3:1","nodeType":"YulIdentifier","src":"11818:3:1"},"nativeSrc":"11818:19:1","nodeType":"YulFunctionCall","src":"11818:19:1"},{"arguments":[{"name":"n","nativeSrc":"11892:1:1","nodeType":"YulIdentifier","src":"11892:1:1"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12041:4:1","nodeType":"YulIdentifier","src":"12041:4:1"},{"name":"pXi","nativeSrc":"12047:3:1","nodeType":"YulIdentifier","src":"12047:3:1"}],"functionName":{"name":"add","nativeSrc":"12037:3:1","nodeType":"YulIdentifier","src":"12037:3:1"},"nativeSrc":"12037:14:1","nodeType":"YulFunctionCall","src":"12037:14:1"}],"functionName":{"name":"mload","nativeSrc":"12031:5:1","nodeType":"YulIdentifier","src":"12031:5:1"},"nativeSrc":"12031:21:1","nodeType":"YulFunctionCall","src":"12031:21:1"},{"name":"w","nativeSrc":"12091:1:1","nodeType":"YulIdentifier","src":"12091:1:1"}],"functionName":{"name":"sub","nativeSrc":"11990:3:1","nodeType":"YulIdentifier","src":"11990:3:1"},"nativeSrc":"11990:136:1","nodeType":"YulFunctionCall","src":"11990:136:1"},{"name":"q","nativeSrc":"12161:1:1","nodeType":"YulIdentifier","src":"12161:1:1"}],"functionName":{"name":"add","nativeSrc":"11953:3:1","nodeType":"YulIdentifier","src":"11953:3:1"},"nativeSrc":"11953:239:1","nodeType":"YulFunctionCall","src":"11953:239:1"},{"name":"q","nativeSrc":"12222:1:1","nodeType":"YulIdentifier","src":"12222:1:1"}],"functionName":{"name":"mod","nativeSrc":"11920:3:1","nodeType":"YulIdentifier","src":"11920:3:1"},"nativeSrc":"11920:329:1","nodeType":"YulFunctionCall","src":"11920:329:1"},{"name":"q","nativeSrc":"12276:1:1","nodeType":"YulIdentifier","src":"12276:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"11860:6:1","nodeType":"YulIdentifier","src":"11860:6:1"},"nativeSrc":"11860:439:1","nodeType":"YulFunctionCall","src":"11860:439:1"}],"functionName":{"name":"mstore","nativeSrc":"11790:6:1","nodeType":"YulIdentifier","src":"11790:6:1"},"nativeSrc":"11790:527:1","nodeType":"YulFunctionCall","src":"11790:527:1"},"nativeSrc":"11790:527:1","nodeType":"YulExpressionStatement","src":"11790:527:1"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12402:4:1","nodeType":"YulIdentifier","src":"12402:4:1"},{"name":"pZhInv","nativeSrc":"12408:6:1","nodeType":"YulIdentifier","src":"12408:6:1"}],"functionName":{"name":"add","nativeSrc":"12398:3:1","nodeType":"YulIdentifier","src":"12398:3:1"},"nativeSrc":"12398:17:1","nodeType":"YulFunctionCall","src":"12398:17:1"},{"kind":"number","nativeSrc":"12417:1:1","nodeType":"YulLiteral","src":"12417:1:1","type":"","value":"2"}],"functionName":{"name":"inverseArray","nativeSrc":"12385:12:1","nodeType":"YulIdentifier","src":"12385:12:1"},"nativeSrc":"12385:35:1","nodeType":"YulFunctionCall","src":"12385:35:1"},"nativeSrc":"12385:35:1","nodeType":"YulExpressionStatement","src":"12385:35:1"},{"nativeSrc":"12454:31:1","nodeType":"YulVariableDeclaration","src":"12454:31:1","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12474:4:1","nodeType":"YulIdentifier","src":"12474:4:1"},{"name":"pZh","nativeSrc":"12480:3:1","nodeType":"YulIdentifier","src":"12480:3:1"}],"functionName":{"name":"add","nativeSrc":"12470:3:1","nodeType":"YulIdentifier","src":"12470:3:1"},"nativeSrc":"12470:14:1","nodeType":"YulFunctionCall","src":"12470:14:1"}],"functionName":{"name":"mload","nativeSrc":"12464:5:1","nodeType":"YulIdentifier","src":"12464:5:1"},"nativeSrc":"12464:21:1","nodeType":"YulFunctionCall","src":"12464:21:1"},"variables":[{"name":"zh","nativeSrc":"12458:2:1","nodeType":"YulTypedName","src":"12458:2:1","type":""}]},{"nativeSrc":"12502:6:1","nodeType":"YulAssignment","src":"12502:6:1","value":{"kind":"number","nativeSrc":"12507:1:1","nodeType":"YulLiteral","src":"12507:1:1","type":"","value":"1"},"variableNames":[{"name":"w","nativeSrc":"12502:1:1","nodeType":"YulIdentifier","src":"12502:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12591:4:1","nodeType":"YulIdentifier","src":"12591:4:1"},{"name":"pEval_l1","nativeSrc":"12597:8:1","nodeType":"YulIdentifier","src":"12597:8:1"}],"functionName":{"name":"add","nativeSrc":"12587:3:1","nodeType":"YulIdentifier","src":"12587:3:1"},"nativeSrc":"12587:20:1","nodeType":"YulFunctionCall","src":"12587:20:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12672:4:1","nodeType":"YulIdentifier","src":"12672:4:1"},{"name":"pEval_l1","nativeSrc":"12678:8:1","nodeType":"YulIdentifier","src":"12678:8:1"}],"functionName":{"name":"add","nativeSrc":"12668:3:1","nodeType":"YulIdentifier","src":"12668:3:1"},"nativeSrc":"12668:20:1","nodeType":"YulFunctionCall","src":"12668:20:1"}],"functionName":{"name":"mload","nativeSrc":"12662:5:1","nodeType":"YulIdentifier","src":"12662:5:1"},"nativeSrc":"12662:27:1","nodeType":"YulFunctionCall","src":"12662:27:1"},{"name":"zh","nativeSrc":"12715:2:1","nodeType":"YulIdentifier","src":"12715:2:1"},{"name":"q","nativeSrc":"12743:1:1","nodeType":"YulIdentifier","src":"12743:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"12630:6:1","nodeType":"YulIdentifier","src":"12630:6:1"},"nativeSrc":"12630:136:1","nodeType":"YulFunctionCall","src":"12630:136:1"}],"functionName":{"name":"mstore","nativeSrc":"12559:6:1","nodeType":"YulIdentifier","src":"12559:6:1"},"nativeSrc":"12559:225:1","nodeType":"YulFunctionCall","src":"12559:225:1"},"nativeSrc":"12559:225:1","nodeType":"YulExpressionStatement","src":"12559:225:1"}]},"name":"calculateLagrange","nativeSrc":"11678:1173:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"11705:4:1","nodeType":"YulTypedName","src":"11705:4:1","type":""}],"src":"11678:1173:1"},{"body":{"nativeSrc":"12910:618:1","nodeType":"YulBlock","src":"12910:618:1","statements":[{"nativeSrc":"12928:11:1","nodeType":"YulVariableDeclaration","src":"12928:11:1","value":{"kind":"number","nativeSrc":"12938:1:1","nodeType":"YulLiteral","src":"12938:1:1","type":"","value":"0"},"variables":[{"name":"pl","nativeSrc":"12932:2:1","nodeType":"YulTypedName","src":"12932:2:1","type":""}]},{"nativeSrc":"12991:428:1","nodeType":"YulAssignment","src":"12991:428:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pl","nativeSrc":"13084:2:1","nodeType":"YulIdentifier","src":"13084:2:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13168:4:1","nodeType":"YulIdentifier","src":"13168:4:1"},{"name":"pEval_l1","nativeSrc":"13174:8:1","nodeType":"YulIdentifier","src":"13174:8:1"}],"functionName":{"name":"add","nativeSrc":"13164:3:1","nodeType":"YulIdentifier","src":"13164:3:1"},"nativeSrc":"13164:19:1","nodeType":"YulFunctionCall","src":"13164:19:1"}],"functionName":{"name":"mload","nativeSrc":"13158:5:1","nodeType":"YulIdentifier","src":"13158:5:1"},"nativeSrc":"13158:26:1","nodeType":"YulFunctionCall","src":"13158:26:1"},{"arguments":[{"arguments":[{"name":"pPub","nativeSrc":"13228:4:1","nodeType":"YulIdentifier","src":"13228:4:1"},{"kind":"number","nativeSrc":"13234:2:1","nodeType":"YulLiteral","src":"13234:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13224:3:1","nodeType":"YulIdentifier","src":"13224:3:1"},"nativeSrc":"13224:13:1","nodeType":"YulFunctionCall","src":"13224:13:1"}],"functionName":{"name":"mload","nativeSrc":"13218:5:1","nodeType":"YulIdentifier","src":"13218:5:1"},"nativeSrc":"13218:20:1","nodeType":"YulFunctionCall","src":"13218:20:1"},{"name":"q","nativeSrc":"13272:1:1","nodeType":"YulIdentifier","src":"13272:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"13118:6:1","nodeType":"YulIdentifier","src":"13118:6:1"},"nativeSrc":"13118:185:1","nodeType":"YulFunctionCall","src":"13118:185:1"}],"functionName":{"name":"sub","nativeSrc":"13051:3:1","nodeType":"YulIdentifier","src":"13051:3:1"},"nativeSrc":"13051:278:1","nodeType":"YulFunctionCall","src":"13051:278:1"},{"name":"q","nativeSrc":"13355:1:1","nodeType":"YulIdentifier","src":"13355:1:1"}],"functionName":{"name":"add","nativeSrc":"13022:3:1","nodeType":"YulIdentifier","src":"13022:3:1"},"nativeSrc":"13022:356:1","nodeType":"YulFunctionCall","src":"13022:356:1"},{"name":"q","nativeSrc":"13400:1:1","nodeType":"YulIdentifier","src":"13400:1:1"}],"functionName":{"name":"mod","nativeSrc":"12997:3:1","nodeType":"YulIdentifier","src":"12997:3:1"},"nativeSrc":"12997:422:1","nodeType":"YulFunctionCall","src":"12997:422:1"},"variableNames":[{"name":"pl","nativeSrc":"12991:2:1","nodeType":"YulIdentifier","src":"12991:2:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13481:4:1","nodeType":"YulIdentifier","src":"13481:4:1"},{"name":"pPl","nativeSrc":"13487:3:1","nodeType":"YulIdentifier","src":"13487:3:1"}],"functionName":{"name":"add","nativeSrc":"13477:3:1","nodeType":"YulIdentifier","src":"13477:3:1"},"nativeSrc":"13477:14:1","nodeType":"YulFunctionCall","src":"13477:14:1"},{"name":"pl","nativeSrc":"13493:2:1","nodeType":"YulIdentifier","src":"13493:2:1"}],"functionName":{"name":"mstore","nativeSrc":"13470:6:1","nodeType":"YulIdentifier","src":"13470:6:1"},"nativeSrc":"13470:26:1","nodeType":"YulFunctionCall","src":"13470:26:1"},"nativeSrc":"13470:26:1","nodeType":"YulExpressionStatement","src":"13470:26:1"}]},"name":"calculatePl","nativeSrc":"12877:651:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"12898:4:1","nodeType":"YulTypedName","src":"12898:4:1","type":""},{"name":"pPub","nativeSrc":"12904:4:1","nodeType":"YulTypedName","src":"12904:4:1","type":""}],"src":"12877:651:1"},{"body":{"nativeSrc":"13576:2162:1","nodeType":"YulBlock","src":"13576:2162:1","statements":[{"nativeSrc":"13594:5:1","nodeType":"YulVariableDeclaration","src":"13594:5:1","variables":[{"name":"t","nativeSrc":"13598:1:1","nodeType":"YulTypedName","src":"13598:1:1","type":""}]},{"nativeSrc":"13616:6:1","nodeType":"YulVariableDeclaration","src":"13616:6:1","variables":[{"name":"t1","nativeSrc":"13620:2:1","nodeType":"YulTypedName","src":"13620:2:1","type":""}]},{"nativeSrc":"13639:6:1","nodeType":"YulVariableDeclaration","src":"13639:6:1","variables":[{"name":"t2","nativeSrc":"13643:2:1","nodeType":"YulTypedName","src":"13643:2:1","type":""}]},{"nativeSrc":"13662:146:1","nodeType":"YulAssignment","src":"13662:146:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13705:6:1","nodeType":"YulIdentifier","src":"13705:6:1"},{"name":"pEval_r","nativeSrc":"13713:7:1","nodeType":"YulIdentifier","src":"13713:7:1"}],"functionName":{"name":"add","nativeSrc":"13701:3:1","nodeType":"YulIdentifier","src":"13701:3:1"},"nativeSrc":"13701:20:1","nodeType":"YulFunctionCall","src":"13701:20:1"}],"functionName":{"name":"mload","nativeSrc":"13695:5:1","nodeType":"YulIdentifier","src":"13695:5:1"},"nativeSrc":"13695:27:1","nodeType":"YulFunctionCall","src":"13695:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13755:4:1","nodeType":"YulIdentifier","src":"13755:4:1"},{"name":"pPl","nativeSrc":"13761:3:1","nodeType":"YulIdentifier","src":"13761:3:1"}],"functionName":{"name":"add","nativeSrc":"13751:3:1","nodeType":"YulIdentifier","src":"13751:3:1"},"nativeSrc":"13751:14:1","nodeType":"YulFunctionCall","src":"13751:14:1"}],"functionName":{"name":"mload","nativeSrc":"13745:5:1","nodeType":"YulIdentifier","src":"13745:5:1"},"nativeSrc":"13745:21:1","nodeType":"YulFunctionCall","src":"13745:21:1"},{"name":"q","nativeSrc":"13789:1:1","nodeType":"YulIdentifier","src":"13789:1:1"}],"functionName":{"name":"addmod","nativeSrc":"13667:6:1","nodeType":"YulIdentifier","src":"13667:6:1"},"nativeSrc":"13667:141:1","nodeType":"YulFunctionCall","src":"13667:141:1"},"variableNames":[{"name":"t","nativeSrc":"13662:1:1","nodeType":"YulIdentifier","src":"13662:1:1"}]},{"nativeSrc":"13842:148:1","nodeType":"YulAssignment","src":"13842:148:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13886:6:1","nodeType":"YulIdentifier","src":"13886:6:1"},{"name":"pEval_s1","nativeSrc":"13894:8:1","nodeType":"YulIdentifier","src":"13894:8:1"}],"functionName":{"name":"add","nativeSrc":"13882:3:1","nodeType":"YulIdentifier","src":"13882:3:1"},"nativeSrc":"13882:21:1","nodeType":"YulFunctionCall","src":"13882:21:1"}],"functionName":{"name":"mload","nativeSrc":"13876:5:1","nodeType":"YulIdentifier","src":"13876:5:1"},"nativeSrc":"13876:28:1","nodeType":"YulFunctionCall","src":"13876:28:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13936:4:1","nodeType":"YulIdentifier","src":"13936:4:1"},{"name":"pBeta","nativeSrc":"13942:5:1","nodeType":"YulIdentifier","src":"13942:5:1"}],"functionName":{"name":"add","nativeSrc":"13932:3:1","nodeType":"YulIdentifier","src":"13932:3:1"},"nativeSrc":"13932:16:1","nodeType":"YulFunctionCall","src":"13932:16:1"}],"functionName":{"name":"mload","nativeSrc":"13926:5:1","nodeType":"YulIdentifier","src":"13926:5:1"},"nativeSrc":"13926:23:1","nodeType":"YulFunctionCall","src":"13926:23:1"},{"name":"q","nativeSrc":"13971:1:1","nodeType":"YulIdentifier","src":"13971:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"13848:6:1","nodeType":"YulIdentifier","src":"13848:6:1"},"nativeSrc":"13848:142:1","nodeType":"YulFunctionCall","src":"13848:142:1"},"variableNames":[{"name":"t1","nativeSrc":"13842:2:1","nodeType":"YulIdentifier","src":"13842:2:1"}]},{"nativeSrc":"14008:126:1","nodeType":"YulAssignment","src":"14008:126:1","value":{"arguments":[{"name":"t1","nativeSrc":"14042:2:1","nodeType":"YulIdentifier","src":"14042:2:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14076:6:1","nodeType":"YulIdentifier","src":"14076:6:1"},{"name":"pEval_a","nativeSrc":"14084:7:1","nodeType":"YulIdentifier","src":"14084:7:1"}],"functionName":{"name":"add","nativeSrc":"14072:3:1","nodeType":"YulIdentifier","src":"14072:3:1"},"nativeSrc":"14072:20:1","nodeType":"YulFunctionCall","src":"14072:20:1"}],"functionName":{"name":"mload","nativeSrc":"14066:5:1","nodeType":"YulIdentifier","src":"14066:5:1"},"nativeSrc":"14066:27:1","nodeType":"YulFunctionCall","src":"14066:27:1"},{"name":"q","nativeSrc":"14115:1:1","nodeType":"YulIdentifier","src":"14115:1:1"}],"functionName":{"name":"addmod","nativeSrc":"14014:6:1","nodeType":"YulIdentifier","src":"14014:6:1"},"nativeSrc":"14014:120:1","nodeType":"YulFunctionCall","src":"14014:120:1"},"variableNames":[{"name":"t1","nativeSrc":"14008:2:1","nodeType":"YulIdentifier","src":"14008:2:1"}]},{"nativeSrc":"14168:123:1","nodeType":"YulAssignment","src":"14168:123:1","value":{"arguments":[{"name":"t1","nativeSrc":"14202:2:1","nodeType":"YulIdentifier","src":"14202:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14236:4:1","nodeType":"YulIdentifier","src":"14236:4:1"},{"name":"pGamma","nativeSrc":"14242:6:1","nodeType":"YulIdentifier","src":"14242:6:1"}],"functionName":{"name":"add","nativeSrc":"14232:3:1","nodeType":"YulIdentifier","src":"14232:3:1"},"nativeSrc":"14232:17:1","nodeType":"YulFunctionCall","src":"14232:17:1"}],"functionName":{"name":"mload","nativeSrc":"14226:5:1","nodeType":"YulIdentifier","src":"14226:5:1"},"nativeSrc":"14226:24:1","nodeType":"YulFunctionCall","src":"14226:24:1"},{"name":"q","nativeSrc":"14272:1:1","nodeType":"YulIdentifier","src":"14272:1:1"}],"functionName":{"name":"addmod","nativeSrc":"14174:6:1","nodeType":"YulIdentifier","src":"14174:6:1"},"nativeSrc":"14174:117:1","nodeType":"YulFunctionCall","src":"14174:117:1"},"variableNames":[{"name":"t1","nativeSrc":"14168:2:1","nodeType":"YulIdentifier","src":"14168:2:1"}]},{"nativeSrc":"14309:148:1","nodeType":"YulAssignment","src":"14309:148:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14353:6:1","nodeType":"YulIdentifier","src":"14353:6:1"},{"name":"pEval_s2","nativeSrc":"14361:8:1","nodeType":"YulIdentifier","src":"14361:8:1"}],"functionName":{"name":"add","nativeSrc":"14349:3:1","nodeType":"YulIdentifier","src":"14349:3:1"},"nativeSrc":"14349:21:1","nodeType":"YulFunctionCall","src":"14349:21:1"}],"functionName":{"name":"mload","nativeSrc":"14343:5:1","nodeType":"YulIdentifier","src":"14343:5:1"},"nativeSrc":"14343:28:1","nodeType":"YulFunctionCall","src":"14343:28:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14403:4:1","nodeType":"YulIdentifier","src":"14403:4:1"},{"name":"pBeta","nativeSrc":"14409:5:1","nodeType":"YulIdentifier","src":"14409:5:1"}],"functionName":{"name":"add","nativeSrc":"14399:3:1","nodeType":"YulIdentifier","src":"14399:3:1"},"nativeSrc":"14399:16:1","nodeType":"YulFunctionCall","src":"14399:16:1"}],"functionName":{"name":"mload","nativeSrc":"14393:5:1","nodeType":"YulIdentifier","src":"14393:5:1"},"nativeSrc":"14393:23:1","nodeType":"YulFunctionCall","src":"14393:23:1"},{"name":"q","nativeSrc":"14438:1:1","nodeType":"YulIdentifier","src":"14438:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"14315:6:1","nodeType":"YulIdentifier","src":"14315:6:1"},"nativeSrc":"14315:142:1","nodeType":"YulFunctionCall","src":"14315:142:1"},"variableNames":[{"name":"t2","nativeSrc":"14309:2:1","nodeType":"YulIdentifier","src":"14309:2:1"}]},{"nativeSrc":"14475:126:1","nodeType":"YulAssignment","src":"14475:126:1","value":{"arguments":[{"name":"t2","nativeSrc":"14509:2:1","nodeType":"YulIdentifier","src":"14509:2:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14543:6:1","nodeType":"YulIdentifier","src":"14543:6:1"},{"name":"pEval_b","nativeSrc":"14551:7:1","nodeType":"YulIdentifier","src":"14551:7:1"}],"functionName":{"name":"add","nativeSrc":"14539:3:1","nodeType":"YulIdentifier","src":"14539:3:1"},"nativeSrc":"14539:20:1","nodeType":"YulFunctionCall","src":"14539:20:1"}],"functionName":{"name":"mload","nativeSrc":"14533:5:1","nodeType":"YulIdentifier","src":"14533:5:1"},"nativeSrc":"14533:27:1","nodeType":"YulFunctionCall","src":"14533:27:1"},{"name":"q","nativeSrc":"14582:1:1","nodeType":"YulIdentifier","src":"14582:1:1"}],"functionName":{"name":"addmod","nativeSrc":"14481:6:1","nodeType":"YulIdentifier","src":"14481:6:1"},"nativeSrc":"14481:120:1","nodeType":"YulFunctionCall","src":"14481:120:1"},"variableNames":[{"name":"t2","nativeSrc":"14475:2:1","nodeType":"YulIdentifier","src":"14475:2:1"}]},{"nativeSrc":"14635:123:1","nodeType":"YulAssignment","src":"14635:123:1","value":{"arguments":[{"name":"t2","nativeSrc":"14669:2:1","nodeType":"YulIdentifier","src":"14669:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14703:4:1","nodeType":"YulIdentifier","src":"14703:4:1"},{"name":"pGamma","nativeSrc":"14709:6:1","nodeType":"YulIdentifier","src":"14709:6:1"}],"functionName":{"name":"add","nativeSrc":"14699:3:1","nodeType":"YulIdentifier","src":"14699:3:1"},"nativeSrc":"14699:17:1","nodeType":"YulFunctionCall","src":"14699:17:1"}],"functionName":{"name":"mload","nativeSrc":"14693:5:1","nodeType":"YulIdentifier","src":"14693:5:1"},"nativeSrc":"14693:24:1","nodeType":"YulFunctionCall","src":"14693:24:1"},{"name":"q","nativeSrc":"14739:1:1","nodeType":"YulIdentifier","src":"14739:1:1"}],"functionName":{"name":"addmod","nativeSrc":"14641:6:1","nodeType":"YulIdentifier","src":"14641:6:1"},"nativeSrc":"14641:117:1","nodeType":"YulFunctionCall","src":"14641:117:1"},"variableNames":[{"name":"t2","nativeSrc":"14635:2:1","nodeType":"YulIdentifier","src":"14635:2:1"}]},{"nativeSrc":"14792:23:1","nodeType":"YulAssignment","src":"14792:23:1","value":{"arguments":[{"name":"t1","nativeSrc":"14805:2:1","nodeType":"YulIdentifier","src":"14805:2:1"},{"name":"t2","nativeSrc":"14809:2:1","nodeType":"YulIdentifier","src":"14809:2:1"},{"name":"q","nativeSrc":"14813:1:1","nodeType":"YulIdentifier","src":"14813:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"14798:6:1","nodeType":"YulIdentifier","src":"14798:6:1"},"nativeSrc":"14798:17:1","nodeType":"YulFunctionCall","src":"14798:17:1"},"variableNames":[{"name":"t1","nativeSrc":"14792:2:1","nodeType":"YulIdentifier","src":"14792:2:1"}]},{"nativeSrc":"14849:148:1","nodeType":"YulAssignment","src":"14849:148:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14893:6:1","nodeType":"YulIdentifier","src":"14893:6:1"},{"name":"pEval_c","nativeSrc":"14901:7:1","nodeType":"YulIdentifier","src":"14901:7:1"}],"functionName":{"name":"add","nativeSrc":"14889:3:1","nodeType":"YulIdentifier","src":"14889:3:1"},"nativeSrc":"14889:20:1","nodeType":"YulFunctionCall","src":"14889:20:1"}],"functionName":{"name":"mload","nativeSrc":"14883:5:1","nodeType":"YulIdentifier","src":"14883:5:1"},"nativeSrc":"14883:27:1","nodeType":"YulFunctionCall","src":"14883:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14942:4:1","nodeType":"YulIdentifier","src":"14942:4:1"},{"name":"pGamma","nativeSrc":"14948:6:1","nodeType":"YulIdentifier","src":"14948:6:1"}],"functionName":{"name":"add","nativeSrc":"14938:3:1","nodeType":"YulIdentifier","src":"14938:3:1"},"nativeSrc":"14938:17:1","nodeType":"YulFunctionCall","src":"14938:17:1"}],"functionName":{"name":"mload","nativeSrc":"14932:5:1","nodeType":"YulIdentifier","src":"14932:5:1"},"nativeSrc":"14932:24:1","nodeType":"YulFunctionCall","src":"14932:24:1"},{"name":"q","nativeSrc":"14978:1:1","nodeType":"YulIdentifier","src":"14978:1:1"}],"functionName":{"name":"addmod","nativeSrc":"14855:6:1","nodeType":"YulIdentifier","src":"14855:6:1"},"nativeSrc":"14855:142:1","nodeType":"YulFunctionCall","src":"14855:142:1"},"variableNames":[{"name":"t2","nativeSrc":"14849:2:1","nodeType":"YulIdentifier","src":"14849:2:1"}]},{"nativeSrc":"15015:23:1","nodeType":"YulAssignment","src":"15015:23:1","value":{"arguments":[{"name":"t1","nativeSrc":"15028:2:1","nodeType":"YulIdentifier","src":"15028:2:1"},{"name":"t2","nativeSrc":"15032:2:1","nodeType":"YulIdentifier","src":"15032:2:1"},{"name":"q","nativeSrc":"15036:1:1","nodeType":"YulIdentifier","src":"15036:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"15021:6:1","nodeType":"YulIdentifier","src":"15021:6:1"},"nativeSrc":"15021:17:1","nodeType":"YulFunctionCall","src":"15021:17:1"},"variableNames":[{"name":"t1","nativeSrc":"15015:2:1","nodeType":"YulIdentifier","src":"15015:2:1"}]},{"nativeSrc":"15055:49:1","nodeType":"YulAssignment","src":"15055:49:1","value":{"arguments":[{"name":"t1","nativeSrc":"15068:2:1","nodeType":"YulIdentifier","src":"15068:2:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"15082:6:1","nodeType":"YulIdentifier","src":"15082:6:1"},{"name":"pEval_zw","nativeSrc":"15090:8:1","nodeType":"YulIdentifier","src":"15090:8:1"}],"functionName":{"name":"add","nativeSrc":"15078:3:1","nodeType":"YulIdentifier","src":"15078:3:1"},"nativeSrc":"15078:21:1","nodeType":"YulFunctionCall","src":"15078:21:1"}],"functionName":{"name":"mload","nativeSrc":"15072:5:1","nodeType":"YulIdentifier","src":"15072:5:1"},"nativeSrc":"15072:28:1","nodeType":"YulFunctionCall","src":"15072:28:1"},{"name":"q","nativeSrc":"15102:1:1","nodeType":"YulIdentifier","src":"15102:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"15061:6:1","nodeType":"YulIdentifier","src":"15061:6:1"},"nativeSrc":"15061:43:1","nodeType":"YulFunctionCall","src":"15061:43:1"},"variableNames":[{"name":"t1","nativeSrc":"15055:2:1","nodeType":"YulIdentifier","src":"15055:2:1"}]},{"nativeSrc":"15121:45:1","nodeType":"YulAssignment","src":"15121:45:1","value":{"arguments":[{"name":"t1","nativeSrc":"15134:2:1","nodeType":"YulIdentifier","src":"15134:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15148:4:1","nodeType":"YulIdentifier","src":"15148:4:1"},{"name":"pAlpha","nativeSrc":"15154:6:1","nodeType":"YulIdentifier","src":"15154:6:1"}],"functionName":{"name":"add","nativeSrc":"15144:3:1","nodeType":"YulIdentifier","src":"15144:3:1"},"nativeSrc":"15144:17:1","nodeType":"YulFunctionCall","src":"15144:17:1"}],"functionName":{"name":"mload","nativeSrc":"15138:5:1","nodeType":"YulIdentifier","src":"15138:5:1"},"nativeSrc":"15138:24:1","nodeType":"YulFunctionCall","src":"15138:24:1"},{"name":"q","nativeSrc":"15164:1:1","nodeType":"YulIdentifier","src":"15164:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"15127:6:1","nodeType":"YulIdentifier","src":"15127:6:1"},"nativeSrc":"15127:39:1","nodeType":"YulFunctionCall","src":"15127:39:1"},"variableNames":[{"name":"t1","nativeSrc":"15121:2:1","nodeType":"YulIdentifier","src":"15121:2:1"}]},{"nativeSrc":"15200:149:1","nodeType":"YulAssignment","src":"15200:149:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15244:4:1","nodeType":"YulIdentifier","src":"15244:4:1"},{"name":"pEval_l1","nativeSrc":"15250:8:1","nodeType":"YulIdentifier","src":"15250:8:1"}],"functionName":{"name":"add","nativeSrc":"15240:3:1","nodeType":"YulIdentifier","src":"15240:3:1"},"nativeSrc":"15240:19:1","nodeType":"YulFunctionCall","src":"15240:19:1"}],"functionName":{"name":"mload","nativeSrc":"15234:5:1","nodeType":"YulIdentifier","src":"15234:5:1"},"nativeSrc":"15234:26:1","nodeType":"YulFunctionCall","src":"15234:26:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15293:4:1","nodeType":"YulIdentifier","src":"15293:4:1"},{"name":"pAlpha","nativeSrc":"15299:6:1","nodeType":"YulIdentifier","src":"15299:6:1"}],"functionName":{"name":"add","nativeSrc":"15289:3:1","nodeType":"YulIdentifier","src":"15289:3:1"},"nativeSrc":"15289:17:1","nodeType":"YulFunctionCall","src":"15289:17:1"}],"functionName":{"name":"mload","nativeSrc":"15283:5:1","nodeType":"YulIdentifier","src":"15283:5:1"},"nativeSrc":"15283:24:1","nodeType":"YulFunctionCall","src":"15283:24:1"},{"name":"q","nativeSrc":"15330:1:1","nodeType":"YulIdentifier","src":"15330:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"15206:6:1","nodeType":"YulIdentifier","src":"15206:6:1"},"nativeSrc":"15206:143:1","nodeType":"YulFunctionCall","src":"15206:143:1"},"variableNames":[{"name":"t2","nativeSrc":"15200:2:1","nodeType":"YulIdentifier","src":"15200:2:1"}]},{"nativeSrc":"15367:125:1","nodeType":"YulAssignment","src":"15367:125:1","value":{"arguments":[{"name":"t2","nativeSrc":"15401:2:1","nodeType":"YulIdentifier","src":"15401:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15436:4:1","nodeType":"YulIdentifier","src":"15436:4:1"},{"name":"pAlpha","nativeSrc":"15442:6:1","nodeType":"YulIdentifier","src":"15442:6:1"}],"functionName":{"name":"add","nativeSrc":"15432:3:1","nodeType":"YulIdentifier","src":"15432:3:1"},"nativeSrc":"15432:17:1","nodeType":"YulFunctionCall","src":"15432:17:1"}],"functionName":{"name":"mload","nativeSrc":"15426:5:1","nodeType":"YulIdentifier","src":"15426:5:1"},"nativeSrc":"15426:24:1","nodeType":"YulFunctionCall","src":"15426:24:1"},{"name":"q","nativeSrc":"15473:1:1","nodeType":"YulIdentifier","src":"15473:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"15373:6:1","nodeType":"YulIdentifier","src":"15373:6:1"},"nativeSrc":"15373:119:1","nodeType":"YulFunctionCall","src":"15373:119:1"},"variableNames":[{"name":"t2","nativeSrc":"15367:2:1","nodeType":"YulIdentifier","src":"15367:2:1"}]},{"nativeSrc":"15510:23:1","nodeType":"YulAssignment","src":"15510:23:1","value":{"arguments":[{"name":"t1","nativeSrc":"15523:2:1","nodeType":"YulIdentifier","src":"15523:2:1"},{"name":"t2","nativeSrc":"15527:2:1","nodeType":"YulIdentifier","src":"15527:2:1"},{"name":"q","nativeSrc":"15531:1:1","nodeType":"YulIdentifier","src":"15531:1:1"}],"functionName":{"name":"addmod","nativeSrc":"15516:6:1","nodeType":"YulIdentifier","src":"15516:6:1"},"nativeSrc":"15516:17:1","nodeType":"YulFunctionCall","src":"15516:17:1"},"variableNames":[{"name":"t1","nativeSrc":"15510:2:1","nodeType":"YulIdentifier","src":"15510:2:1"}]},{"nativeSrc":"15567:31:1","nodeType":"YulAssignment","src":"15567:31:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"t","nativeSrc":"15584:1:1","nodeType":"YulIdentifier","src":"15584:1:1"},{"name":"q","nativeSrc":"15587:1:1","nodeType":"YulIdentifier","src":"15587:1:1"}],"functionName":{"name":"add","nativeSrc":"15580:3:1","nodeType":"YulIdentifier","src":"15580:3:1"},"nativeSrc":"15580:9:1","nodeType":"YulFunctionCall","src":"15580:9:1"},{"name":"t1","nativeSrc":"15591:2:1","nodeType":"YulIdentifier","src":"15591:2:1"}],"functionName":{"name":"sub","nativeSrc":"15576:3:1","nodeType":"YulIdentifier","src":"15576:3:1"},"nativeSrc":"15576:18:1","nodeType":"YulFunctionCall","src":"15576:18:1"},{"name":"q","nativeSrc":"15596:1:1","nodeType":"YulIdentifier","src":"15596:1:1"}],"functionName":{"name":"mod","nativeSrc":"15572:3:1","nodeType":"YulIdentifier","src":"15572:3:1"},"nativeSrc":"15572:26:1","nodeType":"YulFunctionCall","src":"15572:26:1"},"variableNames":[{"name":"t","nativeSrc":"15567:1:1","nodeType":"YulIdentifier","src":"15567:1:1"}]},{"nativeSrc":"15615:43:1","nodeType":"YulAssignment","src":"15615:43:1","value":{"arguments":[{"name":"t","nativeSrc":"15627:1:1","nodeType":"YulIdentifier","src":"15627:1:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15640:4:1","nodeType":"YulIdentifier","src":"15640:4:1"},{"name":"pZhInv","nativeSrc":"15646:6:1","nodeType":"YulIdentifier","src":"15646:6:1"}],"functionName":{"name":"add","nativeSrc":"15636:3:1","nodeType":"YulIdentifier","src":"15636:3:1"},"nativeSrc":"15636:17:1","nodeType":"YulFunctionCall","src":"15636:17:1"}],"functionName":{"name":"mload","nativeSrc":"15630:5:1","nodeType":"YulIdentifier","src":"15630:5:1"},"nativeSrc":"15630:24:1","nodeType":"YulFunctionCall","src":"15630:24:1"},{"name":"q","nativeSrc":"15656:1:1","nodeType":"YulIdentifier","src":"15656:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"15620:6:1","nodeType":"YulIdentifier","src":"15620:6:1"},"nativeSrc":"15620:38:1","nodeType":"YulFunctionCall","src":"15620:38:1"},"variableNames":[{"name":"t","nativeSrc":"15615:1:1","nodeType":"YulIdentifier","src":"15615:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15704:4:1","nodeType":"YulIdentifier","src":"15704:4:1"},{"name":"pEval_t","nativeSrc":"15710:7:1","nodeType":"YulIdentifier","src":"15710:7:1"}],"functionName":{"name":"add","nativeSrc":"15700:3:1","nodeType":"YulIdentifier","src":"15700:3:1"},"nativeSrc":"15700:18:1","nodeType":"YulFunctionCall","src":"15700:18:1"},{"name":"t","nativeSrc":"15721:1:1","nodeType":"YulIdentifier","src":"15721:1:1"}],"functionName":{"name":"mstore","nativeSrc":"15692:6:1","nodeType":"YulIdentifier","src":"15692:6:1"},"nativeSrc":"15692:31:1","nodeType":"YulFunctionCall","src":"15692:31:1"},"nativeSrc":"15692:31:1","nodeType":"YulExpressionStatement","src":"15692:31:1"}]},"name":"calculateT","nativeSrc":"13542:2196:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"13562:6:1","nodeType":"YulTypedName","src":"13562:6:1","type":""},{"name":"pMem","nativeSrc":"13570:4:1","nodeType":"YulTypedName","src":"13570:4:1","type":""}],"src":"13542:2196:1"},{"body":{"nativeSrc":"15788:108:1","nodeType":"YulBlock","src":"15788:108:1","statements":[{"expression":{"arguments":[{"name":"pR","nativeSrc":"15813:2:1","nodeType":"YulIdentifier","src":"15813:2:1"},{"arguments":[{"name":"pP","nativeSrc":"15823:2:1","nodeType":"YulIdentifier","src":"15823:2:1"}],"functionName":{"name":"mload","nativeSrc":"15817:5:1","nodeType":"YulIdentifier","src":"15817:5:1"},"nativeSrc":"15817:9:1","nodeType":"YulFunctionCall","src":"15817:9:1"}],"functionName":{"name":"mstore","nativeSrc":"15806:6:1","nodeType":"YulIdentifier","src":"15806:6:1"},"nativeSrc":"15806:21:1","nodeType":"YulFunctionCall","src":"15806:21:1"},"nativeSrc":"15806:21:1","nodeType":"YulExpressionStatement","src":"15806:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"15855:2:1","nodeType":"YulIdentifier","src":"15855:2:1"},{"kind":"number","nativeSrc":"15859:2:1","nodeType":"YulLiteral","src":"15859:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15851:3:1","nodeType":"YulIdentifier","src":"15851:3:1"},"nativeSrc":"15851:11:1","nodeType":"YulFunctionCall","src":"15851:11:1"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"15874:2:1","nodeType":"YulIdentifier","src":"15874:2:1"},{"kind":"number","nativeSrc":"15877:2:1","nodeType":"YulLiteral","src":"15877:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15870:3:1","nodeType":"YulIdentifier","src":"15870:3:1"},"nativeSrc":"15870:10:1","nodeType":"YulFunctionCall","src":"15870:10:1"}],"functionName":{"name":"mload","nativeSrc":"15864:5:1","nodeType":"YulIdentifier","src":"15864:5:1"},"nativeSrc":"15864:17:1","nodeType":"YulFunctionCall","src":"15864:17:1"}],"functionName":{"name":"mstore","nativeSrc":"15844:6:1","nodeType":"YulIdentifier","src":"15844:6:1"},"nativeSrc":"15844:38:1","nodeType":"YulFunctionCall","src":"15844:38:1"},"nativeSrc":"15844:38:1","nodeType":"YulExpressionStatement","src":"15844:38:1"}]},"name":"g1_set","nativeSrc":"15764:132:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15780:2:1","nodeType":"YulTypedName","src":"15780:2:1","type":""},{"name":"pP","nativeSrc":"15784:2:1","nodeType":"YulTypedName","src":"15784:2:1","type":""}],"src":"15764:132:1"},{"body":{"nativeSrc":"15934:474:1","nodeType":"YulBlock","src":"15934:474:1","statements":[{"nativeSrc":"15952:22:1","nodeType":"YulVariableDeclaration","src":"15952:22:1","value":{"arguments":[{"kind":"number","nativeSrc":"15969:4:1","nodeType":"YulLiteral","src":"15969:4:1","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"15963:5:1","nodeType":"YulIdentifier","src":"15963:5:1"},"nativeSrc":"15963:11:1","nodeType":"YulFunctionCall","src":"15963:11:1"},"variables":[{"name":"mIn","nativeSrc":"15956:3:1","nodeType":"YulTypedName","src":"15956:3:1","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"15998:3:1","nodeType":"YulIdentifier","src":"15998:3:1"},{"arguments":[{"name":"pR","nativeSrc":"16009:2:1","nodeType":"YulIdentifier","src":"16009:2:1"}],"functionName":{"name":"mload","nativeSrc":"16003:5:1","nodeType":"YulIdentifier","src":"16003:5:1"},"nativeSrc":"16003:9:1","nodeType":"YulFunctionCall","src":"16003:9:1"}],"functionName":{"name":"mstore","nativeSrc":"15991:6:1","nodeType":"YulIdentifier","src":"15991:6:1"},"nativeSrc":"15991:22:1","nodeType":"YulFunctionCall","src":"15991:22:1"},"nativeSrc":"15991:22:1","nodeType":"YulExpressionStatement","src":"15991:22:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16041:3:1","nodeType":"YulIdentifier","src":"16041:3:1"},{"kind":"number","nativeSrc":"16045:2:1","nodeType":"YulLiteral","src":"16045:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16037:3:1","nodeType":"YulIdentifier","src":"16037:3:1"},"nativeSrc":"16037:11:1","nodeType":"YulFunctionCall","src":"16037:11:1"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16060:2:1","nodeType":"YulIdentifier","src":"16060:2:1"},{"kind":"number","nativeSrc":"16064:2:1","nodeType":"YulLiteral","src":"16064:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16056:3:1","nodeType":"YulIdentifier","src":"16056:3:1"},"nativeSrc":"16056:11:1","nodeType":"YulFunctionCall","src":"16056:11:1"}],"functionName":{"name":"mload","nativeSrc":"16050:5:1","nodeType":"YulIdentifier","src":"16050:5:1"},"nativeSrc":"16050:18:1","nodeType":"YulFunctionCall","src":"16050:18:1"}],"functionName":{"name":"mstore","nativeSrc":"16030:6:1","nodeType":"YulIdentifier","src":"16030:6:1"},"nativeSrc":"16030:39:1","nodeType":"YulFunctionCall","src":"16030:39:1"},"nativeSrc":"16030:39:1","nodeType":"YulExpressionStatement","src":"16030:39:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16097:3:1","nodeType":"YulIdentifier","src":"16097:3:1"},{"kind":"number","nativeSrc":"16101:2:1","nodeType":"YulLiteral","src":"16101:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16093:3:1","nodeType":"YulIdentifier","src":"16093:3:1"},"nativeSrc":"16093:11:1","nodeType":"YulFunctionCall","src":"16093:11:1"},{"arguments":[{"name":"pP","nativeSrc":"16112:2:1","nodeType":"YulIdentifier","src":"16112:2:1"}],"functionName":{"name":"mload","nativeSrc":"16106:5:1","nodeType":"YulIdentifier","src":"16106:5:1"},"nativeSrc":"16106:9:1","nodeType":"YulFunctionCall","src":"16106:9:1"}],"functionName":{"name":"mstore","nativeSrc":"16086:6:1","nodeType":"YulIdentifier","src":"16086:6:1"},"nativeSrc":"16086:30:1","nodeType":"YulFunctionCall","src":"16086:30:1"},"nativeSrc":"16086:30:1","nodeType":"YulExpressionStatement","src":"16086:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16144:3:1","nodeType":"YulIdentifier","src":"16144:3:1"},{"kind":"number","nativeSrc":"16148:2:1","nodeType":"YulLiteral","src":"16148:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16140:3:1","nodeType":"YulIdentifier","src":"16140:3:1"},"nativeSrc":"16140:11:1","nodeType":"YulFunctionCall","src":"16140:11:1"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16163:2:1","nodeType":"YulIdentifier","src":"16163:2:1"},{"kind":"number","nativeSrc":"16167:2:1","nodeType":"YulLiteral","src":"16167:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16159:3:1","nodeType":"YulIdentifier","src":"16159:3:1"},"nativeSrc":"16159:11:1","nodeType":"YulFunctionCall","src":"16159:11:1"}],"functionName":{"name":"mload","nativeSrc":"16153:5:1","nodeType":"YulIdentifier","src":"16153:5:1"},"nativeSrc":"16153:18:1","nodeType":"YulFunctionCall","src":"16153:18:1"}],"functionName":{"name":"mstore","nativeSrc":"16133:6:1","nodeType":"YulIdentifier","src":"16133:6:1"},"nativeSrc":"16133:39:1","nodeType":"YulFunctionCall","src":"16133:39:1"},"nativeSrc":"16133:39:1","nodeType":"YulExpressionStatement","src":"16133:39:1"},{"nativeSrc":"16190:64:1","nodeType":"YulVariableDeclaration","src":"16190:64:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16220:3:1","nodeType":"YulIdentifier","src":"16220:3:1"},"nativeSrc":"16220:5:1","nodeType":"YulFunctionCall","src":"16220:5:1"},{"kind":"number","nativeSrc":"16227:4:1","nodeType":"YulLiteral","src":"16227:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16216:3:1","nodeType":"YulIdentifier","src":"16216:3:1"},"nativeSrc":"16216:16:1","nodeType":"YulFunctionCall","src":"16216:16:1"},{"kind":"number","nativeSrc":"16234:1:1","nodeType":"YulLiteral","src":"16234:1:1","type":"","value":"6"},{"name":"mIn","nativeSrc":"16237:3:1","nodeType":"YulIdentifier","src":"16237:3:1"},{"kind":"number","nativeSrc":"16242:3:1","nodeType":"YulLiteral","src":"16242:3:1","type":"","value":"128"},{"name":"pR","nativeSrc":"16247:2:1","nodeType":"YulIdentifier","src":"16247:2:1"},{"kind":"number","nativeSrc":"16251:2:1","nodeType":"YulLiteral","src":"16251:2:1","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16205:10:1","nodeType":"YulIdentifier","src":"16205:10:1"},"nativeSrc":"16205:49:1","nodeType":"YulFunctionCall","src":"16205:49:1"},"variables":[{"name":"success","nativeSrc":"16194:7:1","nodeType":"YulTypedName","src":"16194:7:1","type":""}]},{"body":{"nativeSrc":"16307:87:1","nodeType":"YulBlock","src":"16307:87:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16336:1:1","nodeType":"YulLiteral","src":"16336:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"16339:1:1","nodeType":"YulLiteral","src":"16339:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16329:6:1","nodeType":"YulIdentifier","src":"16329:6:1"},"nativeSrc":"16329:12:1","nodeType":"YulFunctionCall","src":"16329:12:1"},"nativeSrc":"16329:12:1","nodeType":"YulExpressionStatement","src":"16329:12:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16369:1:1","nodeType":"YulLiteral","src":"16369:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"16371:4:1","nodeType":"YulLiteral","src":"16371:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16362:6:1","nodeType":"YulIdentifier","src":"16362:6:1"},"nativeSrc":"16362:14:1","nodeType":"YulFunctionCall","src":"16362:14:1"},"nativeSrc":"16362:14:1","nodeType":"YulExpressionStatement","src":"16362:14:1"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16298:7:1","nodeType":"YulIdentifier","src":"16298:7:1"}],"functionName":{"name":"iszero","nativeSrc":"16291:6:1","nodeType":"YulIdentifier","src":"16291:6:1"},"nativeSrc":"16291:15:1","nodeType":"YulFunctionCall","src":"16291:15:1"},"nativeSrc":"16288:106:1","nodeType":"YulIf","src":"16288:106:1"}]},"name":"g1_acc","nativeSrc":"15910:498:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15926:2:1","nodeType":"YulTypedName","src":"15926:2:1","type":""},{"name":"pP","nativeSrc":"15930:2:1","nodeType":"YulTypedName","src":"15930:2:1","type":""}],"src":"15910:498:1"},{"body":{"nativeSrc":"16452:789:1","nodeType":"YulBlock","src":"16452:789:1","statements":[{"nativeSrc":"16470:11:1","nodeType":"YulVariableDeclaration","src":"16470:11:1","variables":[{"name":"success","nativeSrc":"16474:7:1","nodeType":"YulTypedName","src":"16474:7:1","type":""}]},{"nativeSrc":"16498:22:1","nodeType":"YulVariableDeclaration","src":"16498:22:1","value":{"arguments":[{"kind":"number","nativeSrc":"16515:4:1","nodeType":"YulLiteral","src":"16515:4:1","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"16509:5:1","nodeType":"YulIdentifier","src":"16509:5:1"},"nativeSrc":"16509:11:1","nodeType":"YulFunctionCall","src":"16509:11:1"},"variables":[{"name":"mIn","nativeSrc":"16502:3:1","nodeType":"YulTypedName","src":"16502:3:1","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"16544:3:1","nodeType":"YulIdentifier","src":"16544:3:1"},{"arguments":[{"name":"pP","nativeSrc":"16555:2:1","nodeType":"YulIdentifier","src":"16555:2:1"}],"functionName":{"name":"mload","nativeSrc":"16549:5:1","nodeType":"YulIdentifier","src":"16549:5:1"},"nativeSrc":"16549:9:1","nodeType":"YulFunctionCall","src":"16549:9:1"}],"functionName":{"name":"mstore","nativeSrc":"16537:6:1","nodeType":"YulIdentifier","src":"16537:6:1"},"nativeSrc":"16537:22:1","nodeType":"YulFunctionCall","src":"16537:22:1"},"nativeSrc":"16537:22:1","nodeType":"YulExpressionStatement","src":"16537:22:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16587:3:1","nodeType":"YulIdentifier","src":"16587:3:1"},{"kind":"number","nativeSrc":"16591:2:1","nodeType":"YulLiteral","src":"16591:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16583:3:1","nodeType":"YulIdentifier","src":"16583:3:1"},"nativeSrc":"16583:11:1","nodeType":"YulFunctionCall","src":"16583:11:1"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16606:2:1","nodeType":"YulIdentifier","src":"16606:2:1"},{"kind":"number","nativeSrc":"16610:2:1","nodeType":"YulLiteral","src":"16610:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16602:3:1","nodeType":"YulIdentifier","src":"16602:3:1"},"nativeSrc":"16602:11:1","nodeType":"YulFunctionCall","src":"16602:11:1"}],"functionName":{"name":"mload","nativeSrc":"16596:5:1","nodeType":"YulIdentifier","src":"16596:5:1"},"nativeSrc":"16596:18:1","nodeType":"YulFunctionCall","src":"16596:18:1"}],"functionName":{"name":"mstore","nativeSrc":"16576:6:1","nodeType":"YulIdentifier","src":"16576:6:1"},"nativeSrc":"16576:39:1","nodeType":"YulFunctionCall","src":"16576:39:1"},"nativeSrc":"16576:39:1","nodeType":"YulExpressionStatement","src":"16576:39:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16643:3:1","nodeType":"YulIdentifier","src":"16643:3:1"},{"kind":"number","nativeSrc":"16647:2:1","nodeType":"YulLiteral","src":"16647:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16639:3:1","nodeType":"YulIdentifier","src":"16639:3:1"},"nativeSrc":"16639:11:1","nodeType":"YulFunctionCall","src":"16639:11:1"},{"name":"s","nativeSrc":"16652:1:1","nodeType":"YulIdentifier","src":"16652:1:1"}],"functionName":{"name":"mstore","nativeSrc":"16632:6:1","nodeType":"YulIdentifier","src":"16632:6:1"},"nativeSrc":"16632:22:1","nodeType":"YulFunctionCall","src":"16632:22:1"},"nativeSrc":"16632:22:1","nodeType":"YulExpressionStatement","src":"16632:22:1"},{"nativeSrc":"16672:60:1","nodeType":"YulAssignment","src":"16672:60:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16698:3:1","nodeType":"YulIdentifier","src":"16698:3:1"},"nativeSrc":"16698:5:1","nodeType":"YulFunctionCall","src":"16698:5:1"},{"kind":"number","nativeSrc":"16705:4:1","nodeType":"YulLiteral","src":"16705:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16694:3:1","nodeType":"YulIdentifier","src":"16694:3:1"},"nativeSrc":"16694:16:1","nodeType":"YulFunctionCall","src":"16694:16:1"},{"kind":"number","nativeSrc":"16712:1:1","nodeType":"YulLiteral","src":"16712:1:1","type":"","value":"7"},{"name":"mIn","nativeSrc":"16715:3:1","nodeType":"YulIdentifier","src":"16715:3:1"},{"kind":"number","nativeSrc":"16720:2:1","nodeType":"YulLiteral","src":"16720:2:1","type":"","value":"96"},{"name":"mIn","nativeSrc":"16724:3:1","nodeType":"YulIdentifier","src":"16724:3:1"},{"kind":"number","nativeSrc":"16729:2:1","nodeType":"YulLiteral","src":"16729:2:1","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16683:10:1","nodeType":"YulIdentifier","src":"16683:10:1"},"nativeSrc":"16683:49:1","nodeType":"YulFunctionCall","src":"16683:49:1"},"variableNames":[{"name":"success","nativeSrc":"16672:7:1","nodeType":"YulIdentifier","src":"16672:7:1"}]},{"body":{"nativeSrc":"16785:87:1","nodeType":"YulBlock","src":"16785:87:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16814:1:1","nodeType":"YulLiteral","src":"16814:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"16817:1:1","nodeType":"YulLiteral","src":"16817:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16807:6:1","nodeType":"YulIdentifier","src":"16807:6:1"},"nativeSrc":"16807:12:1","nodeType":"YulFunctionCall","src":"16807:12:1"},"nativeSrc":"16807:12:1","nodeType":"YulExpressionStatement","src":"16807:12:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16847:1:1","nodeType":"YulLiteral","src":"16847:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"16849:4:1","nodeType":"YulLiteral","src":"16849:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16840:6:1","nodeType":"YulIdentifier","src":"16840:6:1"},"nativeSrc":"16840:14:1","nodeType":"YulFunctionCall","src":"16840:14:1"},"nativeSrc":"16840:14:1","nodeType":"YulExpressionStatement","src":"16840:14:1"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16776:7:1","nodeType":"YulIdentifier","src":"16776:7:1"}],"functionName":{"name":"iszero","nativeSrc":"16769:6:1","nodeType":"YulIdentifier","src":"16769:6:1"},"nativeSrc":"16769:15:1","nodeType":"YulFunctionCall","src":"16769:15:1"},"nativeSrc":"16766:106:1","nodeType":"YulIf","src":"16766:106:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16917:3:1","nodeType":"YulIdentifier","src":"16917:3:1"},{"kind":"number","nativeSrc":"16921:2:1","nodeType":"YulLiteral","src":"16921:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16913:3:1","nodeType":"YulIdentifier","src":"16913:3:1"},"nativeSrc":"16913:11:1","nodeType":"YulFunctionCall","src":"16913:11:1"},{"arguments":[{"name":"pR","nativeSrc":"16932:2:1","nodeType":"YulIdentifier","src":"16932:2:1"}],"functionName":{"name":"mload","nativeSrc":"16926:5:1","nodeType":"YulIdentifier","src":"16926:5:1"},"nativeSrc":"16926:9:1","nodeType":"YulFunctionCall","src":"16926:9:1"}],"functionName":{"name":"mstore","nativeSrc":"16906:6:1","nodeType":"YulIdentifier","src":"16906:6:1"},"nativeSrc":"16906:30:1","nodeType":"YulFunctionCall","src":"16906:30:1"},"nativeSrc":"16906:30:1","nodeType":"YulExpressionStatement","src":"16906:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16964:3:1","nodeType":"YulIdentifier","src":"16964:3:1"},{"kind":"number","nativeSrc":"16968:2:1","nodeType":"YulLiteral","src":"16968:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16960:3:1","nodeType":"YulIdentifier","src":"16960:3:1"},"nativeSrc":"16960:11:1","nodeType":"YulFunctionCall","src":"16960:11:1"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16983:2:1","nodeType":"YulIdentifier","src":"16983:2:1"},{"kind":"number","nativeSrc":"16987:2:1","nodeType":"YulLiteral","src":"16987:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16979:3:1","nodeType":"YulIdentifier","src":"16979:3:1"},"nativeSrc":"16979:11:1","nodeType":"YulFunctionCall","src":"16979:11:1"}],"functionName":{"name":"mload","nativeSrc":"16973:5:1","nodeType":"YulIdentifier","src":"16973:5:1"},"nativeSrc":"16973:18:1","nodeType":"YulFunctionCall","src":"16973:18:1"}],"functionName":{"name":"mstore","nativeSrc":"16953:6:1","nodeType":"YulIdentifier","src":"16953:6:1"},"nativeSrc":"16953:39:1","nodeType":"YulFunctionCall","src":"16953:39:1"},"nativeSrc":"16953:39:1","nodeType":"YulExpressionStatement","src":"16953:39:1"},{"nativeSrc":"17010:60:1","nodeType":"YulAssignment","src":"17010:60:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17036:3:1","nodeType":"YulIdentifier","src":"17036:3:1"},"nativeSrc":"17036:5:1","nodeType":"YulFunctionCall","src":"17036:5:1"},{"kind":"number","nativeSrc":"17043:4:1","nodeType":"YulLiteral","src":"17043:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17032:3:1","nodeType":"YulIdentifier","src":"17032:3:1"},"nativeSrc":"17032:16:1","nodeType":"YulFunctionCall","src":"17032:16:1"},{"kind":"number","nativeSrc":"17050:1:1","nodeType":"YulLiteral","src":"17050:1:1","type":"","value":"6"},{"name":"mIn","nativeSrc":"17053:3:1","nodeType":"YulIdentifier","src":"17053:3:1"},{"kind":"number","nativeSrc":"17058:3:1","nodeType":"YulLiteral","src":"17058:3:1","type":"","value":"128"},{"name":"pR","nativeSrc":"17063:2:1","nodeType":"YulIdentifier","src":"17063:2:1"},{"kind":"number","nativeSrc":"17067:2:1","nodeType":"YulLiteral","src":"17067:2:1","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17021:10:1","nodeType":"YulIdentifier","src":"17021:10:1"},"nativeSrc":"17021:49:1","nodeType":"YulFunctionCall","src":"17021:49:1"},"variableNames":[{"name":"success","nativeSrc":"17010:7:1","nodeType":"YulIdentifier","src":"17010:7:1"}]},{"body":{"nativeSrc":"17123:87:1","nodeType":"YulBlock","src":"17123:87:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17152:1:1","nodeType":"YulLiteral","src":"17152:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"17155:1:1","nodeType":"YulLiteral","src":"17155:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17145:6:1","nodeType":"YulIdentifier","src":"17145:6:1"},"nativeSrc":"17145:12:1","nodeType":"YulFunctionCall","src":"17145:12:1"},"nativeSrc":"17145:12:1","nodeType":"YulExpressionStatement","src":"17145:12:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17185:1:1","nodeType":"YulLiteral","src":"17185:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"17187:4:1","nodeType":"YulLiteral","src":"17187:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17178:6:1","nodeType":"YulIdentifier","src":"17178:6:1"},"nativeSrc":"17178:14:1","nodeType":"YulFunctionCall","src":"17178:14:1"},"nativeSrc":"17178:14:1","nodeType":"YulExpressionStatement","src":"17178:14:1"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17114:7:1","nodeType":"YulIdentifier","src":"17114:7:1"}],"functionName":{"name":"iszero","nativeSrc":"17107:6:1","nodeType":"YulIdentifier","src":"17107:6:1"},"nativeSrc":"17107:15:1","nodeType":"YulFunctionCall","src":"17107:15:1"},"nativeSrc":"17104:106:1","nodeType":"YulIf","src":"17104:106:1"}]},"name":"g1_mulAcc","nativeSrc":"16422:819:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"16441:2:1","nodeType":"YulTypedName","src":"16441:2:1","type":""},{"name":"pP","nativeSrc":"16445:2:1","nodeType":"YulTypedName","src":"16445:2:1","type":""},{"name":"s","nativeSrc":"16449:1:1","nodeType":"YulTypedName","src":"16449:1:1","type":""}],"src":"16422:819:1"},{"body":{"nativeSrc":"17288:747:1","nodeType":"YulBlock","src":"17288:747:1","statements":[{"nativeSrc":"17306:11:1","nodeType":"YulVariableDeclaration","src":"17306:11:1","variables":[{"name":"success","nativeSrc":"17310:7:1","nodeType":"YulTypedName","src":"17310:7:1","type":""}]},{"nativeSrc":"17334:22:1","nodeType":"YulVariableDeclaration","src":"17334:22:1","value":{"arguments":[{"kind":"number","nativeSrc":"17351:4:1","nodeType":"YulLiteral","src":"17351:4:1","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17345:5:1","nodeType":"YulIdentifier","src":"17345:5:1"},"nativeSrc":"17345:11:1","nodeType":"YulFunctionCall","src":"17345:11:1"},"variables":[{"name":"mIn","nativeSrc":"17338:3:1","nodeType":"YulTypedName","src":"17338:3:1","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"17380:3:1","nodeType":"YulIdentifier","src":"17380:3:1"},{"name":"x","nativeSrc":"17385:1:1","nodeType":"YulIdentifier","src":"17385:1:1"}],"functionName":{"name":"mstore","nativeSrc":"17373:6:1","nodeType":"YulIdentifier","src":"17373:6:1"},"nativeSrc":"17373:14:1","nodeType":"YulFunctionCall","src":"17373:14:1"},"nativeSrc":"17373:14:1","nodeType":"YulExpressionStatement","src":"17373:14:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17415:3:1","nodeType":"YulIdentifier","src":"17415:3:1"},{"kind":"number","nativeSrc":"17419:2:1","nodeType":"YulLiteral","src":"17419:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17411:3:1","nodeType":"YulIdentifier","src":"17411:3:1"},"nativeSrc":"17411:11:1","nodeType":"YulFunctionCall","src":"17411:11:1"},{"name":"y","nativeSrc":"17424:1:1","nodeType":"YulIdentifier","src":"17424:1:1"}],"functionName":{"name":"mstore","nativeSrc":"17404:6:1","nodeType":"YulIdentifier","src":"17404:6:1"},"nativeSrc":"17404:22:1","nodeType":"YulFunctionCall","src":"17404:22:1"},"nativeSrc":"17404:22:1","nodeType":"YulExpressionStatement","src":"17404:22:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17454:3:1","nodeType":"YulIdentifier","src":"17454:3:1"},{"kind":"number","nativeSrc":"17458:2:1","nodeType":"YulLiteral","src":"17458:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17450:3:1","nodeType":"YulIdentifier","src":"17450:3:1"},"nativeSrc":"17450:11:1","nodeType":"YulFunctionCall","src":"17450:11:1"},{"name":"s","nativeSrc":"17463:1:1","nodeType":"YulIdentifier","src":"17463:1:1"}],"functionName":{"name":"mstore","nativeSrc":"17443:6:1","nodeType":"YulIdentifier","src":"17443:6:1"},"nativeSrc":"17443:22:1","nodeType":"YulFunctionCall","src":"17443:22:1"},"nativeSrc":"17443:22:1","nodeType":"YulExpressionStatement","src":"17443:22:1"},{"nativeSrc":"17483:60:1","nodeType":"YulAssignment","src":"17483:60:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17509:3:1","nodeType":"YulIdentifier","src":"17509:3:1"},"nativeSrc":"17509:5:1","nodeType":"YulFunctionCall","src":"17509:5:1"},{"kind":"number","nativeSrc":"17516:4:1","nodeType":"YulLiteral","src":"17516:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17505:3:1","nodeType":"YulIdentifier","src":"17505:3:1"},"nativeSrc":"17505:16:1","nodeType":"YulFunctionCall","src":"17505:16:1"},{"kind":"number","nativeSrc":"17523:1:1","nodeType":"YulLiteral","src":"17523:1:1","type":"","value":"7"},{"name":"mIn","nativeSrc":"17526:3:1","nodeType":"YulIdentifier","src":"17526:3:1"},{"kind":"number","nativeSrc":"17531:2:1","nodeType":"YulLiteral","src":"17531:2:1","type":"","value":"96"},{"name":"mIn","nativeSrc":"17535:3:1","nodeType":"YulIdentifier","src":"17535:3:1"},{"kind":"number","nativeSrc":"17540:2:1","nodeType":"YulLiteral","src":"17540:2:1","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17494:10:1","nodeType":"YulIdentifier","src":"17494:10:1"},"nativeSrc":"17494:49:1","nodeType":"YulFunctionCall","src":"17494:49:1"},"variableNames":[{"name":"success","nativeSrc":"17483:7:1","nodeType":"YulIdentifier","src":"17483:7:1"}]},{"body":{"nativeSrc":"17596:87:1","nodeType":"YulBlock","src":"17596:87:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17625:1:1","nodeType":"YulLiteral","src":"17625:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"17628:1:1","nodeType":"YulLiteral","src":"17628:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17618:6:1","nodeType":"YulIdentifier","src":"17618:6:1"},"nativeSrc":"17618:12:1","nodeType":"YulFunctionCall","src":"17618:12:1"},"nativeSrc":"17618:12:1","nodeType":"YulExpressionStatement","src":"17618:12:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17658:1:1","nodeType":"YulLiteral","src":"17658:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"17660:4:1","nodeType":"YulLiteral","src":"17660:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17651:6:1","nodeType":"YulIdentifier","src":"17651:6:1"},"nativeSrc":"17651:14:1","nodeType":"YulFunctionCall","src":"17651:14:1"},"nativeSrc":"17651:14:1","nodeType":"YulExpressionStatement","src":"17651:14:1"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17587:7:1","nodeType":"YulIdentifier","src":"17587:7:1"}],"functionName":{"name":"iszero","nativeSrc":"17580:6:1","nodeType":"YulIdentifier","src":"17580:6:1"},"nativeSrc":"17580:15:1","nodeType":"YulFunctionCall","src":"17580:15:1"},"nativeSrc":"17577:106:1","nodeType":"YulIf","src":"17577:106:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17728:3:1","nodeType":"YulIdentifier","src":"17728:3:1"},{"kind":"number","nativeSrc":"17732:2:1","nodeType":"YulLiteral","src":"17732:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17724:3:1","nodeType":"YulIdentifier","src":"17724:3:1"},"nativeSrc":"17724:11:1","nodeType":"YulFunctionCall","src":"17724:11:1"},{"arguments":[{"name":"pR","nativeSrc":"17743:2:1","nodeType":"YulIdentifier","src":"17743:2:1"}],"functionName":{"name":"mload","nativeSrc":"17737:5:1","nodeType":"YulIdentifier","src":"17737:5:1"},"nativeSrc":"17737:9:1","nodeType":"YulFunctionCall","src":"17737:9:1"}],"functionName":{"name":"mstore","nativeSrc":"17717:6:1","nodeType":"YulIdentifier","src":"17717:6:1"},"nativeSrc":"17717:30:1","nodeType":"YulFunctionCall","src":"17717:30:1"},"nativeSrc":"17717:30:1","nodeType":"YulExpressionStatement","src":"17717:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17775:3:1","nodeType":"YulIdentifier","src":"17775:3:1"},{"kind":"number","nativeSrc":"17779:2:1","nodeType":"YulLiteral","src":"17779:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"17771:3:1","nodeType":"YulIdentifier","src":"17771:3:1"},"nativeSrc":"17771:11:1","nodeType":"YulFunctionCall","src":"17771:11:1"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"17794:2:1","nodeType":"YulIdentifier","src":"17794:2:1"},{"kind":"number","nativeSrc":"17798:2:1","nodeType":"YulLiteral","src":"17798:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17790:3:1","nodeType":"YulIdentifier","src":"17790:3:1"},"nativeSrc":"17790:11:1","nodeType":"YulFunctionCall","src":"17790:11:1"}],"functionName":{"name":"mload","nativeSrc":"17784:5:1","nodeType":"YulIdentifier","src":"17784:5:1"},"nativeSrc":"17784:18:1","nodeType":"YulFunctionCall","src":"17784:18:1"}],"functionName":{"name":"mstore","nativeSrc":"17764:6:1","nodeType":"YulIdentifier","src":"17764:6:1"},"nativeSrc":"17764:39:1","nodeType":"YulFunctionCall","src":"17764:39:1"},"nativeSrc":"17764:39:1","nodeType":"YulExpressionStatement","src":"17764:39:1"},{"nativeSrc":"17821:60:1","nodeType":"YulAssignment","src":"17821:60:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17847:3:1","nodeType":"YulIdentifier","src":"17847:3:1"},"nativeSrc":"17847:5:1","nodeType":"YulFunctionCall","src":"17847:5:1"},{"kind":"number","nativeSrc":"17854:4:1","nodeType":"YulLiteral","src":"17854:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17843:3:1","nodeType":"YulIdentifier","src":"17843:3:1"},"nativeSrc":"17843:16:1","nodeType":"YulFunctionCall","src":"17843:16:1"},{"kind":"number","nativeSrc":"17861:1:1","nodeType":"YulLiteral","src":"17861:1:1","type":"","value":"6"},{"name":"mIn","nativeSrc":"17864:3:1","nodeType":"YulIdentifier","src":"17864:3:1"},{"kind":"number","nativeSrc":"17869:3:1","nodeType":"YulLiteral","src":"17869:3:1","type":"","value":"128"},{"name":"pR","nativeSrc":"17874:2:1","nodeType":"YulIdentifier","src":"17874:2:1"},{"kind":"number","nativeSrc":"17878:2:1","nodeType":"YulLiteral","src":"17878:2:1","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17832:10:1","nodeType":"YulIdentifier","src":"17832:10:1"},"nativeSrc":"17832:49:1","nodeType":"YulFunctionCall","src":"17832:49:1"},"variableNames":[{"name":"success","nativeSrc":"17821:7:1","nodeType":"YulIdentifier","src":"17821:7:1"}]},{"body":{"nativeSrc":"17934:87:1","nodeType":"YulBlock","src":"17934:87:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17963:1:1","nodeType":"YulLiteral","src":"17963:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"17966:1:1","nodeType":"YulLiteral","src":"17966:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17956:6:1","nodeType":"YulIdentifier","src":"17956:6:1"},"nativeSrc":"17956:12:1","nodeType":"YulFunctionCall","src":"17956:12:1"},"nativeSrc":"17956:12:1","nodeType":"YulExpressionStatement","src":"17956:12:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17996:1:1","nodeType":"YulLiteral","src":"17996:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"17998:4:1","nodeType":"YulLiteral","src":"17998:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17989:6:1","nodeType":"YulIdentifier","src":"17989:6:1"},"nativeSrc":"17989:14:1","nodeType":"YulFunctionCall","src":"17989:14:1"},"nativeSrc":"17989:14:1","nodeType":"YulExpressionStatement","src":"17989:14:1"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17925:7:1","nodeType":"YulIdentifier","src":"17925:7:1"}],"functionName":{"name":"iszero","nativeSrc":"17918:6:1","nodeType":"YulIdentifier","src":"17918:6:1"},"nativeSrc":"17918:15:1","nodeType":"YulFunctionCall","src":"17918:15:1"},"nativeSrc":"17915:106:1","nodeType":"YulIf","src":"17915:106:1"}]},"name":"g1_mulAccC","nativeSrc":"17255:780:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"17275:2:1","nodeType":"YulTypedName","src":"17275:2:1","type":""},{"name":"x","nativeSrc":"17279:1:1","nodeType":"YulTypedName","src":"17279:1:1","type":""},{"name":"y","nativeSrc":"17282:1:1","nodeType":"YulTypedName","src":"17282:1:1","type":""},{"name":"s","nativeSrc":"17285:1:1","nodeType":"YulTypedName","src":"17285:1:1","type":""}],"src":"17255:780:1"},{"body":{"nativeSrc":"18082:408:1","nodeType":"YulBlock","src":"18082:408:1","statements":[{"nativeSrc":"18100:11:1","nodeType":"YulVariableDeclaration","src":"18100:11:1","variables":[{"name":"success","nativeSrc":"18104:7:1","nodeType":"YulTypedName","src":"18104:7:1","type":""}]},{"nativeSrc":"18128:22:1","nodeType":"YulVariableDeclaration","src":"18128:22:1","value":{"arguments":[{"kind":"number","nativeSrc":"18145:4:1","nodeType":"YulLiteral","src":"18145:4:1","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"18139:5:1","nodeType":"YulIdentifier","src":"18139:5:1"},"nativeSrc":"18139:11:1","nodeType":"YulFunctionCall","src":"18139:11:1"},"variables":[{"name":"mIn","nativeSrc":"18132:3:1","nodeType":"YulTypedName","src":"18132:3:1","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"18174:3:1","nodeType":"YulIdentifier","src":"18174:3:1"},{"name":"x","nativeSrc":"18179:1:1","nodeType":"YulIdentifier","src":"18179:1:1"}],"functionName":{"name":"mstore","nativeSrc":"18167:6:1","nodeType":"YulIdentifier","src":"18167:6:1"},"nativeSrc":"18167:14:1","nodeType":"YulFunctionCall","src":"18167:14:1"},"nativeSrc":"18167:14:1","nodeType":"YulExpressionStatement","src":"18167:14:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18209:3:1","nodeType":"YulIdentifier","src":"18209:3:1"},{"kind":"number","nativeSrc":"18213:2:1","nodeType":"YulLiteral","src":"18213:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"18205:3:1","nodeType":"YulIdentifier","src":"18205:3:1"},"nativeSrc":"18205:11:1","nodeType":"YulFunctionCall","src":"18205:11:1"},{"name":"y","nativeSrc":"18218:1:1","nodeType":"YulIdentifier","src":"18218:1:1"}],"functionName":{"name":"mstore","nativeSrc":"18198:6:1","nodeType":"YulIdentifier","src":"18198:6:1"},"nativeSrc":"18198:22:1","nodeType":"YulFunctionCall","src":"18198:22:1"},"nativeSrc":"18198:22:1","nodeType":"YulExpressionStatement","src":"18198:22:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18248:3:1","nodeType":"YulIdentifier","src":"18248:3:1"},{"kind":"number","nativeSrc":"18252:2:1","nodeType":"YulLiteral","src":"18252:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"18244:3:1","nodeType":"YulIdentifier","src":"18244:3:1"},"nativeSrc":"18244:11:1","nodeType":"YulFunctionCall","src":"18244:11:1"},{"name":"s","nativeSrc":"18257:1:1","nodeType":"YulIdentifier","src":"18257:1:1"}],"functionName":{"name":"mstore","nativeSrc":"18237:6:1","nodeType":"YulIdentifier","src":"18237:6:1"},"nativeSrc":"18237:22:1","nodeType":"YulFunctionCall","src":"18237:22:1"},"nativeSrc":"18237:22:1","nodeType":"YulExpressionStatement","src":"18237:22:1"},{"nativeSrc":"18277:59:1","nodeType":"YulAssignment","src":"18277:59:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"18303:3:1","nodeType":"YulIdentifier","src":"18303:3:1"},"nativeSrc":"18303:5:1","nodeType":"YulFunctionCall","src":"18303:5:1"},{"kind":"number","nativeSrc":"18310:4:1","nodeType":"YulLiteral","src":"18310:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"18299:3:1","nodeType":"YulIdentifier","src":"18299:3:1"},"nativeSrc":"18299:16:1","nodeType":"YulFunctionCall","src":"18299:16:1"},{"kind":"number","nativeSrc":"18317:1:1","nodeType":"YulLiteral","src":"18317:1:1","type":"","value":"7"},{"name":"mIn","nativeSrc":"18320:3:1","nodeType":"YulIdentifier","src":"18320:3:1"},{"kind":"number","nativeSrc":"18325:2:1","nodeType":"YulLiteral","src":"18325:2:1","type":"","value":"96"},{"name":"pR","nativeSrc":"18329:2:1","nodeType":"YulIdentifier","src":"18329:2:1"},{"kind":"number","nativeSrc":"18333:2:1","nodeType":"YulLiteral","src":"18333:2:1","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"18288:10:1","nodeType":"YulIdentifier","src":"18288:10:1"},"nativeSrc":"18288:48:1","nodeType":"YulFunctionCall","src":"18288:48:1"},"variableNames":[{"name":"success","nativeSrc":"18277:7:1","nodeType":"YulIdentifier","src":"18277:7:1"}]},{"body":{"nativeSrc":"18389:87:1","nodeType":"YulBlock","src":"18389:87:1","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"18418:1:1","nodeType":"YulLiteral","src":"18418:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"18421:1:1","nodeType":"YulLiteral","src":"18421:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"18411:6:1","nodeType":"YulIdentifier","src":"18411:6:1"},"nativeSrc":"18411:12:1","nodeType":"YulFunctionCall","src":"18411:12:1"},"nativeSrc":"18411:12:1","nodeType":"YulExpressionStatement","src":"18411:12:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18451:1:1","nodeType":"YulLiteral","src":"18451:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"18453:4:1","nodeType":"YulLiteral","src":"18453:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"18444:6:1","nodeType":"YulIdentifier","src":"18444:6:1"},"nativeSrc":"18444:14:1","nodeType":"YulFunctionCall","src":"18444:14:1"},"nativeSrc":"18444:14:1","nodeType":"YulExpressionStatement","src":"18444:14:1"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"18380:7:1","nodeType":"YulIdentifier","src":"18380:7:1"}],"functionName":{"name":"iszero","nativeSrc":"18373:6:1","nodeType":"YulIdentifier","src":"18373:6:1"},"nativeSrc":"18373:15:1","nodeType":"YulFunctionCall","src":"18373:15:1"},"nativeSrc":"18370:106:1","nodeType":"YulIf","src":"18370:106:1"}]},"name":"g1_mulSetC","nativeSrc":"18049:441:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"18069:2:1","nodeType":"YulTypedName","src":"18069:2:1","type":""},{"name":"x","nativeSrc":"18073:1:1","nodeType":"YulTypedName","src":"18073:1:1","type":""},{"name":"y","nativeSrc":"18076:1:1","nodeType":"YulTypedName","src":"18076:1:1","type":""},{"name":"s","nativeSrc":"18079:1:1","nodeType":"YulTypedName","src":"18079:1:1","type":""}],"src":"18049:441:1"},{"body":{"nativeSrc":"18540:171:1","nodeType":"YulBlock","src":"18540:171:1","statements":[{"nativeSrc":"18558:23:1","nodeType":"YulVariableDeclaration","src":"18558:23:1","value":{"arguments":[{"name":"pMem","nativeSrc":"18571:4:1","nodeType":"YulIdentifier","src":"18571:4:1"},{"name":"pA1","nativeSrc":"18577:3:1","nodeType":"YulIdentifier","src":"18577:3:1"}],"functionName":{"name":"add","nativeSrc":"18567:3:1","nodeType":"YulIdentifier","src":"18567:3:1"},"nativeSrc":"18567:14:1","nodeType":"YulFunctionCall","src":"18567:14:1"},"variables":[{"name":"p","nativeSrc":"18562:1:1","nodeType":"YulTypedName","src":"18562:1:1","type":""}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"18605:1:1","nodeType":"YulIdentifier","src":"18605:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"18612:6:1","nodeType":"YulIdentifier","src":"18612:6:1"},{"name":"pWxi","nativeSrc":"18620:4:1","nodeType":"YulIdentifier","src":"18620:4:1"}],"functionName":{"name":"add","nativeSrc":"18608:3:1","nodeType":"YulIdentifier","src":"18608:3:1"},"nativeSrc":"18608:17:1","nodeType":"YulFunctionCall","src":"18608:17:1"}],"functionName":{"name":"g1_set","nativeSrc":"18598:6:1","nodeType":"YulIdentifier","src":"18598:6:1"},"nativeSrc":"18598:28:1","nodeType":"YulFunctionCall","src":"18598:28:1"},"nativeSrc":"18598:28:1","nodeType":"YulExpressionStatement","src":"18598:28:1"},{"expression":{"arguments":[{"name":"p","nativeSrc":"18653:1:1","nodeType":"YulIdentifier","src":"18653:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"18660:6:1","nodeType":"YulIdentifier","src":"18660:6:1"},{"name":"pWxiw","nativeSrc":"18668:5:1","nodeType":"YulIdentifier","src":"18668:5:1"}],"functionName":{"name":"add","nativeSrc":"18656:3:1","nodeType":"YulIdentifier","src":"18656:3:1"},"nativeSrc":"18656:18:1","nodeType":"YulFunctionCall","src":"18656:18:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18686:4:1","nodeType":"YulIdentifier","src":"18686:4:1"},{"name":"pU","nativeSrc":"18692:2:1","nodeType":"YulIdentifier","src":"18692:2:1"}],"functionName":{"name":"add","nativeSrc":"18682:3:1","nodeType":"YulIdentifier","src":"18682:3:1"},"nativeSrc":"18682:13:1","nodeType":"YulFunctionCall","src":"18682:13:1"}],"functionName":{"name":"mload","nativeSrc":"18676:5:1","nodeType":"YulIdentifier","src":"18676:5:1"},"nativeSrc":"18676:20:1","nodeType":"YulFunctionCall","src":"18676:20:1"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"18643:9:1","nodeType":"YulIdentifier","src":"18643:9:1"},"nativeSrc":"18643:54:1","nodeType":"YulFunctionCall","src":"18643:54:1"},"nativeSrc":"18643:54:1","nodeType":"YulExpressionStatement","src":"18643:54:1"}]},"name":"calculateA1","nativeSrc":"18505:206:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18526:6:1","nodeType":"YulTypedName","src":"18526:6:1","type":""},{"name":"pMem","nativeSrc":"18534:4:1","nodeType":"YulTypedName","src":"18534:4:1","type":""}],"src":"18505:206:1"},{"body":{"nativeSrc":"18785:4443:1","nodeType":"YulBlock","src":"18785:4443:1","statements":[{"nativeSrc":"18803:5:1","nodeType":"YulVariableDeclaration","src":"18803:5:1","variables":[{"name":"s","nativeSrc":"18807:1:1","nodeType":"YulTypedName","src":"18807:1:1","type":""}]},{"nativeSrc":"18825:6:1","nodeType":"YulVariableDeclaration","src":"18825:6:1","variables":[{"name":"s1","nativeSrc":"18829:2:1","nodeType":"YulTypedName","src":"18829:2:1","type":""}]},{"nativeSrc":"18848:23:1","nodeType":"YulVariableDeclaration","src":"18848:23:1","value":{"arguments":[{"name":"pMem","nativeSrc":"18861:4:1","nodeType":"YulIdentifier","src":"18861:4:1"},{"name":"pB1","nativeSrc":"18867:3:1","nodeType":"YulIdentifier","src":"18867:3:1"}],"functionName":{"name":"add","nativeSrc":"18857:3:1","nodeType":"YulIdentifier","src":"18857:3:1"},"nativeSrc":"18857:14:1","nodeType":"YulFunctionCall","src":"18857:14:1"},"variables":[{"name":"p","nativeSrc":"18852:1:1","nodeType":"YulTypedName","src":"18852:1:1","type":""}]},{"nativeSrc":"18936:67:1","nodeType":"YulAssignment","src":"18936:67:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"18959:6:1","nodeType":"YulIdentifier","src":"18959:6:1"},{"name":"pEval_a","nativeSrc":"18967:7:1","nodeType":"YulIdentifier","src":"18967:7:1"}],"functionName":{"name":"add","nativeSrc":"18955:3:1","nodeType":"YulIdentifier","src":"18955:3:1"},"nativeSrc":"18955:20:1","nodeType":"YulFunctionCall","src":"18955:20:1"}],"functionName":{"name":"mload","nativeSrc":"18949:5:1","nodeType":"YulIdentifier","src":"18949:5:1"},"nativeSrc":"18949:27:1","nodeType":"YulFunctionCall","src":"18949:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18988:4:1","nodeType":"YulIdentifier","src":"18988:4:1"},{"name":"pV1","nativeSrc":"18994:3:1","nodeType":"YulIdentifier","src":"18994:3:1"}],"functionName":{"name":"add","nativeSrc":"18984:3:1","nodeType":"YulIdentifier","src":"18984:3:1"},"nativeSrc":"18984:14:1","nodeType":"YulFunctionCall","src":"18984:14:1"}],"functionName":{"name":"mload","nativeSrc":"18978:5:1","nodeType":"YulIdentifier","src":"18978:5:1"},"nativeSrc":"18978:21:1","nodeType":"YulFunctionCall","src":"18978:21:1"},{"name":"q","nativeSrc":"19001:1:1","nodeType":"YulIdentifier","src":"19001:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"18941:6:1","nodeType":"YulIdentifier","src":"18941:6:1"},"nativeSrc":"18941:62:1","nodeType":"YulFunctionCall","src":"18941:62:1"},"variableNames":[{"name":"s","nativeSrc":"18936:1:1","nodeType":"YulIdentifier","src":"18936:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19031:1:1","nodeType":"YulIdentifier","src":"19031:1:1"},{"name":"Qlx","nativeSrc":"19034:3:1","nodeType":"YulIdentifier","src":"19034:3:1"},{"name":"Qly","nativeSrc":"19039:3:1","nodeType":"YulIdentifier","src":"19039:3:1"},{"name":"s","nativeSrc":"19044:1:1","nodeType":"YulIdentifier","src":"19044:1:1"}],"functionName":{"name":"g1_mulSetC","nativeSrc":"19020:10:1","nodeType":"YulIdentifier","src":"19020:10:1"},"nativeSrc":"19020:26:1","nodeType":"YulFunctionCall","src":"19020:26:1"},"nativeSrc":"19020:26:1","nodeType":"YulExpressionStatement","src":"19020:26:1"},{"nativeSrc":"19064:47:1","nodeType":"YulAssignment","src":"19064:47:1","value":{"arguments":[{"name":"s","nativeSrc":"19077:1:1","nodeType":"YulIdentifier","src":"19077:1:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19090:6:1","nodeType":"YulIdentifier","src":"19090:6:1"},{"name":"pEval_b","nativeSrc":"19098:7:1","nodeType":"YulIdentifier","src":"19098:7:1"}],"functionName":{"name":"add","nativeSrc":"19086:3:1","nodeType":"YulIdentifier","src":"19086:3:1"},"nativeSrc":"19086:20:1","nodeType":"YulFunctionCall","src":"19086:20:1"}],"functionName":{"name":"mload","nativeSrc":"19080:5:1","nodeType":"YulIdentifier","src":"19080:5:1"},"nativeSrc":"19080:27:1","nodeType":"YulFunctionCall","src":"19080:27:1"},{"name":"q","nativeSrc":"19109:1:1","nodeType":"YulIdentifier","src":"19109:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"19069:6:1","nodeType":"YulIdentifier","src":"19069:6:1"},"nativeSrc":"19069:42:1","nodeType":"YulFunctionCall","src":"19069:42:1"},"variableNames":[{"name":"s","nativeSrc":"19064:1:1","nodeType":"YulIdentifier","src":"19064:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19155:1:1","nodeType":"YulIdentifier","src":"19155:1:1"},{"name":"Qmx","nativeSrc":"19158:3:1","nodeType":"YulIdentifier","src":"19158:3:1"},{"name":"Qmy","nativeSrc":"19163:3:1","nodeType":"YulIdentifier","src":"19163:3:1"},{"name":"s","nativeSrc":"19168:1:1","nodeType":"YulIdentifier","src":"19168:1:1"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19144:10:1","nodeType":"YulIdentifier","src":"19144:10:1"},"nativeSrc":"19144:26:1","nodeType":"YulFunctionCall","src":"19144:26:1"},"nativeSrc":"19144:26:1","nodeType":"YulExpressionStatement","src":"19144:26:1"},{"nativeSrc":"19188:67:1","nodeType":"YulAssignment","src":"19188:67:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19211:6:1","nodeType":"YulIdentifier","src":"19211:6:1"},{"name":"pEval_b","nativeSrc":"19219:7:1","nodeType":"YulIdentifier","src":"19219:7:1"}],"functionName":{"name":"add","nativeSrc":"19207:3:1","nodeType":"YulIdentifier","src":"19207:3:1"},"nativeSrc":"19207:20:1","nodeType":"YulFunctionCall","src":"19207:20:1"}],"functionName":{"name":"mload","nativeSrc":"19201:5:1","nodeType":"YulIdentifier","src":"19201:5:1"},"nativeSrc":"19201:27:1","nodeType":"YulFunctionCall","src":"19201:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19240:4:1","nodeType":"YulIdentifier","src":"19240:4:1"},{"name":"pV1","nativeSrc":"19246:3:1","nodeType":"YulIdentifier","src":"19246:3:1"}],"functionName":{"name":"add","nativeSrc":"19236:3:1","nodeType":"YulIdentifier","src":"19236:3:1"},"nativeSrc":"19236:14:1","nodeType":"YulFunctionCall","src":"19236:14:1"}],"functionName":{"name":"mload","nativeSrc":"19230:5:1","nodeType":"YulIdentifier","src":"19230:5:1"},"nativeSrc":"19230:21:1","nodeType":"YulFunctionCall","src":"19230:21:1"},{"name":"q","nativeSrc":"19253:1:1","nodeType":"YulIdentifier","src":"19253:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"19193:6:1","nodeType":"YulIdentifier","src":"19193:6:1"},"nativeSrc":"19193:62:1","nodeType":"YulFunctionCall","src":"19193:62:1"},"variableNames":[{"name":"s","nativeSrc":"19188:1:1","nodeType":"YulIdentifier","src":"19188:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19283:1:1","nodeType":"YulIdentifier","src":"19283:1:1"},{"name":"Qrx","nativeSrc":"19286:3:1","nodeType":"YulIdentifier","src":"19286:3:1"},{"name":"Qry","nativeSrc":"19291:3:1","nodeType":"YulIdentifier","src":"19291:3:1"},{"name":"s","nativeSrc":"19296:1:1","nodeType":"YulIdentifier","src":"19296:1:1"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19272:10:1","nodeType":"YulIdentifier","src":"19272:10:1"},"nativeSrc":"19272:26:1","nodeType":"YulFunctionCall","src":"19272:26:1"},"nativeSrc":"19272:26:1","nodeType":"YulExpressionStatement","src":"19272:26:1"},{"nativeSrc":"19332:67:1","nodeType":"YulAssignment","src":"19332:67:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19355:6:1","nodeType":"YulIdentifier","src":"19355:6:1"},{"name":"pEval_c","nativeSrc":"19363:7:1","nodeType":"YulIdentifier","src":"19363:7:1"}],"functionName":{"name":"add","nativeSrc":"19351:3:1","nodeType":"YulIdentifier","src":"19351:3:1"},"nativeSrc":"19351:20:1","nodeType":"YulFunctionCall","src":"19351:20:1"}],"functionName":{"name":"mload","nativeSrc":"19345:5:1","nodeType":"YulIdentifier","src":"19345:5:1"},"nativeSrc":"19345:27:1","nodeType":"YulFunctionCall","src":"19345:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19384:4:1","nodeType":"YulIdentifier","src":"19384:4:1"},{"name":"pV1","nativeSrc":"19390:3:1","nodeType":"YulIdentifier","src":"19390:3:1"}],"functionName":{"name":"add","nativeSrc":"19380:3:1","nodeType":"YulIdentifier","src":"19380:3:1"},"nativeSrc":"19380:14:1","nodeType":"YulFunctionCall","src":"19380:14:1"}],"functionName":{"name":"mload","nativeSrc":"19374:5:1","nodeType":"YulIdentifier","src":"19374:5:1"},"nativeSrc":"19374:21:1","nodeType":"YulFunctionCall","src":"19374:21:1"},{"name":"q","nativeSrc":"19397:1:1","nodeType":"YulIdentifier","src":"19397:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"19337:6:1","nodeType":"YulIdentifier","src":"19337:6:1"},"nativeSrc":"19337:62:1","nodeType":"YulFunctionCall","src":"19337:62:1"},"variableNames":[{"name":"s","nativeSrc":"19332:1:1","nodeType":"YulIdentifier","src":"19332:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19427:1:1","nodeType":"YulIdentifier","src":"19427:1:1"},{"name":"Qox","nativeSrc":"19430:3:1","nodeType":"YulIdentifier","src":"19430:3:1"},{"name":"Qoy","nativeSrc":"19435:3:1","nodeType":"YulIdentifier","src":"19435:3:1"},{"name":"s","nativeSrc":"19440:1:1","nodeType":"YulIdentifier","src":"19440:1:1"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19416:10:1","nodeType":"YulIdentifier","src":"19416:10:1"},"nativeSrc":"19416:26:1","nodeType":"YulFunctionCall","src":"19416:26:1"},"nativeSrc":"19416:26:1","nodeType":"YulExpressionStatement","src":"19416:26:1"},{"nativeSrc":"19460:25:1","nodeType":"YulAssignment","src":"19460:25:1","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19474:4:1","nodeType":"YulIdentifier","src":"19474:4:1"},{"name":"pV1","nativeSrc":"19480:3:1","nodeType":"YulIdentifier","src":"19480:3:1"}],"functionName":{"name":"add","nativeSrc":"19470:3:1","nodeType":"YulIdentifier","src":"19470:3:1"},"nativeSrc":"19470:14:1","nodeType":"YulFunctionCall","src":"19470:14:1"}],"functionName":{"name":"mload","nativeSrc":"19464:5:1","nodeType":"YulIdentifier","src":"19464:5:1"},"nativeSrc":"19464:21:1","nodeType":"YulFunctionCall","src":"19464:21:1"},"variableNames":[{"name":"s","nativeSrc":"19460:1:1","nodeType":"YulIdentifier","src":"19460:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19513:1:1","nodeType":"YulIdentifier","src":"19513:1:1"},{"name":"Qcx","nativeSrc":"19516:3:1","nodeType":"YulIdentifier","src":"19516:3:1"},{"name":"Qcy","nativeSrc":"19521:3:1","nodeType":"YulIdentifier","src":"19521:3:1"},{"name":"s","nativeSrc":"19526:1:1","nodeType":"YulIdentifier","src":"19526:1:1"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19502:10:1","nodeType":"YulIdentifier","src":"19502:10:1"},"nativeSrc":"19502:26:1","nodeType":"YulFunctionCall","src":"19502:26:1"},"nativeSrc":"19502:26:1","nodeType":"YulExpressionStatement","src":"19502:26:1"},{"nativeSrc":"19546:70:1","nodeType":"YulAssignment","src":"19546:70:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19568:6:1","nodeType":"YulIdentifier","src":"19568:6:1"},{"name":"pEval_a","nativeSrc":"19576:7:1","nodeType":"YulIdentifier","src":"19576:7:1"}],"functionName":{"name":"add","nativeSrc":"19564:3:1","nodeType":"YulIdentifier","src":"19564:3:1"},"nativeSrc":"19564:20:1","nodeType":"YulFunctionCall","src":"19564:20:1"}],"functionName":{"name":"mload","nativeSrc":"19558:5:1","nodeType":"YulIdentifier","src":"19558:5:1"},"nativeSrc":"19558:27:1","nodeType":"YulFunctionCall","src":"19558:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19597:4:1","nodeType":"YulIdentifier","src":"19597:4:1"},{"name":"pBetaXi","nativeSrc":"19603:7:1","nodeType":"YulIdentifier","src":"19603:7:1"}],"functionName":{"name":"add","nativeSrc":"19593:3:1","nodeType":"YulIdentifier","src":"19593:3:1"},"nativeSrc":"19593:18:1","nodeType":"YulFunctionCall","src":"19593:18:1"}],"functionName":{"name":"mload","nativeSrc":"19587:5:1","nodeType":"YulIdentifier","src":"19587:5:1"},"nativeSrc":"19587:25:1","nodeType":"YulFunctionCall","src":"19587:25:1"},{"name":"q","nativeSrc":"19614:1:1","nodeType":"YulIdentifier","src":"19614:1:1"}],"functionName":{"name":"addmod","nativeSrc":"19551:6:1","nodeType":"YulIdentifier","src":"19551:6:1"},"nativeSrc":"19551:65:1","nodeType":"YulFunctionCall","src":"19551:65:1"},"variableNames":[{"name":"s","nativeSrc":"19546:1:1","nodeType":"YulIdentifier","src":"19546:1:1"}]},{"nativeSrc":"19633:43:1","nodeType":"YulAssignment","src":"19633:43:1","value":{"arguments":[{"name":"s","nativeSrc":"19645:1:1","nodeType":"YulIdentifier","src":"19645:1:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19658:4:1","nodeType":"YulIdentifier","src":"19658:4:1"},{"name":"pGamma","nativeSrc":"19664:6:1","nodeType":"YulIdentifier","src":"19664:6:1"}],"functionName":{"name":"add","nativeSrc":"19654:3:1","nodeType":"YulIdentifier","src":"19654:3:1"},"nativeSrc":"19654:17:1","nodeType":"YulFunctionCall","src":"19654:17:1"}],"functionName":{"name":"mload","nativeSrc":"19648:5:1","nodeType":"YulIdentifier","src":"19648:5:1"},"nativeSrc":"19648:24:1","nodeType":"YulFunctionCall","src":"19648:24:1"},{"name":"q","nativeSrc":"19674:1:1","nodeType":"YulIdentifier","src":"19674:1:1"}],"functionName":{"name":"addmod","nativeSrc":"19638:6:1","nodeType":"YulIdentifier","src":"19638:6:1"},"nativeSrc":"19638:38:1","nodeType":"YulFunctionCall","src":"19638:38:1"},"variableNames":[{"name":"s","nativeSrc":"19633:1:1","nodeType":"YulIdentifier","src":"19633:1:1"}]},{"nativeSrc":"19693:46:1","nodeType":"YulAssignment","src":"19693:46:1","value":{"arguments":[{"name":"k1","nativeSrc":"19706:2:1","nodeType":"YulIdentifier","src":"19706:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19720:4:1","nodeType":"YulIdentifier","src":"19720:4:1"},{"name":"pBetaXi","nativeSrc":"19726:7:1","nodeType":"YulIdentifier","src":"19726:7:1"}],"functionName":{"name":"add","nativeSrc":"19716:3:1","nodeType":"YulIdentifier","src":"19716:3:1"},"nativeSrc":"19716:18:1","nodeType":"YulFunctionCall","src":"19716:18:1"}],"functionName":{"name":"mload","nativeSrc":"19710:5:1","nodeType":"YulIdentifier","src":"19710:5:1"},"nativeSrc":"19710:25:1","nodeType":"YulFunctionCall","src":"19710:25:1"},{"name":"q","nativeSrc":"19737:1:1","nodeType":"YulIdentifier","src":"19737:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"19699:6:1","nodeType":"YulIdentifier","src":"19699:6:1"},"nativeSrc":"19699:40:1","nodeType":"YulFunctionCall","src":"19699:40:1"},"variableNames":[{"name":"s1","nativeSrc":"19693:2:1","nodeType":"YulIdentifier","src":"19693:2:1"}]},{"nativeSrc":"19756:48:1","nodeType":"YulAssignment","src":"19756:48:1","value":{"arguments":[{"name":"s1","nativeSrc":"19769:2:1","nodeType":"YulIdentifier","src":"19769:2:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19783:6:1","nodeType":"YulIdentifier","src":"19783:6:1"},{"name":"pEval_b","nativeSrc":"19791:7:1","nodeType":"YulIdentifier","src":"19791:7:1"}],"functionName":{"name":"add","nativeSrc":"19779:3:1","nodeType":"YulIdentifier","src":"19779:3:1"},"nativeSrc":"19779:20:1","nodeType":"YulFunctionCall","src":"19779:20:1"}],"functionName":{"name":"mload","nativeSrc":"19773:5:1","nodeType":"YulIdentifier","src":"19773:5:1"},"nativeSrc":"19773:27:1","nodeType":"YulFunctionCall","src":"19773:27:1"},{"name":"q","nativeSrc":"19802:1:1","nodeType":"YulIdentifier","src":"19802:1:1"}],"functionName":{"name":"addmod","nativeSrc":"19762:6:1","nodeType":"YulIdentifier","src":"19762:6:1"},"nativeSrc":"19762:42:1","nodeType":"YulFunctionCall","src":"19762:42:1"},"variableNames":[{"name":"s1","nativeSrc":"19756:2:1","nodeType":"YulIdentifier","src":"19756:2:1"}]},{"nativeSrc":"19821:45:1","nodeType":"YulAssignment","src":"19821:45:1","value":{"arguments":[{"name":"s1","nativeSrc":"19834:2:1","nodeType":"YulIdentifier","src":"19834:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19848:4:1","nodeType":"YulIdentifier","src":"19848:4:1"},{"name":"pGamma","nativeSrc":"19854:6:1","nodeType":"YulIdentifier","src":"19854:6:1"}],"functionName":{"name":"add","nativeSrc":"19844:3:1","nodeType":"YulIdentifier","src":"19844:3:1"},"nativeSrc":"19844:17:1","nodeType":"YulFunctionCall","src":"19844:17:1"}],"functionName":{"name":"mload","nativeSrc":"19838:5:1","nodeType":"YulIdentifier","src":"19838:5:1"},"nativeSrc":"19838:24:1","nodeType":"YulFunctionCall","src":"19838:24:1"},{"name":"q","nativeSrc":"19864:1:1","nodeType":"YulIdentifier","src":"19864:1:1"}],"functionName":{"name":"addmod","nativeSrc":"19827:6:1","nodeType":"YulIdentifier","src":"19827:6:1"},"nativeSrc":"19827:39:1","nodeType":"YulFunctionCall","src":"19827:39:1"},"variableNames":[{"name":"s1","nativeSrc":"19821:2:1","nodeType":"YulIdentifier","src":"19821:2:1"}]},{"nativeSrc":"19883:21:1","nodeType":"YulAssignment","src":"19883:21:1","value":{"arguments":[{"name":"s","nativeSrc":"19895:1:1","nodeType":"YulIdentifier","src":"19895:1:1"},{"name":"s1","nativeSrc":"19898:2:1","nodeType":"YulIdentifier","src":"19898:2:1"},{"name":"q","nativeSrc":"19902:1:1","nodeType":"YulIdentifier","src":"19902:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"19888:6:1","nodeType":"YulIdentifier","src":"19888:6:1"},"nativeSrc":"19888:16:1","nodeType":"YulFunctionCall","src":"19888:16:1"},"variableNames":[{"name":"s","nativeSrc":"19883:1:1","nodeType":"YulIdentifier","src":"19883:1:1"}]},{"nativeSrc":"19921:46:1","nodeType":"YulAssignment","src":"19921:46:1","value":{"arguments":[{"name":"k2","nativeSrc":"19934:2:1","nodeType":"YulIdentifier","src":"19934:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19948:4:1","nodeType":"YulIdentifier","src":"19948:4:1"},{"name":"pBetaXi","nativeSrc":"19954:7:1","nodeType":"YulIdentifier","src":"19954:7:1"}],"functionName":{"name":"add","nativeSrc":"19944:3:1","nodeType":"YulIdentifier","src":"19944:3:1"},"nativeSrc":"19944:18:1","nodeType":"YulFunctionCall","src":"19944:18:1"}],"functionName":{"name":"mload","nativeSrc":"19938:5:1","nodeType":"YulIdentifier","src":"19938:5:1"},"nativeSrc":"19938:25:1","nodeType":"YulFunctionCall","src":"19938:25:1"},{"name":"q","nativeSrc":"19965:1:1","nodeType":"YulIdentifier","src":"19965:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"19927:6:1","nodeType":"YulIdentifier","src":"19927:6:1"},"nativeSrc":"19927:40:1","nodeType":"YulFunctionCall","src":"19927:40:1"},"variableNames":[{"name":"s1","nativeSrc":"19921:2:1","nodeType":"YulIdentifier","src":"19921:2:1"}]},{"nativeSrc":"19984:48:1","nodeType":"YulAssignment","src":"19984:48:1","value":{"arguments":[{"name":"s1","nativeSrc":"19997:2:1","nodeType":"YulIdentifier","src":"19997:2:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20011:6:1","nodeType":"YulIdentifier","src":"20011:6:1"},{"name":"pEval_c","nativeSrc":"20019:7:1","nodeType":"YulIdentifier","src":"20019:7:1"}],"functionName":{"name":"add","nativeSrc":"20007:3:1","nodeType":"YulIdentifier","src":"20007:3:1"},"nativeSrc":"20007:20:1","nodeType":"YulFunctionCall","src":"20007:20:1"}],"functionName":{"name":"mload","nativeSrc":"20001:5:1","nodeType":"YulIdentifier","src":"20001:5:1"},"nativeSrc":"20001:27:1","nodeType":"YulFunctionCall","src":"20001:27:1"},{"name":"q","nativeSrc":"20030:1:1","nodeType":"YulIdentifier","src":"20030:1:1"}],"functionName":{"name":"addmod","nativeSrc":"19990:6:1","nodeType":"YulIdentifier","src":"19990:6:1"},"nativeSrc":"19990:42:1","nodeType":"YulFunctionCall","src":"19990:42:1"},"variableNames":[{"name":"s1","nativeSrc":"19984:2:1","nodeType":"YulIdentifier","src":"19984:2:1"}]},{"nativeSrc":"20049:45:1","nodeType":"YulAssignment","src":"20049:45:1","value":{"arguments":[{"name":"s1","nativeSrc":"20062:2:1","nodeType":"YulIdentifier","src":"20062:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20076:4:1","nodeType":"YulIdentifier","src":"20076:4:1"},{"name":"pGamma","nativeSrc":"20082:6:1","nodeType":"YulIdentifier","src":"20082:6:1"}],"functionName":{"name":"add","nativeSrc":"20072:3:1","nodeType":"YulIdentifier","src":"20072:3:1"},"nativeSrc":"20072:17:1","nodeType":"YulFunctionCall","src":"20072:17:1"}],"functionName":{"name":"mload","nativeSrc":"20066:5:1","nodeType":"YulIdentifier","src":"20066:5:1"},"nativeSrc":"20066:24:1","nodeType":"YulFunctionCall","src":"20066:24:1"},{"name":"q","nativeSrc":"20092:1:1","nodeType":"YulIdentifier","src":"20092:1:1"}],"functionName":{"name":"addmod","nativeSrc":"20055:6:1","nodeType":"YulIdentifier","src":"20055:6:1"},"nativeSrc":"20055:39:1","nodeType":"YulFunctionCall","src":"20055:39:1"},"variableNames":[{"name":"s1","nativeSrc":"20049:2:1","nodeType":"YulIdentifier","src":"20049:2:1"}]},{"nativeSrc":"20111:21:1","nodeType":"YulAssignment","src":"20111:21:1","value":{"arguments":[{"name":"s","nativeSrc":"20123:1:1","nodeType":"YulIdentifier","src":"20123:1:1"},{"name":"s1","nativeSrc":"20126:2:1","nodeType":"YulIdentifier","src":"20126:2:1"},{"name":"q","nativeSrc":"20130:1:1","nodeType":"YulIdentifier","src":"20130:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"20116:6:1","nodeType":"YulIdentifier","src":"20116:6:1"},"nativeSrc":"20116:16:1","nodeType":"YulFunctionCall","src":"20116:16:1"},"variableNames":[{"name":"s","nativeSrc":"20111:1:1","nodeType":"YulIdentifier","src":"20111:1:1"}]},{"nativeSrc":"20149:43:1","nodeType":"YulAssignment","src":"20149:43:1","value":{"arguments":[{"name":"s","nativeSrc":"20161:1:1","nodeType":"YulIdentifier","src":"20161:1:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20174:4:1","nodeType":"YulIdentifier","src":"20174:4:1"},{"name":"pAlpha","nativeSrc":"20180:6:1","nodeType":"YulIdentifier","src":"20180:6:1"}],"functionName":{"name":"add","nativeSrc":"20170:3:1","nodeType":"YulIdentifier","src":"20170:3:1"},"nativeSrc":"20170:17:1","nodeType":"YulFunctionCall","src":"20170:17:1"}],"functionName":{"name":"mload","nativeSrc":"20164:5:1","nodeType":"YulIdentifier","src":"20164:5:1"},"nativeSrc":"20164:24:1","nodeType":"YulFunctionCall","src":"20164:24:1"},{"name":"q","nativeSrc":"20190:1:1","nodeType":"YulIdentifier","src":"20190:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"20154:6:1","nodeType":"YulIdentifier","src":"20154:6:1"},"nativeSrc":"20154:38:1","nodeType":"YulFunctionCall","src":"20154:38:1"},"variableNames":[{"name":"s","nativeSrc":"20149:1:1","nodeType":"YulIdentifier","src":"20149:1:1"}]},{"nativeSrc":"20209:40:1","nodeType":"YulAssignment","src":"20209:40:1","value":{"arguments":[{"name":"s","nativeSrc":"20221:1:1","nodeType":"YulIdentifier","src":"20221:1:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20234:4:1","nodeType":"YulIdentifier","src":"20234:4:1"},{"name":"pV1","nativeSrc":"20240:3:1","nodeType":"YulIdentifier","src":"20240:3:1"}],"functionName":{"name":"add","nativeSrc":"20230:3:1","nodeType":"YulIdentifier","src":"20230:3:1"},"nativeSrc":"20230:14:1","nodeType":"YulFunctionCall","src":"20230:14:1"}],"functionName":{"name":"mload","nativeSrc":"20224:5:1","nodeType":"YulIdentifier","src":"20224:5:1"},"nativeSrc":"20224:21:1","nodeType":"YulFunctionCall","src":"20224:21:1"},{"name":"q","nativeSrc":"20247:1:1","nodeType":"YulIdentifier","src":"20247:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"20214:6:1","nodeType":"YulIdentifier","src":"20214:6:1"},"nativeSrc":"20214:35:1","nodeType":"YulFunctionCall","src":"20214:35:1"},"variableNames":[{"name":"s","nativeSrc":"20209:1:1","nodeType":"YulIdentifier","src":"20209:1:1"}]},{"nativeSrc":"20266:69:1","nodeType":"YulAssignment","src":"20266:69:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20289:4:1","nodeType":"YulIdentifier","src":"20289:4:1"},{"name":"pEval_l1","nativeSrc":"20295:8:1","nodeType":"YulIdentifier","src":"20295:8:1"}],"functionName":{"name":"add","nativeSrc":"20285:3:1","nodeType":"YulIdentifier","src":"20285:3:1"},"nativeSrc":"20285:19:1","nodeType":"YulFunctionCall","src":"20285:19:1"}],"functionName":{"name":"mload","nativeSrc":"20279:5:1","nodeType":"YulIdentifier","src":"20279:5:1"},"nativeSrc":"20279:26:1","nodeType":"YulFunctionCall","src":"20279:26:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20317:4:1","nodeType":"YulIdentifier","src":"20317:4:1"},{"name":"pAlpha","nativeSrc":"20323:6:1","nodeType":"YulIdentifier","src":"20323:6:1"}],"functionName":{"name":"add","nativeSrc":"20313:3:1","nodeType":"YulIdentifier","src":"20313:3:1"},"nativeSrc":"20313:17:1","nodeType":"YulFunctionCall","src":"20313:17:1"}],"functionName":{"name":"mload","nativeSrc":"20307:5:1","nodeType":"YulIdentifier","src":"20307:5:1"},"nativeSrc":"20307:24:1","nodeType":"YulFunctionCall","src":"20307:24:1"},{"name":"q","nativeSrc":"20333:1:1","nodeType":"YulIdentifier","src":"20333:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"20272:6:1","nodeType":"YulIdentifier","src":"20272:6:1"},"nativeSrc":"20272:63:1","nodeType":"YulFunctionCall","src":"20272:63:1"},"variableNames":[{"name":"s1","nativeSrc":"20266:2:1","nodeType":"YulIdentifier","src":"20266:2:1"}]},{"nativeSrc":"20352:45:1","nodeType":"YulAssignment","src":"20352:45:1","value":{"arguments":[{"name":"s1","nativeSrc":"20365:2:1","nodeType":"YulIdentifier","src":"20365:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20379:4:1","nodeType":"YulIdentifier","src":"20379:4:1"},{"name":"pAlpha","nativeSrc":"20385:6:1","nodeType":"YulIdentifier","src":"20385:6:1"}],"functionName":{"name":"add","nativeSrc":"20375:3:1","nodeType":"YulIdentifier","src":"20375:3:1"},"nativeSrc":"20375:17:1","nodeType":"YulFunctionCall","src":"20375:17:1"}],"functionName":{"name":"mload","nativeSrc":"20369:5:1","nodeType":"YulIdentifier","src":"20369:5:1"},"nativeSrc":"20369:24:1","nodeType":"YulFunctionCall","src":"20369:24:1"},{"name":"q","nativeSrc":"20395:1:1","nodeType":"YulIdentifier","src":"20395:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"20358:6:1","nodeType":"YulIdentifier","src":"20358:6:1"},"nativeSrc":"20358:39:1","nodeType":"YulFunctionCall","src":"20358:39:1"},"variableNames":[{"name":"s1","nativeSrc":"20352:2:1","nodeType":"YulIdentifier","src":"20352:2:1"}]},{"nativeSrc":"20414:42:1","nodeType":"YulAssignment","src":"20414:42:1","value":{"arguments":[{"name":"s1","nativeSrc":"20427:2:1","nodeType":"YulIdentifier","src":"20427:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20441:4:1","nodeType":"YulIdentifier","src":"20441:4:1"},{"name":"pV1","nativeSrc":"20447:3:1","nodeType":"YulIdentifier","src":"20447:3:1"}],"functionName":{"name":"add","nativeSrc":"20437:3:1","nodeType":"YulIdentifier","src":"20437:3:1"},"nativeSrc":"20437:14:1","nodeType":"YulFunctionCall","src":"20437:14:1"}],"functionName":{"name":"mload","nativeSrc":"20431:5:1","nodeType":"YulIdentifier","src":"20431:5:1"},"nativeSrc":"20431:21:1","nodeType":"YulFunctionCall","src":"20431:21:1"},{"name":"q","nativeSrc":"20454:1:1","nodeType":"YulIdentifier","src":"20454:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"20420:6:1","nodeType":"YulIdentifier","src":"20420:6:1"},"nativeSrc":"20420:36:1","nodeType":"YulFunctionCall","src":"20420:36:1"},"variableNames":[{"name":"s1","nativeSrc":"20414:2:1","nodeType":"YulIdentifier","src":"20414:2:1"}]},{"nativeSrc":"20473:21:1","nodeType":"YulAssignment","src":"20473:21:1","value":{"arguments":[{"name":"s","nativeSrc":"20485:1:1","nodeType":"YulIdentifier","src":"20485:1:1"},{"name":"s1","nativeSrc":"20488:2:1","nodeType":"YulIdentifier","src":"20488:2:1"},{"name":"q","nativeSrc":"20492:1:1","nodeType":"YulIdentifier","src":"20492:1:1"}],"functionName":{"name":"addmod","nativeSrc":"20478:6:1","nodeType":"YulIdentifier","src":"20478:6:1"},"nativeSrc":"20478:16:1","nodeType":"YulFunctionCall","src":"20478:16:1"},"variableNames":[{"name":"s","nativeSrc":"20473:1:1","nodeType":"YulIdentifier","src":"20473:1:1"}]},{"nativeSrc":"20511:39:1","nodeType":"YulAssignment","src":"20511:39:1","value":{"arguments":[{"name":"s","nativeSrc":"20523:1:1","nodeType":"YulIdentifier","src":"20523:1:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20536:4:1","nodeType":"YulIdentifier","src":"20536:4:1"},{"name":"pU","nativeSrc":"20542:2:1","nodeType":"YulIdentifier","src":"20542:2:1"}],"functionName":{"name":"add","nativeSrc":"20532:3:1","nodeType":"YulIdentifier","src":"20532:3:1"},"nativeSrc":"20532:13:1","nodeType":"YulFunctionCall","src":"20532:13:1"}],"functionName":{"name":"mload","nativeSrc":"20526:5:1","nodeType":"YulIdentifier","src":"20526:5:1"},"nativeSrc":"20526:20:1","nodeType":"YulFunctionCall","src":"20526:20:1"},{"name":"q","nativeSrc":"20548:1:1","nodeType":"YulIdentifier","src":"20548:1:1"}],"functionName":{"name":"addmod","nativeSrc":"20516:6:1","nodeType":"YulIdentifier","src":"20516:6:1"},"nativeSrc":"20516:34:1","nodeType":"YulFunctionCall","src":"20516:34:1"},"variableNames":[{"name":"s","nativeSrc":"20511:1:1","nodeType":"YulIdentifier","src":"20511:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"20577:1:1","nodeType":"YulIdentifier","src":"20577:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"20584:6:1","nodeType":"YulIdentifier","src":"20584:6:1"},{"name":"pZ","nativeSrc":"20592:2:1","nodeType":"YulIdentifier","src":"20592:2:1"}],"functionName":{"name":"add","nativeSrc":"20580:3:1","nodeType":"YulIdentifier","src":"20580:3:1"},"nativeSrc":"20580:15:1","nodeType":"YulFunctionCall","src":"20580:15:1"},{"name":"s","nativeSrc":"20597:1:1","nodeType":"YulIdentifier","src":"20597:1:1"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"20567:9:1","nodeType":"YulIdentifier","src":"20567:9:1"},"nativeSrc":"20567:32:1","nodeType":"YulFunctionCall","src":"20567:32:1"},"nativeSrc":"20567:32:1","nodeType":"YulExpressionStatement","src":"20567:32:1"},{"nativeSrc":"20633:69:1","nodeType":"YulAssignment","src":"20633:69:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20655:4:1","nodeType":"YulIdentifier","src":"20655:4:1"},{"name":"pBeta","nativeSrc":"20661:5:1","nodeType":"YulIdentifier","src":"20661:5:1"}],"functionName":{"name":"add","nativeSrc":"20651:3:1","nodeType":"YulIdentifier","src":"20651:3:1"},"nativeSrc":"20651:16:1","nodeType":"YulFunctionCall","src":"20651:16:1"}],"functionName":{"name":"mload","nativeSrc":"20645:5:1","nodeType":"YulIdentifier","src":"20645:5:1"},"nativeSrc":"20645:23:1","nodeType":"YulFunctionCall","src":"20645:23:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20680:6:1","nodeType":"YulIdentifier","src":"20680:6:1"},{"name":"pEval_s1","nativeSrc":"20688:8:1","nodeType":"YulIdentifier","src":"20688:8:1"}],"functionName":{"name":"add","nativeSrc":"20676:3:1","nodeType":"YulIdentifier","src":"20676:3:1"},"nativeSrc":"20676:21:1","nodeType":"YulFunctionCall","src":"20676:21:1"}],"functionName":{"name":"mload","nativeSrc":"20670:5:1","nodeType":"YulIdentifier","src":"20670:5:1"},"nativeSrc":"20670:28:1","nodeType":"YulFunctionCall","src":"20670:28:1"},{"name":"q","nativeSrc":"20700:1:1","nodeType":"YulIdentifier","src":"20700:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"20638:6:1","nodeType":"YulIdentifier","src":"20638:6:1"},"nativeSrc":"20638:64:1","nodeType":"YulFunctionCall","src":"20638:64:1"},"variableNames":[{"name":"s","nativeSrc":"20633:1:1","nodeType":"YulIdentifier","src":"20633:1:1"}]},{"nativeSrc":"20719:46:1","nodeType":"YulAssignment","src":"20719:46:1","value":{"arguments":[{"name":"s","nativeSrc":"20731:1:1","nodeType":"YulIdentifier","src":"20731:1:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20744:6:1","nodeType":"YulIdentifier","src":"20744:6:1"},{"name":"pEval_a","nativeSrc":"20752:7:1","nodeType":"YulIdentifier","src":"20752:7:1"}],"functionName":{"name":"add","nativeSrc":"20740:3:1","nodeType":"YulIdentifier","src":"20740:3:1"},"nativeSrc":"20740:20:1","nodeType":"YulFunctionCall","src":"20740:20:1"}],"functionName":{"name":"mload","nativeSrc":"20734:5:1","nodeType":"YulIdentifier","src":"20734:5:1"},"nativeSrc":"20734:27:1","nodeType":"YulFunctionCall","src":"20734:27:1"},{"name":"q","nativeSrc":"20763:1:1","nodeType":"YulIdentifier","src":"20763:1:1"}],"functionName":{"name":"addmod","nativeSrc":"20724:6:1","nodeType":"YulIdentifier","src":"20724:6:1"},"nativeSrc":"20724:41:1","nodeType":"YulFunctionCall","src":"20724:41:1"},"variableNames":[{"name":"s","nativeSrc":"20719:1:1","nodeType":"YulIdentifier","src":"20719:1:1"}]},{"nativeSrc":"20782:43:1","nodeType":"YulAssignment","src":"20782:43:1","value":{"arguments":[{"name":"s","nativeSrc":"20794:1:1","nodeType":"YulIdentifier","src":"20794:1:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20807:4:1","nodeType":"YulIdentifier","src":"20807:4:1"},{"name":"pGamma","nativeSrc":"20813:6:1","nodeType":"YulIdentifier","src":"20813:6:1"}],"functionName":{"name":"add","nativeSrc":"20803:3:1","nodeType":"YulIdentifier","src":"20803:3:1"},"nativeSrc":"20803:17:1","nodeType":"YulFunctionCall","src":"20803:17:1"}],"functionName":{"name":"mload","nativeSrc":"20797:5:1","nodeType":"YulIdentifier","src":"20797:5:1"},"nativeSrc":"20797:24:1","nodeType":"YulFunctionCall","src":"20797:24:1"},{"name":"q","nativeSrc":"20823:1:1","nodeType":"YulIdentifier","src":"20823:1:1"}],"functionName":{"name":"addmod","nativeSrc":"20787:6:1","nodeType":"YulIdentifier","src":"20787:6:1"},"nativeSrc":"20787:38:1","nodeType":"YulFunctionCall","src":"20787:38:1"},"variableNames":[{"name":"s","nativeSrc":"20782:1:1","nodeType":"YulIdentifier","src":"20782:1:1"}]},{"nativeSrc":"20842:70:1","nodeType":"YulAssignment","src":"20842:70:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20865:4:1","nodeType":"YulIdentifier","src":"20865:4:1"},{"name":"pBeta","nativeSrc":"20871:5:1","nodeType":"YulIdentifier","src":"20871:5:1"}],"functionName":{"name":"add","nativeSrc":"20861:3:1","nodeType":"YulIdentifier","src":"20861:3:1"},"nativeSrc":"20861:16:1","nodeType":"YulFunctionCall","src":"20861:16:1"}],"functionName":{"name":"mload","nativeSrc":"20855:5:1","nodeType":"YulIdentifier","src":"20855:5:1"},"nativeSrc":"20855:23:1","nodeType":"YulFunctionCall","src":"20855:23:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20890:6:1","nodeType":"YulIdentifier","src":"20890:6:1"},{"name":"pEval_s2","nativeSrc":"20898:8:1","nodeType":"YulIdentifier","src":"20898:8:1"}],"functionName":{"name":"add","nativeSrc":"20886:3:1","nodeType":"YulIdentifier","src":"20886:3:1"},"nativeSrc":"20886:21:1","nodeType":"YulFunctionCall","src":"20886:21:1"}],"functionName":{"name":"mload","nativeSrc":"20880:5:1","nodeType":"YulIdentifier","src":"20880:5:1"},"nativeSrc":"20880:28:1","nodeType":"YulFunctionCall","src":"20880:28:1"},{"name":"q","nativeSrc":"20910:1:1","nodeType":"YulIdentifier","src":"20910:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"20848:6:1","nodeType":"YulIdentifier","src":"20848:6:1"},"nativeSrc":"20848:64:1","nodeType":"YulFunctionCall","src":"20848:64:1"},"variableNames":[{"name":"s1","nativeSrc":"20842:2:1","nodeType":"YulIdentifier","src":"20842:2:1"}]},{"nativeSrc":"20929:48:1","nodeType":"YulAssignment","src":"20929:48:1","value":{"arguments":[{"name":"s1","nativeSrc":"20942:2:1","nodeType":"YulIdentifier","src":"20942:2:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20956:6:1","nodeType":"YulIdentifier","src":"20956:6:1"},{"name":"pEval_b","nativeSrc":"20964:7:1","nodeType":"YulIdentifier","src":"20964:7:1"}],"functionName":{"name":"add","nativeSrc":"20952:3:1","nodeType":"YulIdentifier","src":"20952:3:1"},"nativeSrc":"20952:20:1","nodeType":"YulFunctionCall","src":"20952:20:1"}],"functionName":{"name":"mload","nativeSrc":"20946:5:1","nodeType":"YulIdentifier","src":"20946:5:1"},"nativeSrc":"20946:27:1","nodeType":"YulFunctionCall","src":"20946:27:1"},{"name":"q","nativeSrc":"20975:1:1","nodeType":"YulIdentifier","src":"20975:1:1"}],"functionName":{"name":"addmod","nativeSrc":"20935:6:1","nodeType":"YulIdentifier","src":"20935:6:1"},"nativeSrc":"20935:42:1","nodeType":"YulFunctionCall","src":"20935:42:1"},"variableNames":[{"name":"s1","nativeSrc":"20929:2:1","nodeType":"YulIdentifier","src":"20929:2:1"}]},{"nativeSrc":"20994:45:1","nodeType":"YulAssignment","src":"20994:45:1","value":{"arguments":[{"name":"s1","nativeSrc":"21007:2:1","nodeType":"YulIdentifier","src":"21007:2:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21021:4:1","nodeType":"YulIdentifier","src":"21021:4:1"},{"name":"pGamma","nativeSrc":"21027:6:1","nodeType":"YulIdentifier","src":"21027:6:1"}],"functionName":{"name":"add","nativeSrc":"21017:3:1","nodeType":"YulIdentifier","src":"21017:3:1"},"nativeSrc":"21017:17:1","nodeType":"YulFunctionCall","src":"21017:17:1"}],"functionName":{"name":"mload","nativeSrc":"21011:5:1","nodeType":"YulIdentifier","src":"21011:5:1"},"nativeSrc":"21011:24:1","nodeType":"YulFunctionCall","src":"21011:24:1"},{"name":"q","nativeSrc":"21037:1:1","nodeType":"YulIdentifier","src":"21037:1:1"}],"functionName":{"name":"addmod","nativeSrc":"21000:6:1","nodeType":"YulIdentifier","src":"21000:6:1"},"nativeSrc":"21000:39:1","nodeType":"YulFunctionCall","src":"21000:39:1"},"variableNames":[{"name":"s1","nativeSrc":"20994:2:1","nodeType":"YulIdentifier","src":"20994:2:1"}]},{"nativeSrc":"21056:21:1","nodeType":"YulAssignment","src":"21056:21:1","value":{"arguments":[{"name":"s","nativeSrc":"21068:1:1","nodeType":"YulIdentifier","src":"21068:1:1"},{"name":"s1","nativeSrc":"21071:2:1","nodeType":"YulIdentifier","src":"21071:2:1"},{"name":"q","nativeSrc":"21075:1:1","nodeType":"YulIdentifier","src":"21075:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"21061:6:1","nodeType":"YulIdentifier","src":"21061:6:1"},"nativeSrc":"21061:16:1","nodeType":"YulFunctionCall","src":"21061:16:1"},"variableNames":[{"name":"s","nativeSrc":"21056:1:1","nodeType":"YulIdentifier","src":"21056:1:1"}]},{"nativeSrc":"21094:43:1","nodeType":"YulAssignment","src":"21094:43:1","value":{"arguments":[{"name":"s","nativeSrc":"21106:1:1","nodeType":"YulIdentifier","src":"21106:1:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21119:4:1","nodeType":"YulIdentifier","src":"21119:4:1"},{"name":"pAlpha","nativeSrc":"21125:6:1","nodeType":"YulIdentifier","src":"21125:6:1"}],"functionName":{"name":"add","nativeSrc":"21115:3:1","nodeType":"YulIdentifier","src":"21115:3:1"},"nativeSrc":"21115:17:1","nodeType":"YulFunctionCall","src":"21115:17:1"}],"functionName":{"name":"mload","nativeSrc":"21109:5:1","nodeType":"YulIdentifier","src":"21109:5:1"},"nativeSrc":"21109:24:1","nodeType":"YulFunctionCall","src":"21109:24:1"},{"name":"q","nativeSrc":"21135:1:1","nodeType":"YulIdentifier","src":"21135:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"21099:6:1","nodeType":"YulIdentifier","src":"21099:6:1"},"nativeSrc":"21099:38:1","nodeType":"YulFunctionCall","src":"21099:38:1"},"variableNames":[{"name":"s","nativeSrc":"21094:1:1","nodeType":"YulIdentifier","src":"21094:1:1"}]},{"nativeSrc":"21154:40:1","nodeType":"YulAssignment","src":"21154:40:1","value":{"arguments":[{"name":"s","nativeSrc":"21166:1:1","nodeType":"YulIdentifier","src":"21166:1:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21179:4:1","nodeType":"YulIdentifier","src":"21179:4:1"},{"name":"pV1","nativeSrc":"21185:3:1","nodeType":"YulIdentifier","src":"21185:3:1"}],"functionName":{"name":"add","nativeSrc":"21175:3:1","nodeType":"YulIdentifier","src":"21175:3:1"},"nativeSrc":"21175:14:1","nodeType":"YulFunctionCall","src":"21175:14:1"}],"functionName":{"name":"mload","nativeSrc":"21169:5:1","nodeType":"YulIdentifier","src":"21169:5:1"},"nativeSrc":"21169:21:1","nodeType":"YulFunctionCall","src":"21169:21:1"},{"name":"q","nativeSrc":"21192:1:1","nodeType":"YulIdentifier","src":"21192:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"21159:6:1","nodeType":"YulIdentifier","src":"21159:6:1"},"nativeSrc":"21159:35:1","nodeType":"YulFunctionCall","src":"21159:35:1"},"variableNames":[{"name":"s","nativeSrc":"21154:1:1","nodeType":"YulIdentifier","src":"21154:1:1"}]},{"nativeSrc":"21211:42:1","nodeType":"YulAssignment","src":"21211:42:1","value":{"arguments":[{"name":"s","nativeSrc":"21223:1:1","nodeType":"YulIdentifier","src":"21223:1:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21236:4:1","nodeType":"YulIdentifier","src":"21236:4:1"},{"name":"pBeta","nativeSrc":"21242:5:1","nodeType":"YulIdentifier","src":"21242:5:1"}],"functionName":{"name":"add","nativeSrc":"21232:3:1","nodeType":"YulIdentifier","src":"21232:3:1"},"nativeSrc":"21232:16:1","nodeType":"YulFunctionCall","src":"21232:16:1"}],"functionName":{"name":"mload","nativeSrc":"21226:5:1","nodeType":"YulIdentifier","src":"21226:5:1"},"nativeSrc":"21226:23:1","nodeType":"YulFunctionCall","src":"21226:23:1"},{"name":"q","nativeSrc":"21251:1:1","nodeType":"YulIdentifier","src":"21251:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"21216:6:1","nodeType":"YulIdentifier","src":"21216:6:1"},"nativeSrc":"21216:37:1","nodeType":"YulFunctionCall","src":"21216:37:1"},"variableNames":[{"name":"s","nativeSrc":"21211:1:1","nodeType":"YulIdentifier","src":"21211:1:1"}]},{"nativeSrc":"21270:47:1","nodeType":"YulAssignment","src":"21270:47:1","value":{"arguments":[{"name":"s","nativeSrc":"21282:1:1","nodeType":"YulIdentifier","src":"21282:1:1"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"21295:6:1","nodeType":"YulIdentifier","src":"21295:6:1"},{"name":"pEval_zw","nativeSrc":"21303:8:1","nodeType":"YulIdentifier","src":"21303:8:1"}],"functionName":{"name":"add","nativeSrc":"21291:3:1","nodeType":"YulIdentifier","src":"21291:3:1"},"nativeSrc":"21291:21:1","nodeType":"YulFunctionCall","src":"21291:21:1"}],"functionName":{"name":"mload","nativeSrc":"21285:5:1","nodeType":"YulIdentifier","src":"21285:5:1"},"nativeSrc":"21285:28:1","nodeType":"YulFunctionCall","src":"21285:28:1"},{"name":"q","nativeSrc":"21315:1:1","nodeType":"YulIdentifier","src":"21315:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"21275:6:1","nodeType":"YulIdentifier","src":"21275:6:1"},"nativeSrc":"21275:42:1","nodeType":"YulFunctionCall","src":"21275:42:1"},"variableNames":[{"name":"s","nativeSrc":"21270:1:1","nodeType":"YulIdentifier","src":"21270:1:1"}]},{"nativeSrc":"21334:22:1","nodeType":"YulAssignment","src":"21334:22:1","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"21347:1:1","nodeType":"YulIdentifier","src":"21347:1:1"},{"name":"s","nativeSrc":"21350:1:1","nodeType":"YulIdentifier","src":"21350:1:1"}],"functionName":{"name":"sub","nativeSrc":"21343:3:1","nodeType":"YulIdentifier","src":"21343:3:1"},"nativeSrc":"21343:9:1","nodeType":"YulFunctionCall","src":"21343:9:1"},{"name":"q","nativeSrc":"21354:1:1","nodeType":"YulIdentifier","src":"21354:1:1"}],"functionName":{"name":"mod","nativeSrc":"21339:3:1","nodeType":"YulIdentifier","src":"21339:3:1"},"nativeSrc":"21339:17:1","nodeType":"YulFunctionCall","src":"21339:17:1"},"variableNames":[{"name":"s","nativeSrc":"21334:1:1","nodeType":"YulIdentifier","src":"21334:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21384:1:1","nodeType":"YulIdentifier","src":"21384:1:1"},{"name":"S3x","nativeSrc":"21387:3:1","nodeType":"YulIdentifier","src":"21387:3:1"},{"name":"S3y","nativeSrc":"21392:3:1","nodeType":"YulIdentifier","src":"21392:3:1"},{"name":"s","nativeSrc":"21397:1:1","nodeType":"YulIdentifier","src":"21397:1:1"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21373:10:1","nodeType":"YulIdentifier","src":"21373:10:1"},"nativeSrc":"21373:26:1","nodeType":"YulFunctionCall","src":"21373:26:1"},"nativeSrc":"21373:26:1","nodeType":"YulExpressionStatement","src":"21373:26:1"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21456:1:1","nodeType":"YulIdentifier","src":"21456:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"21464:6:1","nodeType":"YulIdentifier","src":"21464:6:1"},{"name":"pT1","nativeSrc":"21472:3:1","nodeType":"YulIdentifier","src":"21472:3:1"}],"functionName":{"name":"add","nativeSrc":"21460:3:1","nodeType":"YulIdentifier","src":"21460:3:1"},"nativeSrc":"21460:16:1","nodeType":"YulFunctionCall","src":"21460:16:1"}],"functionName":{"name":"g1_acc","nativeSrc":"21449:6:1","nodeType":"YulIdentifier","src":"21449:6:1"},"nativeSrc":"21449:28:1","nodeType":"YulFunctionCall","src":"21449:28:1"},"nativeSrc":"21449:28:1","nodeType":"YulExpressionStatement","src":"21449:28:1"},{"nativeSrc":"21495:27:1","nodeType":"YulAssignment","src":"21495:27:1","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21510:4:1","nodeType":"YulIdentifier","src":"21510:4:1"},{"name":"pXin","nativeSrc":"21516:4:1","nodeType":"YulIdentifier","src":"21516:4:1"}],"functionName":{"name":"add","nativeSrc":"21506:3:1","nodeType":"YulIdentifier","src":"21506:3:1"},"nativeSrc":"21506:15:1","nodeType":"YulFunctionCall","src":"21506:15:1"}],"functionName":{"name":"mload","nativeSrc":"21500:5:1","nodeType":"YulIdentifier","src":"21500:5:1"},"nativeSrc":"21500:22:1","nodeType":"YulFunctionCall","src":"21500:22:1"},"variableNames":[{"name":"s","nativeSrc":"21495:1:1","nodeType":"YulIdentifier","src":"21495:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21549:1:1","nodeType":"YulIdentifier","src":"21549:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"21556:6:1","nodeType":"YulIdentifier","src":"21556:6:1"},{"name":"pT2","nativeSrc":"21564:3:1","nodeType":"YulIdentifier","src":"21564:3:1"}],"functionName":{"name":"add","nativeSrc":"21552:3:1","nodeType":"YulIdentifier","src":"21552:3:1"},"nativeSrc":"21552:16:1","nodeType":"YulFunctionCall","src":"21552:16:1"},{"name":"s","nativeSrc":"21570:1:1","nodeType":"YulIdentifier","src":"21570:1:1"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21539:9:1","nodeType":"YulIdentifier","src":"21539:9:1"},"nativeSrc":"21539:33:1","nodeType":"YulFunctionCall","src":"21539:33:1"},"nativeSrc":"21539:33:1","nodeType":"YulExpressionStatement","src":"21539:33:1"},{"nativeSrc":"21606:20:1","nodeType":"YulAssignment","src":"21606:20:1","value":{"arguments":[{"name":"s","nativeSrc":"21618:1:1","nodeType":"YulIdentifier","src":"21618:1:1"},{"name":"s","nativeSrc":"21621:1:1","nodeType":"YulIdentifier","src":"21621:1:1"},{"name":"q","nativeSrc":"21624:1:1","nodeType":"YulIdentifier","src":"21624:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"21611:6:1","nodeType":"YulIdentifier","src":"21611:6:1"},"nativeSrc":"21611:15:1","nodeType":"YulFunctionCall","src":"21611:15:1"},"variableNames":[{"name":"s","nativeSrc":"21606:1:1","nodeType":"YulIdentifier","src":"21606:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21653:1:1","nodeType":"YulIdentifier","src":"21653:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"21660:6:1","nodeType":"YulIdentifier","src":"21660:6:1"},{"name":"pT3","nativeSrc":"21668:3:1","nodeType":"YulIdentifier","src":"21668:3:1"}],"functionName":{"name":"add","nativeSrc":"21656:3:1","nodeType":"YulIdentifier","src":"21656:3:1"},"nativeSrc":"21656:16:1","nodeType":"YulFunctionCall","src":"21656:16:1"},{"name":"s","nativeSrc":"21674:1:1","nodeType":"YulIdentifier","src":"21674:1:1"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21643:9:1","nodeType":"YulIdentifier","src":"21643:9:1"},"nativeSrc":"21643:33:1","nodeType":"YulFunctionCall","src":"21643:33:1"},"nativeSrc":"21643:33:1","nodeType":"YulExpressionStatement","src":"21643:33:1"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21720:1:1","nodeType":"YulIdentifier","src":"21720:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"21727:6:1","nodeType":"YulIdentifier","src":"21727:6:1"},{"name":"pA","nativeSrc":"21735:2:1","nodeType":"YulIdentifier","src":"21735:2:1"}],"functionName":{"name":"add","nativeSrc":"21723:3:1","nodeType":"YulIdentifier","src":"21723:3:1"},"nativeSrc":"21723:15:1","nodeType":"YulFunctionCall","src":"21723:15:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21750:4:1","nodeType":"YulIdentifier","src":"21750:4:1"},{"name":"pV2","nativeSrc":"21756:3:1","nodeType":"YulIdentifier","src":"21756:3:1"}],"functionName":{"name":"add","nativeSrc":"21746:3:1","nodeType":"YulIdentifier","src":"21746:3:1"},"nativeSrc":"21746:14:1","nodeType":"YulFunctionCall","src":"21746:14:1"}],"functionName":{"name":"mload","nativeSrc":"21740:5:1","nodeType":"YulIdentifier","src":"21740:5:1"},"nativeSrc":"21740:21:1","nodeType":"YulFunctionCall","src":"21740:21:1"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21710:9:1","nodeType":"YulIdentifier","src":"21710:9:1"},"nativeSrc":"21710:52:1","nodeType":"YulFunctionCall","src":"21710:52:1"},"nativeSrc":"21710:52:1","nodeType":"YulExpressionStatement","src":"21710:52:1"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21789:1:1","nodeType":"YulIdentifier","src":"21789:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"21796:6:1","nodeType":"YulIdentifier","src":"21796:6:1"},{"name":"pB","nativeSrc":"21804:2:1","nodeType":"YulIdentifier","src":"21804:2:1"}],"functionName":{"name":"add","nativeSrc":"21792:3:1","nodeType":"YulIdentifier","src":"21792:3:1"},"nativeSrc":"21792:15:1","nodeType":"YulFunctionCall","src":"21792:15:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21819:4:1","nodeType":"YulIdentifier","src":"21819:4:1"},{"name":"pV3","nativeSrc":"21825:3:1","nodeType":"YulIdentifier","src":"21825:3:1"}],"functionName":{"name":"add","nativeSrc":"21815:3:1","nodeType":"YulIdentifier","src":"21815:3:1"},"nativeSrc":"21815:14:1","nodeType":"YulFunctionCall","src":"21815:14:1"}],"functionName":{"name":"mload","nativeSrc":"21809:5:1","nodeType":"YulIdentifier","src":"21809:5:1"},"nativeSrc":"21809:21:1","nodeType":"YulFunctionCall","src":"21809:21:1"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21779:9:1","nodeType":"YulIdentifier","src":"21779:9:1"},"nativeSrc":"21779:52:1","nodeType":"YulFunctionCall","src":"21779:52:1"},"nativeSrc":"21779:52:1","nodeType":"YulExpressionStatement","src":"21779:52:1"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21858:1:1","nodeType":"YulIdentifier","src":"21858:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"21865:6:1","nodeType":"YulIdentifier","src":"21865:6:1"},{"name":"pC","nativeSrc":"21873:2:1","nodeType":"YulIdentifier","src":"21873:2:1"}],"functionName":{"name":"add","nativeSrc":"21861:3:1","nodeType":"YulIdentifier","src":"21861:3:1"},"nativeSrc":"21861:15:1","nodeType":"YulFunctionCall","src":"21861:15:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21888:4:1","nodeType":"YulIdentifier","src":"21888:4:1"},{"name":"pV4","nativeSrc":"21894:3:1","nodeType":"YulIdentifier","src":"21894:3:1"}],"functionName":{"name":"add","nativeSrc":"21884:3:1","nodeType":"YulIdentifier","src":"21884:3:1"},"nativeSrc":"21884:14:1","nodeType":"YulFunctionCall","src":"21884:14:1"}],"functionName":{"name":"mload","nativeSrc":"21878:5:1","nodeType":"YulIdentifier","src":"21878:5:1"},"nativeSrc":"21878:21:1","nodeType":"YulFunctionCall","src":"21878:21:1"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21848:9:1","nodeType":"YulIdentifier","src":"21848:9:1"},"nativeSrc":"21848:52:1","nodeType":"YulFunctionCall","src":"21848:52:1"},"nativeSrc":"21848:52:1","nodeType":"YulExpressionStatement","src":"21848:52:1"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21928:1:1","nodeType":"YulIdentifier","src":"21928:1:1"},{"name":"S1x","nativeSrc":"21931:3:1","nodeType":"YulIdentifier","src":"21931:3:1"},{"name":"S1y","nativeSrc":"21936:3:1","nodeType":"YulIdentifier","src":"21936:3:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21951:4:1","nodeType":"YulIdentifier","src":"21951:4:1"},{"name":"pV5","nativeSrc":"21957:3:1","nodeType":"YulIdentifier","src":"21957:3:1"}],"functionName":{"name":"add","nativeSrc":"21947:3:1","nodeType":"YulIdentifier","src":"21947:3:1"},"nativeSrc":"21947:14:1","nodeType":"YulFunctionCall","src":"21947:14:1"}],"functionName":{"name":"mload","nativeSrc":"21941:5:1","nodeType":"YulIdentifier","src":"21941:5:1"},"nativeSrc":"21941:21:1","nodeType":"YulFunctionCall","src":"21941:21:1"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21917:10:1","nodeType":"YulIdentifier","src":"21917:10:1"},"nativeSrc":"21917:46:1","nodeType":"YulFunctionCall","src":"21917:46:1"},"nativeSrc":"21917:46:1","nodeType":"YulExpressionStatement","src":"21917:46:1"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21991:1:1","nodeType":"YulIdentifier","src":"21991:1:1"},{"name":"S2x","nativeSrc":"21994:3:1","nodeType":"YulIdentifier","src":"21994:3:1"},{"name":"S2y","nativeSrc":"21999:3:1","nodeType":"YulIdentifier","src":"21999:3:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22014:4:1","nodeType":"YulIdentifier","src":"22014:4:1"},{"name":"pV6","nativeSrc":"22020:3:1","nodeType":"YulIdentifier","src":"22020:3:1"}],"functionName":{"name":"add","nativeSrc":"22010:3:1","nodeType":"YulIdentifier","src":"22010:3:1"},"nativeSrc":"22010:14:1","nodeType":"YulFunctionCall","src":"22010:14:1"}],"functionName":{"name":"mload","nativeSrc":"22004:5:1","nodeType":"YulIdentifier","src":"22004:5:1"},"nativeSrc":"22004:21:1","nodeType":"YulFunctionCall","src":"22004:21:1"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21980:10:1","nodeType":"YulIdentifier","src":"21980:10:1"},"nativeSrc":"21980:46:1","nodeType":"YulFunctionCall","src":"21980:46:1"},"nativeSrc":"21980:46:1","nodeType":"YulExpressionStatement","src":"21980:46:1"},{"nativeSrc":"22091:30:1","nodeType":"YulAssignment","src":"22091:30:1","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22106:4:1","nodeType":"YulIdentifier","src":"22106:4:1"},{"name":"pEval_t","nativeSrc":"22112:7:1","nodeType":"YulIdentifier","src":"22112:7:1"}],"functionName":{"name":"add","nativeSrc":"22102:3:1","nodeType":"YulIdentifier","src":"22102:3:1"},"nativeSrc":"22102:18:1","nodeType":"YulFunctionCall","src":"22102:18:1"}],"functionName":{"name":"mload","nativeSrc":"22096:5:1","nodeType":"YulIdentifier","src":"22096:5:1"},"nativeSrc":"22096:25:1","nodeType":"YulFunctionCall","src":"22096:25:1"},"variableNames":[{"name":"s","nativeSrc":"22091:1:1","nodeType":"YulIdentifier","src":"22091:1:1"}]},{"nativeSrc":"22138:80:1","nodeType":"YulAssignment","src":"22138:80:1","value":{"arguments":[{"name":"s","nativeSrc":"22150:1:1","nodeType":"YulIdentifier","src":"22150:1:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22170:6:1","nodeType":"YulIdentifier","src":"22170:6:1"},{"name":"pEval_r","nativeSrc":"22178:7:1","nodeType":"YulIdentifier","src":"22178:7:1"}],"functionName":{"name":"add","nativeSrc":"22166:3:1","nodeType":"YulIdentifier","src":"22166:3:1"},"nativeSrc":"22166:20:1","nodeType":"YulFunctionCall","src":"22166:20:1"}],"functionName":{"name":"mload","nativeSrc":"22160:5:1","nodeType":"YulIdentifier","src":"22160:5:1"},"nativeSrc":"22160:27:1","nodeType":"YulFunctionCall","src":"22160:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22199:4:1","nodeType":"YulIdentifier","src":"22199:4:1"},{"name":"pV1","nativeSrc":"22205:3:1","nodeType":"YulIdentifier","src":"22205:3:1"}],"functionName":{"name":"add","nativeSrc":"22195:3:1","nodeType":"YulIdentifier","src":"22195:3:1"},"nativeSrc":"22195:14:1","nodeType":"YulFunctionCall","src":"22195:14:1"}],"functionName":{"name":"mload","nativeSrc":"22189:5:1","nodeType":"YulIdentifier","src":"22189:5:1"},"nativeSrc":"22189:21:1","nodeType":"YulFunctionCall","src":"22189:21:1"},{"name":"q","nativeSrc":"22212:1:1","nodeType":"YulIdentifier","src":"22212:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"22153:6:1","nodeType":"YulIdentifier","src":"22153:6:1"},"nativeSrc":"22153:61:1","nodeType":"YulFunctionCall","src":"22153:61:1"},{"name":"q","nativeSrc":"22216:1:1","nodeType":"YulIdentifier","src":"22216:1:1"}],"functionName":{"name":"addmod","nativeSrc":"22143:6:1","nodeType":"YulIdentifier","src":"22143:6:1"},"nativeSrc":"22143:75:1","nodeType":"YulFunctionCall","src":"22143:75:1"},"variableNames":[{"name":"s","nativeSrc":"22138:1:1","nodeType":"YulIdentifier","src":"22138:1:1"}]},{"nativeSrc":"22235:80:1","nodeType":"YulAssignment","src":"22235:80:1","value":{"arguments":[{"name":"s","nativeSrc":"22247:1:1","nodeType":"YulIdentifier","src":"22247:1:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22267:6:1","nodeType":"YulIdentifier","src":"22267:6:1"},{"name":"pEval_a","nativeSrc":"22275:7:1","nodeType":"YulIdentifier","src":"22275:7:1"}],"functionName":{"name":"add","nativeSrc":"22263:3:1","nodeType":"YulIdentifier","src":"22263:3:1"},"nativeSrc":"22263:20:1","nodeType":"YulFunctionCall","src":"22263:20:1"}],"functionName":{"name":"mload","nativeSrc":"22257:5:1","nodeType":"YulIdentifier","src":"22257:5:1"},"nativeSrc":"22257:27:1","nodeType":"YulFunctionCall","src":"22257:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22296:4:1","nodeType":"YulIdentifier","src":"22296:4:1"},{"name":"pV2","nativeSrc":"22302:3:1","nodeType":"YulIdentifier","src":"22302:3:1"}],"functionName":{"name":"add","nativeSrc":"22292:3:1","nodeType":"YulIdentifier","src":"22292:3:1"},"nativeSrc":"22292:14:1","nodeType":"YulFunctionCall","src":"22292:14:1"}],"functionName":{"name":"mload","nativeSrc":"22286:5:1","nodeType":"YulIdentifier","src":"22286:5:1"},"nativeSrc":"22286:21:1","nodeType":"YulFunctionCall","src":"22286:21:1"},{"name":"q","nativeSrc":"22309:1:1","nodeType":"YulIdentifier","src":"22309:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"22250:6:1","nodeType":"YulIdentifier","src":"22250:6:1"},"nativeSrc":"22250:61:1","nodeType":"YulFunctionCall","src":"22250:61:1"},{"name":"q","nativeSrc":"22313:1:1","nodeType":"YulIdentifier","src":"22313:1:1"}],"functionName":{"name":"addmod","nativeSrc":"22240:6:1","nodeType":"YulIdentifier","src":"22240:6:1"},"nativeSrc":"22240:75:1","nodeType":"YulFunctionCall","src":"22240:75:1"},"variableNames":[{"name":"s","nativeSrc":"22235:1:1","nodeType":"YulIdentifier","src":"22235:1:1"}]},{"nativeSrc":"22332:80:1","nodeType":"YulAssignment","src":"22332:80:1","value":{"arguments":[{"name":"s","nativeSrc":"22344:1:1","nodeType":"YulIdentifier","src":"22344:1:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22364:6:1","nodeType":"YulIdentifier","src":"22364:6:1"},{"name":"pEval_b","nativeSrc":"22372:7:1","nodeType":"YulIdentifier","src":"22372:7:1"}],"functionName":{"name":"add","nativeSrc":"22360:3:1","nodeType":"YulIdentifier","src":"22360:3:1"},"nativeSrc":"22360:20:1","nodeType":"YulFunctionCall","src":"22360:20:1"}],"functionName":{"name":"mload","nativeSrc":"22354:5:1","nodeType":"YulIdentifier","src":"22354:5:1"},"nativeSrc":"22354:27:1","nodeType":"YulFunctionCall","src":"22354:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22393:4:1","nodeType":"YulIdentifier","src":"22393:4:1"},{"name":"pV3","nativeSrc":"22399:3:1","nodeType":"YulIdentifier","src":"22399:3:1"}],"functionName":{"name":"add","nativeSrc":"22389:3:1","nodeType":"YulIdentifier","src":"22389:3:1"},"nativeSrc":"22389:14:1","nodeType":"YulFunctionCall","src":"22389:14:1"}],"functionName":{"name":"mload","nativeSrc":"22383:5:1","nodeType":"YulIdentifier","src":"22383:5:1"},"nativeSrc":"22383:21:1","nodeType":"YulFunctionCall","src":"22383:21:1"},{"name":"q","nativeSrc":"22406:1:1","nodeType":"YulIdentifier","src":"22406:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"22347:6:1","nodeType":"YulIdentifier","src":"22347:6:1"},"nativeSrc":"22347:61:1","nodeType":"YulFunctionCall","src":"22347:61:1"},{"name":"q","nativeSrc":"22410:1:1","nodeType":"YulIdentifier","src":"22410:1:1"}],"functionName":{"name":"addmod","nativeSrc":"22337:6:1","nodeType":"YulIdentifier","src":"22337:6:1"},"nativeSrc":"22337:75:1","nodeType":"YulFunctionCall","src":"22337:75:1"},"variableNames":[{"name":"s","nativeSrc":"22332:1:1","nodeType":"YulIdentifier","src":"22332:1:1"}]},{"nativeSrc":"22429:80:1","nodeType":"YulAssignment","src":"22429:80:1","value":{"arguments":[{"name":"s","nativeSrc":"22441:1:1","nodeType":"YulIdentifier","src":"22441:1:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22461:6:1","nodeType":"YulIdentifier","src":"22461:6:1"},{"name":"pEval_c","nativeSrc":"22469:7:1","nodeType":"YulIdentifier","src":"22469:7:1"}],"functionName":{"name":"add","nativeSrc":"22457:3:1","nodeType":"YulIdentifier","src":"22457:3:1"},"nativeSrc":"22457:20:1","nodeType":"YulFunctionCall","src":"22457:20:1"}],"functionName":{"name":"mload","nativeSrc":"22451:5:1","nodeType":"YulIdentifier","src":"22451:5:1"},"nativeSrc":"22451:27:1","nodeType":"YulFunctionCall","src":"22451:27:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22490:4:1","nodeType":"YulIdentifier","src":"22490:4:1"},{"name":"pV4","nativeSrc":"22496:3:1","nodeType":"YulIdentifier","src":"22496:3:1"}],"functionName":{"name":"add","nativeSrc":"22486:3:1","nodeType":"YulIdentifier","src":"22486:3:1"},"nativeSrc":"22486:14:1","nodeType":"YulFunctionCall","src":"22486:14:1"}],"functionName":{"name":"mload","nativeSrc":"22480:5:1","nodeType":"YulIdentifier","src":"22480:5:1"},"nativeSrc":"22480:21:1","nodeType":"YulFunctionCall","src":"22480:21:1"},{"name":"q","nativeSrc":"22503:1:1","nodeType":"YulIdentifier","src":"22503:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"22444:6:1","nodeType":"YulIdentifier","src":"22444:6:1"},"nativeSrc":"22444:61:1","nodeType":"YulFunctionCall","src":"22444:61:1"},{"name":"q","nativeSrc":"22507:1:1","nodeType":"YulIdentifier","src":"22507:1:1"}],"functionName":{"name":"addmod","nativeSrc":"22434:6:1","nodeType":"YulIdentifier","src":"22434:6:1"},"nativeSrc":"22434:75:1","nodeType":"YulFunctionCall","src":"22434:75:1"},"variableNames":[{"name":"s","nativeSrc":"22429:1:1","nodeType":"YulIdentifier","src":"22429:1:1"}]},{"nativeSrc":"22526:81:1","nodeType":"YulAssignment","src":"22526:81:1","value":{"arguments":[{"name":"s","nativeSrc":"22538:1:1","nodeType":"YulIdentifier","src":"22538:1:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22558:6:1","nodeType":"YulIdentifier","src":"22558:6:1"},{"name":"pEval_s1","nativeSrc":"22566:8:1","nodeType":"YulIdentifier","src":"22566:8:1"}],"functionName":{"name":"add","nativeSrc":"22554:3:1","nodeType":"YulIdentifier","src":"22554:3:1"},"nativeSrc":"22554:21:1","nodeType":"YulFunctionCall","src":"22554:21:1"}],"functionName":{"name":"mload","nativeSrc":"22548:5:1","nodeType":"YulIdentifier","src":"22548:5:1"},"nativeSrc":"22548:28:1","nodeType":"YulFunctionCall","src":"22548:28:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22588:4:1","nodeType":"YulIdentifier","src":"22588:4:1"},{"name":"pV5","nativeSrc":"22594:3:1","nodeType":"YulIdentifier","src":"22594:3:1"}],"functionName":{"name":"add","nativeSrc":"22584:3:1","nodeType":"YulIdentifier","src":"22584:3:1"},"nativeSrc":"22584:14:1","nodeType":"YulFunctionCall","src":"22584:14:1"}],"functionName":{"name":"mload","nativeSrc":"22578:5:1","nodeType":"YulIdentifier","src":"22578:5:1"},"nativeSrc":"22578:21:1","nodeType":"YulFunctionCall","src":"22578:21:1"},{"name":"q","nativeSrc":"22601:1:1","nodeType":"YulIdentifier","src":"22601:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"22541:6:1","nodeType":"YulIdentifier","src":"22541:6:1"},"nativeSrc":"22541:62:1","nodeType":"YulFunctionCall","src":"22541:62:1"},{"name":"q","nativeSrc":"22605:1:1","nodeType":"YulIdentifier","src":"22605:1:1"}],"functionName":{"name":"addmod","nativeSrc":"22531:6:1","nodeType":"YulIdentifier","src":"22531:6:1"},"nativeSrc":"22531:76:1","nodeType":"YulFunctionCall","src":"22531:76:1"},"variableNames":[{"name":"s","nativeSrc":"22526:1:1","nodeType":"YulIdentifier","src":"22526:1:1"}]},{"nativeSrc":"22624:81:1","nodeType":"YulAssignment","src":"22624:81:1","value":{"arguments":[{"name":"s","nativeSrc":"22636:1:1","nodeType":"YulIdentifier","src":"22636:1:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22656:6:1","nodeType":"YulIdentifier","src":"22656:6:1"},{"name":"pEval_s2","nativeSrc":"22664:8:1","nodeType":"YulIdentifier","src":"22664:8:1"}],"functionName":{"name":"add","nativeSrc":"22652:3:1","nodeType":"YulIdentifier","src":"22652:3:1"},"nativeSrc":"22652:21:1","nodeType":"YulFunctionCall","src":"22652:21:1"}],"functionName":{"name":"mload","nativeSrc":"22646:5:1","nodeType":"YulIdentifier","src":"22646:5:1"},"nativeSrc":"22646:28:1","nodeType":"YulFunctionCall","src":"22646:28:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22686:4:1","nodeType":"YulIdentifier","src":"22686:4:1"},{"name":"pV6","nativeSrc":"22692:3:1","nodeType":"YulIdentifier","src":"22692:3:1"}],"functionName":{"name":"add","nativeSrc":"22682:3:1","nodeType":"YulIdentifier","src":"22682:3:1"},"nativeSrc":"22682:14:1","nodeType":"YulFunctionCall","src":"22682:14:1"}],"functionName":{"name":"mload","nativeSrc":"22676:5:1","nodeType":"YulIdentifier","src":"22676:5:1"},"nativeSrc":"22676:21:1","nodeType":"YulFunctionCall","src":"22676:21:1"},{"name":"q","nativeSrc":"22699:1:1","nodeType":"YulIdentifier","src":"22699:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"22639:6:1","nodeType":"YulIdentifier","src":"22639:6:1"},"nativeSrc":"22639:62:1","nodeType":"YulFunctionCall","src":"22639:62:1"},{"name":"q","nativeSrc":"22703:1:1","nodeType":"YulIdentifier","src":"22703:1:1"}],"functionName":{"name":"addmod","nativeSrc":"22629:6:1","nodeType":"YulIdentifier","src":"22629:6:1"},"nativeSrc":"22629:76:1","nodeType":"YulFunctionCall","src":"22629:76:1"},"variableNames":[{"name":"s","nativeSrc":"22624:1:1","nodeType":"YulIdentifier","src":"22624:1:1"}]},{"nativeSrc":"22722:80:1","nodeType":"YulAssignment","src":"22722:80:1","value":{"arguments":[{"name":"s","nativeSrc":"22734:1:1","nodeType":"YulIdentifier","src":"22734:1:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22754:6:1","nodeType":"YulIdentifier","src":"22754:6:1"},{"name":"pEval_zw","nativeSrc":"22762:8:1","nodeType":"YulIdentifier","src":"22762:8:1"}],"functionName":{"name":"add","nativeSrc":"22750:3:1","nodeType":"YulIdentifier","src":"22750:3:1"},"nativeSrc":"22750:21:1","nodeType":"YulFunctionCall","src":"22750:21:1"}],"functionName":{"name":"mload","nativeSrc":"22744:5:1","nodeType":"YulIdentifier","src":"22744:5:1"},"nativeSrc":"22744:28:1","nodeType":"YulFunctionCall","src":"22744:28:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22784:4:1","nodeType":"YulIdentifier","src":"22784:4:1"},{"name":"pU","nativeSrc":"22790:2:1","nodeType":"YulIdentifier","src":"22790:2:1"}],"functionName":{"name":"add","nativeSrc":"22780:3:1","nodeType":"YulIdentifier","src":"22780:3:1"},"nativeSrc":"22780:13:1","nodeType":"YulFunctionCall","src":"22780:13:1"}],"functionName":{"name":"mload","nativeSrc":"22774:5:1","nodeType":"YulIdentifier","src":"22774:5:1"},"nativeSrc":"22774:20:1","nodeType":"YulFunctionCall","src":"22774:20:1"},{"name":"q","nativeSrc":"22796:1:1","nodeType":"YulIdentifier","src":"22796:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"22737:6:1","nodeType":"YulIdentifier","src":"22737:6:1"},"nativeSrc":"22737:61:1","nodeType":"YulFunctionCall","src":"22737:61:1"},{"name":"q","nativeSrc":"22800:1:1","nodeType":"YulIdentifier","src":"22800:1:1"}],"functionName":{"name":"addmod","nativeSrc":"22727:6:1","nodeType":"YulIdentifier","src":"22727:6:1"},"nativeSrc":"22727:75:1","nodeType":"YulFunctionCall","src":"22727:75:1"},"variableNames":[{"name":"s","nativeSrc":"22722:1:1","nodeType":"YulIdentifier","src":"22722:1:1"}]},{"nativeSrc":"22819:22:1","nodeType":"YulAssignment","src":"22819:22:1","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"22832:1:1","nodeType":"YulIdentifier","src":"22832:1:1"},{"name":"s","nativeSrc":"22835:1:1","nodeType":"YulIdentifier","src":"22835:1:1"}],"functionName":{"name":"sub","nativeSrc":"22828:3:1","nodeType":"YulIdentifier","src":"22828:3:1"},"nativeSrc":"22828:9:1","nodeType":"YulFunctionCall","src":"22828:9:1"},{"name":"q","nativeSrc":"22839:1:1","nodeType":"YulIdentifier","src":"22839:1:1"}],"functionName":{"name":"mod","nativeSrc":"22824:3:1","nodeType":"YulIdentifier","src":"22824:3:1"},"nativeSrc":"22824:17:1","nodeType":"YulFunctionCall","src":"22824:17:1"},"variableNames":[{"name":"s","nativeSrc":"22819:1:1","nodeType":"YulIdentifier","src":"22819:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"22869:1:1","nodeType":"YulIdentifier","src":"22869:1:1"},{"name":"G1x","nativeSrc":"22872:3:1","nodeType":"YulIdentifier","src":"22872:3:1"},{"name":"G1y","nativeSrc":"22877:3:1","nodeType":"YulIdentifier","src":"22877:3:1"},{"name":"s","nativeSrc":"22882:1:1","nodeType":"YulIdentifier","src":"22882:1:1"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"22858:10:1","nodeType":"YulIdentifier","src":"22858:10:1"},"nativeSrc":"22858:26:1","nodeType":"YulFunctionCall","src":"22858:26:1"},"nativeSrc":"22858:26:1","nodeType":"YulExpressionStatement","src":"22858:26:1"},{"nativeSrc":"22969:26:1","nodeType":"YulAssignment","src":"22969:26:1","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22984:4:1","nodeType":"YulIdentifier","src":"22984:4:1"},{"name":"pXi","nativeSrc":"22990:3:1","nodeType":"YulIdentifier","src":"22990:3:1"}],"functionName":{"name":"add","nativeSrc":"22980:3:1","nodeType":"YulIdentifier","src":"22980:3:1"},"nativeSrc":"22980:14:1","nodeType":"YulFunctionCall","src":"22980:14:1"}],"functionName":{"name":"mload","nativeSrc":"22974:5:1","nodeType":"YulIdentifier","src":"22974:5:1"},"nativeSrc":"22974:21:1","nodeType":"YulFunctionCall","src":"22974:21:1"},"variableNames":[{"name":"s","nativeSrc":"22969:1:1","nodeType":"YulIdentifier","src":"22969:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23022:1:1","nodeType":"YulIdentifier","src":"23022:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"23029:6:1","nodeType":"YulIdentifier","src":"23029:6:1"},{"name":"pWxi","nativeSrc":"23037:4:1","nodeType":"YulIdentifier","src":"23037:4:1"}],"functionName":{"name":"add","nativeSrc":"23025:3:1","nodeType":"YulIdentifier","src":"23025:3:1"},"nativeSrc":"23025:17:1","nodeType":"YulFunctionCall","src":"23025:17:1"},{"name":"s","nativeSrc":"23044:1:1","nodeType":"YulIdentifier","src":"23044:1:1"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23012:9:1","nodeType":"YulIdentifier","src":"23012:9:1"},"nativeSrc":"23012:34:1","nodeType":"YulFunctionCall","src":"23012:34:1"},"nativeSrc":"23012:34:1","nodeType":"YulExpressionStatement","src":"23012:34:1"},{"nativeSrc":"23064:59:1","nodeType":"YulAssignment","src":"23064:59:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23086:4:1","nodeType":"YulIdentifier","src":"23086:4:1"},{"name":"pU","nativeSrc":"23092:2:1","nodeType":"YulIdentifier","src":"23092:2:1"}],"functionName":{"name":"add","nativeSrc":"23082:3:1","nodeType":"YulIdentifier","src":"23082:3:1"},"nativeSrc":"23082:13:1","nodeType":"YulFunctionCall","src":"23082:13:1"}],"functionName":{"name":"mload","nativeSrc":"23076:5:1","nodeType":"YulIdentifier","src":"23076:5:1"},"nativeSrc":"23076:20:1","nodeType":"YulFunctionCall","src":"23076:20:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23108:4:1","nodeType":"YulIdentifier","src":"23108:4:1"},{"name":"pXi","nativeSrc":"23114:3:1","nodeType":"YulIdentifier","src":"23114:3:1"}],"functionName":{"name":"add","nativeSrc":"23104:3:1","nodeType":"YulIdentifier","src":"23104:3:1"},"nativeSrc":"23104:14:1","nodeType":"YulFunctionCall","src":"23104:14:1"}],"functionName":{"name":"mload","nativeSrc":"23098:5:1","nodeType":"YulIdentifier","src":"23098:5:1"},"nativeSrc":"23098:21:1","nodeType":"YulFunctionCall","src":"23098:21:1"},{"name":"q","nativeSrc":"23121:1:1","nodeType":"YulIdentifier","src":"23121:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"23069:6:1","nodeType":"YulIdentifier","src":"23069:6:1"},"nativeSrc":"23069:54:1","nodeType":"YulFunctionCall","src":"23069:54:1"},"variableNames":[{"name":"s","nativeSrc":"23064:1:1","nodeType":"YulIdentifier","src":"23064:1:1"}]},{"nativeSrc":"23140:21:1","nodeType":"YulAssignment","src":"23140:21:1","value":{"arguments":[{"name":"s","nativeSrc":"23152:1:1","nodeType":"YulIdentifier","src":"23152:1:1"},{"name":"w1","nativeSrc":"23155:2:1","nodeType":"YulIdentifier","src":"23155:2:1"},{"name":"q","nativeSrc":"23159:1:1","nodeType":"YulIdentifier","src":"23159:1:1"}],"functionName":{"name":"mulmod","nativeSrc":"23145:6:1","nodeType":"YulIdentifier","src":"23145:6:1"},"nativeSrc":"23145:16:1","nodeType":"YulFunctionCall","src":"23145:16:1"},"variableNames":[{"name":"s","nativeSrc":"23140:1:1","nodeType":"YulIdentifier","src":"23140:1:1"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23188:1:1","nodeType":"YulIdentifier","src":"23188:1:1"},{"arguments":[{"name":"pProof","nativeSrc":"23195:6:1","nodeType":"YulIdentifier","src":"23195:6:1"},{"name":"pWxiw","nativeSrc":"23203:5:1","nodeType":"YulIdentifier","src":"23203:5:1"}],"functionName":{"name":"add","nativeSrc":"23191:3:1","nodeType":"YulIdentifier","src":"23191:3:1"},"nativeSrc":"23191:18:1","nodeType":"YulFunctionCall","src":"23191:18:1"},{"name":"s","nativeSrc":"23211:1:1","nodeType":"YulIdentifier","src":"23211:1:1"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23178:9:1","nodeType":"YulIdentifier","src":"23178:9:1"},"nativeSrc":"23178:35:1","nodeType":"YulFunctionCall","src":"23178:35:1"},"nativeSrc":"23178:35:1","nodeType":"YulExpressionStatement","src":"23178:35:1"}]},"name":"calculateB1","nativeSrc":"18750:4478:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18771:6:1","nodeType":"YulTypedName","src":"18771:6:1","type":""},{"name":"pMem","nativeSrc":"18779:4:1","nodeType":"YulTypedName","src":"18779:4:1","type":""}],"src":"18750:4478:1"},{"body":{"nativeSrc":"23290:879:1","nodeType":"YulBlock","src":"23290:879:1","statements":[{"nativeSrc":"23308:22:1","nodeType":"YulVariableDeclaration","src":"23308:22:1","value":{"arguments":[{"kind":"number","nativeSrc":"23325:4:1","nodeType":"YulLiteral","src":"23325:4:1","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"23319:5:1","nodeType":"YulIdentifier","src":"23319:5:1"},"nativeSrc":"23319:11:1","nodeType":"YulFunctionCall","src":"23319:11:1"},"variables":[{"name":"mIn","nativeSrc":"23312:3:1","nodeType":"YulTypedName","src":"23312:3:1","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"23354:3:1","nodeType":"YulIdentifier","src":"23354:3:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23369:4:1","nodeType":"YulIdentifier","src":"23369:4:1"},{"name":"pA1","nativeSrc":"23375:3:1","nodeType":"YulIdentifier","src":"23375:3:1"}],"functionName":{"name":"add","nativeSrc":"23365:3:1","nodeType":"YulIdentifier","src":"23365:3:1"},"nativeSrc":"23365:14:1","nodeType":"YulFunctionCall","src":"23365:14:1"}],"functionName":{"name":"mload","nativeSrc":"23359:5:1","nodeType":"YulIdentifier","src":"23359:5:1"},"nativeSrc":"23359:21:1","nodeType":"YulFunctionCall","src":"23359:21:1"}],"functionName":{"name":"mstore","nativeSrc":"23347:6:1","nodeType":"YulIdentifier","src":"23347:6:1"},"nativeSrc":"23347:34:1","nodeType":"YulFunctionCall","src":"23347:34:1"},"nativeSrc":"23347:34:1","nodeType":"YulExpressionStatement","src":"23347:34:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23409:3:1","nodeType":"YulIdentifier","src":"23409:3:1"},{"kind":"number","nativeSrc":"23413:2:1","nodeType":"YulLiteral","src":"23413:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23405:3:1","nodeType":"YulIdentifier","src":"23405:3:1"},"nativeSrc":"23405:11:1","nodeType":"YulFunctionCall","src":"23405:11:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23432:4:1","nodeType":"YulIdentifier","src":"23432:4:1"},{"name":"pA1","nativeSrc":"23438:3:1","nodeType":"YulIdentifier","src":"23438:3:1"}],"functionName":{"name":"add","nativeSrc":"23428:3:1","nodeType":"YulIdentifier","src":"23428:3:1"},"nativeSrc":"23428:14:1","nodeType":"YulFunctionCall","src":"23428:14:1"},{"kind":"number","nativeSrc":"23444:2:1","nodeType":"YulLiteral","src":"23444:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23424:3:1","nodeType":"YulIdentifier","src":"23424:3:1"},"nativeSrc":"23424:23:1","nodeType":"YulFunctionCall","src":"23424:23:1"}],"functionName":{"name":"mload","nativeSrc":"23418:5:1","nodeType":"YulIdentifier","src":"23418:5:1"},"nativeSrc":"23418:30:1","nodeType":"YulFunctionCall","src":"23418:30:1"}],"functionName":{"name":"mstore","nativeSrc":"23398:6:1","nodeType":"YulIdentifier","src":"23398:6:1"},"nativeSrc":"23398:51:1","nodeType":"YulFunctionCall","src":"23398:51:1"},"nativeSrc":"23398:51:1","nodeType":"YulExpressionStatement","src":"23398:51:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23477:3:1","nodeType":"YulIdentifier","src":"23477:3:1"},{"kind":"number","nativeSrc":"23481:2:1","nodeType":"YulLiteral","src":"23481:2:1","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"23473:3:1","nodeType":"YulIdentifier","src":"23473:3:1"},"nativeSrc":"23473:11:1","nodeType":"YulFunctionCall","src":"23473:11:1"},{"name":"X2x2","nativeSrc":"23486:4:1","nodeType":"YulIdentifier","src":"23486:4:1"}],"functionName":{"name":"mstore","nativeSrc":"23466:6:1","nodeType":"YulIdentifier","src":"23466:6:1"},"nativeSrc":"23466:25:1","nodeType":"YulFunctionCall","src":"23466:25:1"},"nativeSrc":"23466:25:1","nodeType":"YulExpressionStatement","src":"23466:25:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23519:3:1","nodeType":"YulIdentifier","src":"23519:3:1"},{"kind":"number","nativeSrc":"23523:2:1","nodeType":"YulLiteral","src":"23523:2:1","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"23515:3:1","nodeType":"YulIdentifier","src":"23515:3:1"},"nativeSrc":"23515:11:1","nodeType":"YulFunctionCall","src":"23515:11:1"},{"name":"X2x1","nativeSrc":"23528:4:1","nodeType":"YulIdentifier","src":"23528:4:1"}],"functionName":{"name":"mstore","nativeSrc":"23508:6:1","nodeType":"YulIdentifier","src":"23508:6:1"},"nativeSrc":"23508:25:1","nodeType":"YulFunctionCall","src":"23508:25:1"},"nativeSrc":"23508:25:1","nodeType":"YulExpressionStatement","src":"23508:25:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23561:3:1","nodeType":"YulIdentifier","src":"23561:3:1"},{"kind":"number","nativeSrc":"23565:3:1","nodeType":"YulLiteral","src":"23565:3:1","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"23557:3:1","nodeType":"YulIdentifier","src":"23557:3:1"},"nativeSrc":"23557:12:1","nodeType":"YulFunctionCall","src":"23557:12:1"},{"name":"X2y2","nativeSrc":"23571:4:1","nodeType":"YulIdentifier","src":"23571:4:1"}],"functionName":{"name":"mstore","nativeSrc":"23550:6:1","nodeType":"YulIdentifier","src":"23550:6:1"},"nativeSrc":"23550:26:1","nodeType":"YulFunctionCall","src":"23550:26:1"},"nativeSrc":"23550:26:1","nodeType":"YulExpressionStatement","src":"23550:26:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23604:3:1","nodeType":"YulIdentifier","src":"23604:3:1"},{"kind":"number","nativeSrc":"23608:3:1","nodeType":"YulLiteral","src":"23608:3:1","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"23600:3:1","nodeType":"YulIdentifier","src":"23600:3:1"},"nativeSrc":"23600:12:1","nodeType":"YulFunctionCall","src":"23600:12:1"},{"name":"X2y1","nativeSrc":"23614:4:1","nodeType":"YulIdentifier","src":"23614:4:1"}],"functionName":{"name":"mstore","nativeSrc":"23593:6:1","nodeType":"YulIdentifier","src":"23593:6:1"},"nativeSrc":"23593:26:1","nodeType":"YulFunctionCall","src":"23593:26:1"},"nativeSrc":"23593:26:1","nodeType":"YulExpressionStatement","src":"23593:26:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23647:3:1","nodeType":"YulIdentifier","src":"23647:3:1"},{"kind":"number","nativeSrc":"23651:3:1","nodeType":"YulLiteral","src":"23651:3:1","type":"","value":"192"}],"functionName":{"name":"add","nativeSrc":"23643:3:1","nodeType":"YulIdentifier","src":"23643:3:1"},"nativeSrc":"23643:12:1","nodeType":"YulFunctionCall","src":"23643:12:1"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23667:4:1","nodeType":"YulIdentifier","src":"23667:4:1"},{"name":"pB1","nativeSrc":"23673:3:1","nodeType":"YulIdentifier","src":"23673:3:1"}],"functionName":{"name":"add","nativeSrc":"23663:3:1","nodeType":"YulIdentifier","src":"23663:3:1"},"nativeSrc":"23663:14:1","nodeType":"YulFunctionCall","src":"23663:14:1"}],"functionName":{"name":"mload","nativeSrc":"23657:5:1","nodeType":"YulIdentifier","src":"23657:5:1"},"nativeSrc":"23657:21:1","nodeType":"YulFunctionCall","src":"23657:21:1"}],"functionName":{"name":"mstore","nativeSrc":"23636:6:1","nodeType":"YulIdentifier","src":"23636:6:1"},"nativeSrc":"23636:43:1","nodeType":"YulFunctionCall","src":"23636:43:1"},"nativeSrc":"23636:43:1","nodeType":"YulExpressionStatement","src":"23636:43:1"},{"nativeSrc":"23696:39:1","nodeType":"YulVariableDeclaration","src":"23696:39:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23719:4:1","nodeType":"YulIdentifier","src":"23719:4:1"},{"name":"pB1","nativeSrc":"23725:3:1","nodeType":"YulIdentifier","src":"23725:3:1"}],"functionName":{"name":"add","nativeSrc":"23715:3:1","nodeType":"YulIdentifier","src":"23715:3:1"},"nativeSrc":"23715:14:1","nodeType":"YulFunctionCall","src":"23715:14:1"},{"kind":"number","nativeSrc":"23731:2:1","nodeType":"YulLiteral","src":"23731:2:1","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23711:3:1","nodeType":"YulIdentifier","src":"23711:3:1"},"nativeSrc":"23711:23:1","nodeType":"YulFunctionCall","src":"23711:23:1"}],"functionName":{"name":"mload","nativeSrc":"23705:5:1","nodeType":"YulIdentifier","src":"23705:5:1"},"nativeSrc":"23705:30:1","nodeType":"YulFunctionCall","src":"23705:30:1"},"variables":[{"name":"s","nativeSrc":"23700:1:1","nodeType":"YulTypedName","src":"23700:1:1","type":""}]},{"nativeSrc":"23752:24:1","nodeType":"YulAssignment","src":"23752:24:1","value":{"arguments":[{"arguments":[{"name":"qf","nativeSrc":"23765:2:1","nodeType":"YulIdentifier","src":"23765:2:1"},{"name":"s","nativeSrc":"23769:1:1","nodeType":"YulIdentifier","src":"23769:1:1"}],"functionName":{"name":"sub","nativeSrc":"23761:3:1","nodeType":"YulIdentifier","src":"23761:3:1"},"nativeSrc":"23761:10:1","nodeType":"YulFunctionCall","src":"23761:10:1"},{"name":"qf","nativeSrc":"23773:2:1","nodeType":"YulIdentifier","src":"23773:2:1"}],"functionName":{"name":"mod","nativeSrc":"23757:3:1","nodeType":"YulIdentifier","src":"23757:3:1"},"nativeSrc":"23757:19:1","nodeType":"YulFunctionCall","src":"23757:19:1"},"variableNames":[{"name":"s","nativeSrc":"23752:1:1","nodeType":"YulIdentifier","src":"23752:1:1"}]},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23804:3:1","nodeType":"YulIdentifier","src":"23804:3:1"},{"kind":"number","nativeSrc":"23808:3:1","nodeType":"YulLiteral","src":"23808:3:1","type":"","value":"224"}],"functionName":{"name":"add","nativeSrc":"23800:3:1","nodeType":"YulIdentifier","src":"23800:3:1"},"nativeSrc":"23800:12:1","nodeType":"YulFunctionCall","src":"23800:12:1"},{"name":"s","nativeSrc":"23814:1:1","nodeType":"YulIdentifier","src":"23814:1:1"}],"functionName":{"name":"mstore","nativeSrc":"23793:6:1","nodeType":"YulIdentifier","src":"23793:6:1"},"nativeSrc":"23793:23:1","nodeType":"YulFunctionCall","src":"23793:23:1"},"nativeSrc":"23793:23:1","nodeType":"YulExpressionStatement","src":"23793:23:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23844:3:1","nodeType":"YulIdentifier","src":"23844:3:1"},{"kind":"number","nativeSrc":"23848:3:1","nodeType":"YulLiteral","src":"23848:3:1","type":"","value":"256"}],"functionName":{"name":"add","nativeSrc":"23840:3:1","nodeType":"YulIdentifier","src":"23840:3:1"},"nativeSrc":"23840:12:1","nodeType":"YulFunctionCall","src":"23840:12:1"},{"name":"G2x2","nativeSrc":"23854:4:1","nodeType":"YulIdentifier","src":"23854:4:1"}],"functionName":{"name":"mstore","nativeSrc":"23833:6:1","nodeType":"YulIdentifier","src":"23833:6:1"},"nativeSrc":"23833:26:1","nodeType":"YulFunctionCall","src":"23833:26:1"},"nativeSrc":"23833:26:1","nodeType":"YulExpressionStatement","src":"23833:26:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23887:3:1","nodeType":"YulIdentifier","src":"23887:3:1"},{"kind":"number","nativeSrc":"23891:3:1","nodeType":"YulLiteral","src":"23891:3:1","type":"","value":"288"}],"functionName":{"name":"add","nativeSrc":"23883:3:1","nodeType":"YulIdentifier","src":"23883:3:1"},"nativeSrc":"23883:12:1","nodeType":"YulFunctionCall","src":"23883:12:1"},{"name":"G2x1","nativeSrc":"23897:4:1","nodeType":"YulIdentifier","src":"23897:4:1"}],"functionName":{"name":"mstore","nativeSrc":"23876:6:1","nodeType":"YulIdentifier","src":"23876:6:1"},"nativeSrc":"23876:26:1","nodeType":"YulFunctionCall","src":"23876:26:1"},"nativeSrc":"23876:26:1","nodeType":"YulExpressionStatement","src":"23876:26:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23930:3:1","nodeType":"YulIdentifier","src":"23930:3:1"},{"kind":"number","nativeSrc":"23934:3:1","nodeType":"YulLiteral","src":"23934:3:1","type":"","value":"320"}],"functionName":{"name":"add","nativeSrc":"23926:3:1","nodeType":"YulIdentifier","src":"23926:3:1"},"nativeSrc":"23926:12:1","nodeType":"YulFunctionCall","src":"23926:12:1"},{"name":"G2y2","nativeSrc":"23940:4:1","nodeType":"YulIdentifier","src":"23940:4:1"}],"functionName":{"name":"mstore","nativeSrc":"23919:6:1","nodeType":"YulIdentifier","src":"23919:6:1"},"nativeSrc":"23919:26:1","nodeType":"YulFunctionCall","src":"23919:26:1"},"nativeSrc":"23919:26:1","nodeType":"YulExpressionStatement","src":"23919:26:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23973:3:1","nodeType":"YulIdentifier","src":"23973:3:1"},{"kind":"number","nativeSrc":"23977:3:1","nodeType":"YulLiteral","src":"23977:3:1","type":"","value":"352"}],"functionName":{"name":"add","nativeSrc":"23969:3:1","nodeType":"YulIdentifier","src":"23969:3:1"},"nativeSrc":"23969:12:1","nodeType":"YulFunctionCall","src":"23969:12:1"},{"name":"G2y1","nativeSrc":"23983:4:1","nodeType":"YulIdentifier","src":"23983:4:1"}],"functionName":{"name":"mstore","nativeSrc":"23962:6:1","nodeType":"YulIdentifier","src":"23962:6:1"},"nativeSrc":"23962:26:1","nodeType":"YulFunctionCall","src":"23962:26:1"},"nativeSrc":"23962:26:1","nodeType":"YulExpressionStatement","src":"23962:26:1"},{"nativeSrc":"24022:67:1","nodeType":"YulVariableDeclaration","src":"24022:67:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"24052:3:1","nodeType":"YulIdentifier","src":"24052:3:1"},"nativeSrc":"24052:5:1","nodeType":"YulFunctionCall","src":"24052:5:1"},{"kind":"number","nativeSrc":"24059:4:1","nodeType":"YulLiteral","src":"24059:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"24048:3:1","nodeType":"YulIdentifier","src":"24048:3:1"},"nativeSrc":"24048:16:1","nodeType":"YulFunctionCall","src":"24048:16:1"},{"kind":"number","nativeSrc":"24066:1:1","nodeType":"YulLiteral","src":"24066:1:1","type":"","value":"8"},{"name":"mIn","nativeSrc":"24069:3:1","nodeType":"YulIdentifier","src":"24069:3:1"},{"kind":"number","nativeSrc":"24074:3:1","nodeType":"YulLiteral","src":"24074:3:1","type":"","value":"384"},{"name":"mIn","nativeSrc":"24079:3:1","nodeType":"YulIdentifier","src":"24079:3:1"},{"kind":"number","nativeSrc":"24084:4:1","nodeType":"YulLiteral","src":"24084:4:1","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nativeSrc":"24037:10:1","nodeType":"YulIdentifier","src":"24037:10:1"},"nativeSrc":"24037:52:1","nodeType":"YulFunctionCall","src":"24037:52:1"},"variables":[{"name":"success","nativeSrc":"24026:7:1","nodeType":"YulTypedName","src":"24026:7:1","type":""}]},{"nativeSrc":"24123:32:1","nodeType":"YulAssignment","src":"24123:32:1","value":{"arguments":[{"name":"success","nativeSrc":"24135:7:1","nodeType":"YulIdentifier","src":"24135:7:1"},{"arguments":[{"name":"mIn","nativeSrc":"24150:3:1","nodeType":"YulIdentifier","src":"24150:3:1"}],"functionName":{"name":"mload","nativeSrc":"24144:5:1","nodeType":"YulIdentifier","src":"24144:5:1"},"nativeSrc":"24144:10:1","nodeType":"YulFunctionCall","src":"24144:10:1"}],"functionName":{"name":"and","nativeSrc":"24131:3:1","nodeType":"YulIdentifier","src":"24131:3:1"},"nativeSrc":"24131:24:1","nodeType":"YulFunctionCall","src":"24131:24:1"},"variableNames":[{"name":"isOk","nativeSrc":"24123:4:1","nodeType":"YulIdentifier","src":"24123:4:1"}]}]},"name":"checkPairing","nativeSrc":"23254:915:1","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"23276:4:1","nodeType":"YulTypedName","src":"23276:4:1","type":""}],"returnVariables":[{"name":"isOk","nativeSrc":"23285:4:1","nodeType":"YulTypedName","src":"23285:4:1","type":""}],"src":"23254:915:1"},{"nativeSrc":"24195:23:1","nodeType":"YulVariableDeclaration","src":"24195:23:1","value":{"arguments":[{"kind":"number","nativeSrc":"24213:4:1","nodeType":"YulLiteral","src":"24213:4:1","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"24207:5:1","nodeType":"YulIdentifier","src":"24207:5:1"},"nativeSrc":"24207:11:1","nodeType":"YulFunctionCall","src":"24207:11:1"},"variables":[{"name":"pMem","nativeSrc":"24199:4:1","nodeType":"YulTypedName","src":"24199:4:1","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24238:4:1","nodeType":"YulLiteral","src":"24238:4:1","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24248:4:1","nodeType":"YulIdentifier","src":"24248:4:1"},{"name":"lastMem","nativeSrc":"24254:7:1","nodeType":"YulIdentifier","src":"24254:7:1"}],"functionName":{"name":"add","nativeSrc":"24244:3:1","nodeType":"YulIdentifier","src":"24244:3:1"},"nativeSrc":"24244:18:1","nodeType":"YulFunctionCall","src":"24244:18:1"}],"functionName":{"name":"mstore","nativeSrc":"24231:6:1","nodeType":"YulIdentifier","src":"24231:6:1"},"nativeSrc":"24231:32:1","nodeType":"YulFunctionCall","src":"24231:32:1"},"nativeSrc":"24231:32:1","nodeType":"YulExpressionStatement","src":"24231:32:1"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24300:5:1","nodeType":"YulIdentifier","src":"24300:5:1"}],"functionName":{"name":"checkInput","nativeSrc":"24289:10:1","nodeType":"YulIdentifier","src":"24289:10:1"},"nativeSrc":"24289:17:1","nodeType":"YulFunctionCall","src":"24289:17:1"},"nativeSrc":"24289:17:1","nodeType":"YulExpressionStatement","src":"24289:17:1"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24339:5:1","nodeType":"YulIdentifier","src":"24339:5:1"},{"name":"pMem","nativeSrc":"24346:4:1","nodeType":"YulIdentifier","src":"24346:4:1"},{"name":"pubSignals","nativeSrc":"24352:10:1","nodeType":"YulIdentifier","src":"24352:10:1"}],"functionName":{"name":"calculateChallanges","nativeSrc":"24319:19:1","nodeType":"YulIdentifier","src":"24319:19:1"},"nativeSrc":"24319:44:1","nodeType":"YulFunctionCall","src":"24319:44:1"},"nativeSrc":"24319:44:1","nodeType":"YulExpressionStatement","src":"24319:44:1"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24394:4:1","nodeType":"YulIdentifier","src":"24394:4:1"}],"functionName":{"name":"calculateLagrange","nativeSrc":"24376:17:1","nodeType":"YulIdentifier","src":"24376:17:1"},"nativeSrc":"24376:23:1","nodeType":"YulFunctionCall","src":"24376:23:1"},"nativeSrc":"24376:23:1","nodeType":"YulExpressionStatement","src":"24376:23:1"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24424:4:1","nodeType":"YulIdentifier","src":"24424:4:1"},{"name":"pubSignals","nativeSrc":"24430:10:1","nodeType":"YulIdentifier","src":"24430:10:1"}],"functionName":{"name":"calculatePl","nativeSrc":"24412:11:1","nodeType":"YulIdentifier","src":"24412:11:1"},"nativeSrc":"24412:29:1","nodeType":"YulFunctionCall","src":"24412:29:1"},"nativeSrc":"24412:29:1","nodeType":"YulExpressionStatement","src":"24412:29:1"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24465:5:1","nodeType":"YulIdentifier","src":"24465:5:1"},{"name":"pMem","nativeSrc":"24472:4:1","nodeType":"YulIdentifier","src":"24472:4:1"}],"functionName":{"name":"calculateT","nativeSrc":"24454:10:1","nodeType":"YulIdentifier","src":"24454:10:1"},"nativeSrc":"24454:23:1","nodeType":"YulFunctionCall","src":"24454:23:1"},"nativeSrc":"24454:23:1","nodeType":"YulExpressionStatement","src":"24454:23:1"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24502:5:1","nodeType":"YulIdentifier","src":"24502:5:1"},{"name":"pMem","nativeSrc":"24509:4:1","nodeType":"YulIdentifier","src":"24509:4:1"}],"functionName":{"name":"calculateA1","nativeSrc":"24490:11:1","nodeType":"YulIdentifier","src":"24490:11:1"},"nativeSrc":"24490:24:1","nodeType":"YulFunctionCall","src":"24490:24:1"},"nativeSrc":"24490:24:1","nodeType":"YulExpressionStatement","src":"24490:24:1"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24539:5:1","nodeType":"YulIdentifier","src":"24539:5:1"},{"name":"pMem","nativeSrc":"24546:4:1","nodeType":"YulIdentifier","src":"24546:4:1"}],"functionName":{"name":"calculateB1","nativeSrc":"24527:11:1","nodeType":"YulIdentifier","src":"24527:11:1"},"nativeSrc":"24527:24:1","nodeType":"YulFunctionCall","src":"24527:24:1"},"nativeSrc":"24527:24:1","nodeType":"YulExpressionStatement","src":"24527:24:1"},{"nativeSrc":"24564:33:1","nodeType":"YulVariableDeclaration","src":"24564:33:1","value":{"arguments":[{"name":"pMem","nativeSrc":"24592:4:1","nodeType":"YulIdentifier","src":"24592:4:1"}],"functionName":{"name":"checkPairing","nativeSrc":"24579:12:1","nodeType":"YulIdentifier","src":"24579:12:1"},"nativeSrc":"24579:18:1","nodeType":"YulFunctionCall","src":"24579:18:1"},"variables":[{"name":"isValid","nativeSrc":"24568:7:1","nodeType":"YulTypedName","src":"24568:7:1","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24630:4:1","nodeType":"YulLiteral","src":"24630:4:1","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24640:4:1","nodeType":"YulIdentifier","src":"24640:4:1"},{"name":"lastMem","nativeSrc":"24646:7:1","nodeType":"YulIdentifier","src":"24646:7:1"}],"functionName":{"name":"sub","nativeSrc":"24636:3:1","nodeType":"YulIdentifier","src":"24636:3:1"},"nativeSrc":"24636:18:1","nodeType":"YulFunctionCall","src":"24636:18:1"}],"functionName":{"name":"mstore","nativeSrc":"24623:6:1","nodeType":"YulIdentifier","src":"24623:6:1"},"nativeSrc":"24623:32:1","nodeType":"YulFunctionCall","src":"24623:32:1"},"nativeSrc":"24623:32:1","nodeType":"YulExpressionStatement","src":"24623:32:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24675:1:1","nodeType":"YulLiteral","src":"24675:1:1","type":"","value":"0"},{"name":"isValid","nativeSrc":"24678:7:1","nodeType":"YulIdentifier","src":"24678:7:1"}],"functionName":{"name":"mstore","nativeSrc":"24668:6:1","nodeType":"YulIdentifier","src":"24668:6:1"},"nativeSrc":"24668:18:1","nodeType":"YulFunctionCall","src":"24668:18:1"},"nativeSrc":"24668:18:1","nodeType":"YulExpressionStatement","src":"24668:18:1"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24706:1:1","nodeType":"YulLiteral","src":"24706:1:1","type":"","value":"0"},{"kind":"number","nativeSrc":"24708:4:1","nodeType":"YulLiteral","src":"24708:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"24699:6:1","nodeType":"YulIdentifier","src":"24699:6:1"},"nativeSrc":"24699:14:1","nodeType":"YulFunctionCall","src":"24699:14:1"},"nativeSrc":"24699:14:1","nodeType":"YulExpressionStatement","src":"24699:14:1"}]},"evmVersion":"paris","externalReferences":[{"declaration":316,"isOffset":false,"isSlot":false,"src":"22872:3:1","valueSize":1},{"declaration":319,"isOffset":false,"isSlot":false,"src":"22877:3:1","valueSize":1},{"declaration":322,"isOffset":false,"isSlot":false,"src":"23897:4:1","valueSize":1},{"declaration":325,"isOffset":false,"isSlot":false,"src":"23854:4:1","valueSize":1},{"declaration":328,"isOffset":false,"isSlot":false,"src":"23983:4:1","valueSize":1},{"declaration":331,"isOffset":false,"isSlot":false,"src":"23940:4:1","valueSize":1},{"declaration":265,"isOffset":false,"isSlot":false,"src":"19516:3:1","valueSize":1},{"declaration":268,"isOffset":false,"isSlot":false,"src":"19521:3:1","valueSize":1},{"declaration":247,"isOffset":false,"isSlot":false,"src":"19034:3:1","valueSize":1},{"declaration":250,"isOffset":false,"isSlot":false,"src":"19039:3:1","valueSize":1},{"declaration":241,"isOffset":false,"isSlot":false,"src":"19158:3:1","valueSize":1},{"declaration":244,"isOffset":false,"isSlot":false,"src":"19163:3:1","valueSize":1},{"declaration":259,"isOffset":false,"isSlot":false,"src":"19430:3:1","valueSize":1},{"declaration":262,"isOffset":false,"isSlot":false,"src":"19435:3:1","valueSize":1},{"declaration":253,"isOffset":false,"isSlot":false,"src":"19286:3:1","valueSize":1},{"declaration":256,"isOffset":false,"isSlot":false,"src":"19291:3:1","valueSize":1},{"declaration":271,"isOffset":false,"isSlot":false,"src":"21931:3:1","valueSize":1},{"declaration":274,"isOffset":false,"isSlot":false,"src":"21936:3:1","valueSize":1},{"declaration":277,"isOffset":false,"isSlot":false,"src":"21994:3:1","valueSize":1},{"declaration":280,"isOffset":false,"isSlot":false,"src":"21999:3:1","valueSize":1},{"declaration":283,"isOffset":false,"isSlot":false,"src":"21387:3:1","valueSize":1},{"declaration":286,"isOffset":false,"isSlot":false,"src":"21392:3:1","valueSize":1},{"declaration":295,"isOffset":false,"isSlot":false,"src":"23528:4:1","valueSize":1},{"declaration":298,"isOffset":false,"isSlot":false,"src":"23486:4:1","valueSize":1},{"declaration":301,"isOffset":false,"isSlot":false,"src":"23614:4:1","valueSize":1},{"declaration":304,"isOffset":false,"isSlot":false,"src":"23571:4:1","valueSize":1},{"declaration":289,"isOffset":false,"isSlot":false,"src":"19706:2:1","valueSize":1},{"declaration":292,"isOffset":false,"isSlot":false,"src":"19934:2:1","valueSize":1},{"declaration":442,"isOffset":false,"isSlot":false,"src":"24254:7:1","valueSize":1},{"declaration":442,"isOffset":false,"isSlot":false,"src":"24646:7:1","valueSize":1},{"declaration":442,"isOffset":false,"isSlot":false,"src":"9544:7:1","valueSize":1},{"declaration":232,"isOffset":false,"isSlot":false,"src":"11892:1:1","valueSize":1},{"declaration":334,"isOffset":false,"isSlot":false,"src":"21735:2:1","valueSize":1},{"declaration":334,"isOffset":false,"isSlot":false,"src":"9099:2:1","valueSize":1},{"declaration":334,"isOffset":false,"isSlot":false,"src":"9170:2:1","valueSize":1},{"declaration":334,"isOffset":false,"isSlot":false,"src":"9245:2:1","valueSize":1},{"declaration":334,"isOffset":false,"isSlot":false,"src":"9320:2:1","valueSize":1},{"declaration":334,"isOffset":false,"isSlot":false,"src":"9395:2:1","valueSize":1},{"declaration":334,"isOffset":false,"isSlot":false,"src":"9471:2:1","valueSize":1},{"declaration":427,"isOffset":false,"isSlot":false,"src":"18577:3:1","valueSize":1},{"declaration":427,"isOffset":false,"isSlot":false,"src":"23375:3:1","valueSize":1},{"declaration":427,"isOffset":false,"isSlot":false,"src":"23438:3:1","valueSize":1},{"declaration":382,"isOffset":false,"isSlot":false,"src":"15154:6:1","valueSize":1},{"declaration":382,"isOffset":false,"isSlot":false,"src":"15299:6:1","valueSize":1},{"declaration":382,"isOffset":false,"isSlot":false,"src":"15442:6:1","valueSize":1},{"declaration":382,"isOffset":false,"isSlot":false,"src":"20180:6:1","valueSize":1},{"declaration":382,"isOffset":false,"isSlot":false,"src":"20323:6:1","valueSize":1},{"declaration":382,"isOffset":false,"isSlot":false,"src":"20385:6:1","valueSize":1},{"declaration":382,"isOffset":false,"isSlot":false,"src":"21125:6:1","valueSize":1},{"declaration":382,"isOffset":false,"isSlot":false,"src":"9727:6:1","valueSize":1},{"declaration":337,"isOffset":false,"isSlot":false,"src":"21804:2:1","valueSize":1},{"declaration":430,"isOffset":false,"isSlot":false,"src":"18867:3:1","valueSize":1},{"declaration":430,"isOffset":false,"isSlot":false,"src":"23673:3:1","valueSize":1},{"declaration":430,"isOffset":false,"isSlot":false,"src":"23725:3:1","valueSize":1},{"declaration":385,"isOffset":false,"isSlot":false,"src":"13942:5:1","valueSize":1},{"declaration":385,"isOffset":false,"isSlot":false,"src":"14409:5:1","valueSize":1},{"declaration":385,"isOffset":false,"isSlot":false,"src":"20661:5:1","valueSize":1},{"declaration":385,"isOffset":false,"isSlot":false,"src":"20871:5:1","valueSize":1},{"declaration":385,"isOffset":false,"isSlot":false,"src":"21242:5:1","valueSize":1},{"declaration":385,"isOffset":false,"isSlot":false,"src":"9598:5:1","valueSize":1},{"declaration":385,"isOffset":false,"isSlot":false,"src":"9676:5:1","valueSize":1},{"declaration":397,"isOffset":false,"isSlot":false,"src":"19603:7:1","valueSize":1},{"declaration":397,"isOffset":false,"isSlot":false,"src":"19726:7:1","valueSize":1},{"declaration":397,"isOffset":false,"isSlot":false,"src":"19954:7:1","valueSize":1},{"declaration":397,"isOffset":false,"isSlot":false,"src":"9932:7:1","valueSize":1},{"declaration":340,"isOffset":false,"isSlot":false,"src":"21873:2:1","valueSize":1},{"declaration":361,"isOffset":false,"isSlot":false,"src":"11071:7:1","valueSize":1},{"declaration":361,"isOffset":false,"isSlot":false,"src":"14084:7:1","valueSize":1},{"declaration":361,"isOffset":false,"isSlot":false,"src":"18967:7:1","valueSize":1},{"declaration":361,"isOffset":false,"isSlot":false,"src":"19576:7:1","valueSize":1},{"declaration":361,"isOffset":false,"isSlot":false,"src":"20752:7:1","valueSize":1},{"declaration":361,"isOffset":false,"isSlot":false,"src":"22275:7:1","valueSize":1},{"declaration":361,"isOffset":false,"isSlot":false,"src":"8344:7:1","valueSize":1},{"declaration":364,"isOffset":false,"isSlot":false,"src":"14551:7:1","valueSize":1},{"declaration":364,"isOffset":false,"isSlot":false,"src":"19098:7:1","valueSize":1},{"declaration":364,"isOffset":false,"isSlot":false,"src":"19219:7:1","valueSize":1},{"declaration":364,"isOffset":false,"isSlot":false,"src":"19791:7:1","valueSize":1},{"declaration":364,"isOffset":false,"isSlot":false,"src":"20964:7:1","valueSize":1},{"declaration":364,"isOffset":false,"isSlot":false,"src":"22372:7:1","valueSize":1},{"declaration":364,"isOffset":false,"isSlot":false,"src":"8400:7:1","valueSize":1},{"declaration":367,"isOffset":false,"isSlot":false,"src":"14901:7:1","valueSize":1},{"declaration":367,"isOffset":false,"isSlot":false,"src":"19363:7:1","valueSize":1},{"declaration":367,"isOffset":false,"isSlot":false,"src":"20019:7:1","valueSize":1},{"declaration":367,"isOffset":false,"isSlot":false,"src":"22469:7:1","valueSize":1},{"declaration":367,"isOffset":false,"isSlot":false,"src":"8456:7:1","valueSize":1},{"declaration":439,"isOffset":false,"isSlot":false,"src":"11828:8:1","valueSize":1},{"declaration":439,"isOffset":false,"isSlot":false,"src":"12597:8:1","valueSize":1},{"declaration":439,"isOffset":false,"isSlot":false,"src":"12678:8:1","valueSize":1},{"declaration":439,"isOffset":false,"isSlot":false,"src":"13174:8:1","valueSize":1},{"declaration":439,"isOffset":false,"isSlot":false,"src":"15250:8:1","valueSize":1},{"declaration":439,"isOffset":false,"isSlot":false,"src":"20295:8:1","valueSize":1},{"declaration":379,"isOffset":false,"isSlot":false,"src":"13713:7:1","valueSize":1},{"declaration":379,"isOffset":false,"isSlot":false,"src":"22178:7:1","valueSize":1},{"declaration":379,"isOffset":false,"isSlot":false,"src":"8683:7:1","valueSize":1},{"declaration":370,"isOffset":false,"isSlot":false,"src":"13894:8:1","valueSize":1},{"declaration":370,"isOffset":false,"isSlot":false,"src":"20688:8:1","valueSize":1},{"declaration":370,"isOffset":false,"isSlot":false,"src":"22566:8:1","valueSize":1},{"declaration":370,"isOffset":false,"isSlot":false,"src":"8512:8:1","valueSize":1},{"declaration":373,"isOffset":false,"isSlot":false,"src":"14361:8:1","valueSize":1},{"declaration":373,"isOffset":false,"isSlot":false,"src":"20898:8:1","valueSize":1},{"declaration":373,"isOffset":false,"isSlot":false,"src":"22664:8:1","valueSize":1},{"declaration":373,"isOffset":false,"isSlot":false,"src":"8569:8:1","valueSize":1},{"declaration":424,"isOffset":false,"isSlot":false,"src":"15710:7:1","valueSize":1},{"declaration":424,"isOffset":false,"isSlot":false,"src":"22112:7:1","valueSize":1},{"declaration":376,"isOffset":false,"isSlot":false,"src":"15090:8:1","valueSize":1},{"declaration":376,"isOffset":false,"isSlot":false,"src":"21303:8:1","valueSize":1},{"declaration":376,"isOffset":false,"isSlot":false,"src":"22762:8:1","valueSize":1},{"declaration":376,"isOffset":false,"isSlot":false,"src":"8626:8:1","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"14242:6:1","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"14709:6:1","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"14948:6:1","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"19664:6:1","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"19854:6:1","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"20082:6:1","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"20813:6:1","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"21027:6:1","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"9643:6:1","valueSize":1},{"declaration":421,"isOffset":false,"isSlot":false,"src":"13487:3:1","valueSize":1},{"declaration":421,"isOffset":false,"isSlot":false,"src":"13761:3:1","valueSize":1},{"declaration":346,"isOffset":false,"isSlot":false,"src":"21472:3:1","valueSize":1},{"declaration":346,"isOffset":false,"isSlot":false,"src":"9840:3:1","valueSize":1},{"declaration":349,"isOffset":false,"isSlot":false,"src":"21564:3:1","valueSize":1},{"declaration":352,"isOffset":false,"isSlot":false,"src":"21668:3:1","valueSize":1},{"declaration":418,"isOffset":false,"isSlot":false,"src":"11591:2:1","valueSize":1},{"declaration":418,"isOffset":false,"isSlot":false,"src":"18692:2:1","valueSize":1},{"declaration":418,"isOffset":false,"isSlot":false,"src":"20542:2:1","valueSize":1},{"declaration":418,"isOffset":false,"isSlot":false,"src":"22790:2:1","valueSize":1},{"declaration":418,"isOffset":false,"isSlot":false,"src":"23092:2:1","valueSize":1},{"declaration":400,"isOffset":false,"isSlot":false,"src":"11124:3:1","valueSize":1},{"declaration":400,"isOffset":false,"isSlot":false,"src":"18994:3:1","valueSize":1},{"declaration":400,"isOffset":false,"isSlot":false,"src":"19246:3:1","valueSize":1},{"declaration":400,"isOffset":false,"isSlot":false,"src":"19390:3:1","valueSize":1},{"declaration":400,"isOffset":false,"isSlot":false,"src":"19480:3:1","valueSize":1},{"declaration":400,"isOffset":false,"isSlot":false,"src":"20240:3:1","valueSize":1},{"declaration":400,"isOffset":false,"isSlot":false,"src":"20447:3:1","valueSize":1},{"declaration":400,"isOffset":false,"isSlot":false,"src":"21185:3:1","valueSize":1},{"declaration":400,"isOffset":false,"isSlot":false,"src":"22205:3:1","valueSize":1},{"declaration":403,"isOffset":false,"isSlot":false,"src":"11207:3:1","valueSize":1},{"declaration":403,"isOffset":false,"isSlot":false,"src":"21756:3:1","valueSize":1},{"declaration":403,"isOffset":false,"isSlot":false,"src":"22302:3:1","valueSize":1},{"declaration":406,"isOffset":false,"isSlot":false,"src":"11288:3:1","valueSize":1},{"declaration":406,"isOffset":false,"isSlot":false,"src":"21825:3:1","valueSize":1},{"declaration":406,"isOffset":false,"isSlot":false,"src":"22399:3:1","valueSize":1},{"declaration":409,"isOffset":false,"isSlot":false,"src":"11369:3:1","valueSize":1},{"declaration":409,"isOffset":false,"isSlot":false,"src":"21894:3:1","valueSize":1},{"declaration":409,"isOffset":false,"isSlot":false,"src":"22496:3:1","valueSize":1},{"declaration":412,"isOffset":false,"isSlot":false,"src":"11450:3:1","valueSize":1},{"declaration":412,"isOffset":false,"isSlot":false,"src":"21957:3:1","valueSize":1},{"declaration":412,"isOffset":false,"isSlot":false,"src":"22594:3:1","valueSize":1},{"declaration":415,"isOffset":false,"isSlot":false,"src":"11531:3:1","valueSize":1},{"declaration":415,"isOffset":false,"isSlot":false,"src":"22020:3:1","valueSize":1},{"declaration":415,"isOffset":false,"isSlot":false,"src":"22692:3:1","valueSize":1},{"declaration":355,"isOffset":false,"isSlot":false,"src":"11622:4:1","valueSize":1},{"declaration":355,"isOffset":false,"isSlot":false,"src":"18620:4:1","valueSize":1},{"declaration":355,"isOffset":false,"isSlot":false,"src":"23037:4:1","valueSize":1},{"declaration":358,"isOffset":false,"isSlot":false,"src":"18668:5:1","valueSize":1},{"declaration":358,"isOffset":false,"isSlot":false,"src":"23203:5:1","valueSize":1},{"declaration":391,"isOffset":false,"isSlot":false,"src":"12047:3:1","valueSize":1},{"declaration":391,"isOffset":false,"isSlot":false,"src":"22990:3:1","valueSize":1},{"declaration":391,"isOffset":false,"isSlot":false,"src":"23114:3:1","valueSize":1},{"declaration":391,"isOffset":false,"isSlot":false,"src":"9889:3:1","valueSize":1},{"declaration":394,"isOffset":false,"isSlot":false,"src":"10805:4:1","valueSize":1},{"declaration":394,"isOffset":false,"isSlot":false,"src":"21516:4:1","valueSize":1},{"declaration":343,"isOffset":false,"isSlot":false,"src":"20592:2:1","valueSize":1},{"declaration":343,"isOffset":false,"isSlot":false,"src":"9762:2:1","valueSize":1},{"declaration":433,"isOffset":false,"isSlot":false,"src":"10894:3:1","valueSize":1},{"declaration":433,"isOffset":false,"isSlot":false,"src":"12480:3:1","valueSize":1},{"declaration":436,"isOffset":false,"isSlot":false,"src":"10937:6:1","valueSize":1},{"declaration":436,"isOffset":false,"isSlot":false,"src":"12408:6:1","valueSize":1},{"declaration":436,"isOffset":false,"isSlot":false,"src":"15646:6:1","valueSize":1},{"declaration":444,"isOffset":false,"isSlot":false,"src":"24300:5:1","valueSize":1},{"declaration":444,"isOffset":false,"isSlot":false,"src":"24339:5:1","valueSize":1},{"declaration":444,"isOffset":false,"isSlot":false,"src":"24465:5:1","valueSize":1},{"declaration":444,"isOffset":false,"isSlot":false,"src":"24502:5:1","valueSize":1},{"declaration":444,"isOffset":false,"isSlot":false,"src":"24539:5:1","valueSize":1},{"declaration":447,"isOffset":false,"isSlot":false,"src":"24352:10:1","valueSize":1},{"declaration":447,"isOffset":false,"isSlot":false,"src":"24430:10:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10009:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10062:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10115:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10168:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10221:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10274:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10327:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10380:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10433:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10486:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10539:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10592:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10645:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10698:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10751:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10853:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"10857:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"11087:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"11170:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"11251:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"11332:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"11413:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"11494:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"11635:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"12161:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"12222:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"12276:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"12743:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"13272:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"13355:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"13400:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"13789:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"13971:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"14115:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"14272:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"14438:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"14582:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"14739:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"14813:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"14978:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"15036:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"15102:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"15164:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"15330:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"15473:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"15531:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"15587:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"15596:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"15656:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19001:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19109:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19253:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19397:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19614:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19674:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19737:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19802:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19864:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19902:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"19965:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20030:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20092:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20130:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20190:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20247:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20333:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20395:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20454:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20492:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20548:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20700:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20763:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20823:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20910:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"20975:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"21037:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"21075:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"21135:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"21192:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"21251:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"21315:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"21347:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"21354:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"21624:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22212:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22216:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22309:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22313:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22406:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22410:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22503:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22507:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22601:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22605:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22699:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22703:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22796:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22800:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22832:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"22839:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"23121:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"23159:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"7067:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"7124:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"7694:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"7748:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"7999:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"9560:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"9689:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"9772:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"9852:1:1","valueSize":1},{"declaration":307,"isOffset":false,"isSlot":false,"src":"9955:1:1","valueSize":1},{"declaration":310,"isOffset":false,"isSlot":false,"src":"23765:2:1","valueSize":1},{"declaration":310,"isOffset":false,"isSlot":false,"src":"23773:2:1","valueSize":1},{"declaration":313,"isOffset":false,"isSlot":false,"src":"23155:2:1","valueSize":1}],"id":452,"nodeType":"InlineAssembly","src":"5291:19432:1"}]},"functionSelector":"1e8e1e13","id":454,"implemented":true,"kind":"function","modifiers":[],"name":"verifyProof","nameLocation":"5196:11:1","nodeType":"FunctionDefinition","parameters":{"id":448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":444,"mutability":"mutable","name":"proof","nameLocation":"5221:5:1","nodeType":"VariableDeclaration","scope":454,"src":"5208:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":443,"name":"bytes","nodeType":"ElementaryTypeName","src":"5208:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":447,"mutability":"mutable","name":"pubSignals","nameLocation":"5242:10:1","nodeType":"VariableDeclaration","scope":454,"src":"5228:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":445,"name":"uint","nodeType":"ElementaryTypeName","src":"5228:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":446,"nodeType":"ArrayTypeName","src":"5228:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5207:46:1"},"returnParameters":{"id":451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":450,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":454,"src":"5275:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":449,"name":"bool","nodeType":"ElementaryTypeName","src":"5275:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5274:6:1"},"scope":455,"src":"5187:19551:1","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":456,"src":"832:23908:1","usedErrors":[],"usedEvents":[]}],"src":"799:23942:1"},"id":1},"contracts/workstep3Verifier.sol":{"ast":{"absolutePath":"contracts/workstep3Verifier.sol","exportedSymbols":{"Workstep3Verifier":[683]},"id":684,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":457,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"799:31:2"},{"abstract":false,"baseContracts":[],"canonicalName":"Workstep3Verifier","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":683,"linearizedBaseContracts":[683],"name":"Workstep3Verifier","nameLocation":"841:17:2","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":460,"mutability":"constant","name":"n","nameLocation":"886:1:2","nodeType":"VariableDeclaration","scope":683,"src":"870:27:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":458,"name":"uint32","nodeType":"ElementaryTypeName","src":"870:6:2","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"value":{"hexValue":"3332373638","id":459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"892:5:2","typeDescriptions":{"typeIdentifier":"t_rational_32768_by_1","typeString":"int_const 32768"},"value":"32768"},"visibility":"internal"},{"constant":true,"id":463,"mutability":"constant","name":"nPublic","nameLocation":"919:7:2","nodeType":"VariableDeclaration","scope":683,"src":"903:28:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":461,"name":"uint16","nodeType":"ElementaryTypeName","src":"903:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"930:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":466,"mutability":"constant","name":"nLagrange","nameLocation":"953:9:2","nodeType":"VariableDeclaration","scope":683,"src":"937:29:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":464,"name":"uint16","nodeType":"ElementaryTypeName","src":"937:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"965:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":469,"mutability":"constant","name":"Qmx","nameLocation":"994:3:2","nodeType":"VariableDeclaration","scope":683,"src":"977:99:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":467,"name":"uint256","nodeType":"ElementaryTypeName","src":"977:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39303331303134323031333334373836353938343337343734383139333333333733383937393834383337343732393632363330333234383531333335333631383434303538353435373830","id":468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1000:76:2","typeDescriptions":{"typeIdentifier":"t_rational_9031014201334786598437474819333373897984837472962630324851335361844058545780_by_1","typeString":"int_const 9031...(68 digits omitted)...5780"},"value":"9031014201334786598437474819333373897984837472962630324851335361844058545780"},"visibility":"internal"},{"constant":true,"id":472,"mutability":"constant","name":"Qmy","nameLocation":"1099:3:2","nodeType":"VariableDeclaration","scope":683,"src":"1082:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":470,"name":"uint256","nodeType":"ElementaryTypeName","src":"1082:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136363037323130373836303836393231393831333637323833383135303439373738373430363030393638373730363230323233303938313437353338303937313338343330353337353935","id":471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1105:77:2","typeDescriptions":{"typeIdentifier":"t_rational_16607210786086921981367283815049778740600968770620223098147538097138430537595_by_1","typeString":"int_const 1660...(69 digits omitted)...7595"},"value":"16607210786086921981367283815049778740600968770620223098147538097138430537595"},"visibility":"internal"},{"constant":true,"id":475,"mutability":"constant","name":"Qlx","nameLocation":"1205:3:2","nodeType":"VariableDeclaration","scope":683,"src":"1188:99:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":473,"name":"uint256","nodeType":"ElementaryTypeName","src":"1188:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36383038323738323830343835333036373539373435353438383931353336313931313632333432323336303939363937363333363530393936333435373430393134323234323230333035","id":474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1211:76:2","typeDescriptions":{"typeIdentifier":"t_rational_6808278280485306759745548891536191162342236099697633650996345740914224220305_by_1","typeString":"int_const 6808...(68 digits omitted)...0305"},"value":"6808278280485306759745548891536191162342236099697633650996345740914224220305"},"visibility":"internal"},{"constant":true,"id":478,"mutability":"constant","name":"Qly","nameLocation":"1310:3:2","nodeType":"VariableDeclaration","scope":683,"src":"1293:99:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":476,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33323730313730313935383030363437393536343339373330373937333339323230303430363536393137353833353938353938313333363039323630363435363138393836313233353838","id":477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1316:76:2","typeDescriptions":{"typeIdentifier":"t_rational_3270170195800647956439730797339220040656917583598598133609260645618986123588_by_1","typeString":"int_const 3270...(68 digits omitted)...3588"},"value":"3270170195800647956439730797339220040656917583598598133609260645618986123588"},"visibility":"internal"},{"constant":true,"id":481,"mutability":"constant","name":"Qrx","nameLocation":"1415:3:2","nodeType":"VariableDeclaration","scope":683,"src":"1398:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":479,"name":"uint256","nodeType":"ElementaryTypeName","src":"1398:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139383637363539393632393430333739343135383333373231393536313936383835383132353932383331323938353234333831393830353535373331313133323230303232303435373631","id":480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1421:77:2","typeDescriptions":{"typeIdentifier":"t_rational_19867659962940379415833721956196885812592831298524381980555731113220022045761_by_1","typeString":"int_const 1986...(69 digits omitted)...5761"},"value":"19867659962940379415833721956196885812592831298524381980555731113220022045761"},"visibility":"internal"},{"constant":true,"id":484,"mutability":"constant","name":"Qry","nameLocation":"1521:3:2","nodeType":"VariableDeclaration","scope":683,"src":"1504:99:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":482,"name":"uint256","nodeType":"ElementaryTypeName","src":"1504:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35383339343832303132303331373635333332383836353337383438373730333731343733383638323338383039303931313437333233393034363030363533303934393437383735333435","id":483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1527:76:2","typeDescriptions":{"typeIdentifier":"t_rational_5839482012031765332886537848770371473868238809091147323904600653094947875345_by_1","typeString":"int_const 5839...(68 digits omitted)...5345"},"value":"5839482012031765332886537848770371473868238809091147323904600653094947875345"},"visibility":"internal"},{"constant":true,"id":487,"mutability":"constant","name":"Qox","nameLocation":"1626:3:2","nodeType":"VariableDeclaration","scope":683,"src":"1609:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":485,"name":"uint256","nodeType":"ElementaryTypeName","src":"1609:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231363539323738383131393531373833353536343833313235363239323732383433313834373634383835343738323133373439393933353938343434383632323738303435383834373535","id":486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1632:77:2","typeDescriptions":{"typeIdentifier":"t_rational_21659278811951783556483125629272843184764885478213749993598444862278045884755_by_1","typeString":"int_const 2165...(69 digits omitted)...4755"},"value":"21659278811951783556483125629272843184764885478213749993598444862278045884755"},"visibility":"internal"},{"constant":true,"id":490,"mutability":"constant","name":"Qoy","nameLocation":"1732:3:2","nodeType":"VariableDeclaration","scope":683,"src":"1715:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":488,"name":"uint256","nodeType":"ElementaryTypeName","src":"1715:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136363630353937343735323035363139353435323831343638313236303036323339393837353339323637333438323030333430353932373933393532313438343837353034383734333039","id":489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1738:77:2","typeDescriptions":{"typeIdentifier":"t_rational_16660597475205619545281468126006239987539267348200340592793952148487504874309_by_1","typeString":"int_const 1666...(69 digits omitted)...4309"},"value":"16660597475205619545281468126006239987539267348200340592793952148487504874309"},"visibility":"internal"},{"constant":true,"id":493,"mutability":"constant","name":"Qcx","nameLocation":"1838:3:2","nodeType":"VariableDeclaration","scope":683,"src":"1821:99:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":491,"name":"uint256","nodeType":"ElementaryTypeName","src":"1821:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35333035353130333439383338303837333338373833353437383735353636323934343731373731343934303330393936343337363035363632323532303236333736303337303832393538","id":492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1844:76:2","typeDescriptions":{"typeIdentifier":"t_rational_5305510349838087338783547875566294471771494030996437605662252026376037082958_by_1","typeString":"int_const 5305...(68 digits omitted)...2958"},"value":"5305510349838087338783547875566294471771494030996437605662252026376037082958"},"visibility":"internal"},{"constant":true,"id":496,"mutability":"constant","name":"Qcy","nameLocation":"1943:3:2","nodeType":"VariableDeclaration","scope":683,"src":"1926:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":494,"name":"uint256","nodeType":"ElementaryTypeName","src":"1926:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139333737333334303937373732333432333733393233383736353934323131353632323737373035303931333838383939343937333133313332363735353939303034313434393735333133","id":495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1949:77:2","typeDescriptions":{"typeIdentifier":"t_rational_19377334097772342373923876594211562277705091388899497313132675599004144975313_by_1","typeString":"int_const 1937...(69 digits omitted)...5313"},"value":"19377334097772342373923876594211562277705091388899497313132675599004144975313"},"visibility":"internal"},{"constant":true,"id":499,"mutability":"constant","name":"S1x","nameLocation":"2049:3:2","nodeType":"VariableDeclaration","scope":683,"src":"2032:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":497,"name":"uint256","nodeType":"ElementaryTypeName","src":"2032:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133353131333734353838323437313637393937343134343832373731343630333139373737353030313330313437303635323930373337383134363534353132373431373437363136333436","id":498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2055:77:2","typeDescriptions":{"typeIdentifier":"t_rational_13511374588247167997414482771460319777500130147065290737814654512741747616346_by_1","typeString":"int_const 1351...(69 digits omitted)...6346"},"value":"13511374588247167997414482771460319777500130147065290737814654512741747616346"},"visibility":"internal"},{"constant":true,"id":502,"mutability":"constant","name":"S1y","nameLocation":"2155:3:2","nodeType":"VariableDeclaration","scope":683,"src":"2138:99:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":500,"name":"uint256","nodeType":"ElementaryTypeName","src":"2138:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39343130343432373233323238313535383030363039303233383532303831363330333030343430323835303134343639333539353439323531353036313136333532333433383430373635","id":501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:76:2","typeDescriptions":{"typeIdentifier":"t_rational_9410442723228155800609023852081630300440285014469359549251506116352343840765_by_1","typeString":"int_const 9410...(68 digits omitted)...0765"},"value":"9410442723228155800609023852081630300440285014469359549251506116352343840765"},"visibility":"internal"},{"constant":true,"id":505,"mutability":"constant","name":"S2x","nameLocation":"2260:3:2","nodeType":"VariableDeclaration","scope":683,"src":"2243:99:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":503,"name":"uint256","nodeType":"ElementaryTypeName","src":"2243:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36323334333433363432303332353239363736333034343735383430313339383536363039353432313833363138383933323832373934383438373232323635383339343034313231363038","id":504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2266:76:2","typeDescriptions":{"typeIdentifier":"t_rational_6234343642032529676304475840139856609542183618893282794848722265839404121608_by_1","typeString":"int_const 6234...(68 digits omitted)...1608"},"value":"6234343642032529676304475840139856609542183618893282794848722265839404121608"},"visibility":"internal"},{"constant":true,"id":508,"mutability":"constant","name":"S2y","nameLocation":"2365:3:2","nodeType":"VariableDeclaration","scope":683,"src":"2348:98:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":506,"name":"uint256","nodeType":"ElementaryTypeName","src":"2348:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313938303831323536363739333937343730313137303738313835333738373836363832313334313637393737373637343831393336313036373330393333363538323136343030323035","id":507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2371:75:2","typeDescriptions":{"typeIdentifier":"t_rational_198081256679397470117078185378786682134167977767481936106730933658216400205_by_1","typeString":"int_const 1980...(67 digits omitted)...0205"},"value":"198081256679397470117078185378786682134167977767481936106730933658216400205"},"visibility":"internal"},{"constant":true,"id":511,"mutability":"constant","name":"S3x","nameLocation":"2469:3:2","nodeType":"VariableDeclaration","scope":683,"src":"2452:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":509,"name":"uint256","nodeType":"ElementaryTypeName","src":"2452:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135363037333634343837373134393133333036313030343436323130313035363139333538373333363736303738303336353632333032313531353835303538363433373135323332323535","id":510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2475:77:2","typeDescriptions":{"typeIdentifier":"t_rational_15607364487714913306100446210105619358733676078036562302151585058643715232255_by_1","typeString":"int_const 1560...(69 digits omitted)...2255"},"value":"15607364487714913306100446210105619358733676078036562302151585058643715232255"},"visibility":"internal"},{"constant":true,"id":514,"mutability":"constant","name":"S3y","nameLocation":"2575:3:2","nodeType":"VariableDeclaration","scope":683,"src":"2558:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":512,"name":"uint256","nodeType":"ElementaryTypeName","src":"2558:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136343138323033383935393332313031393731363631353130333137373137373539303135353638313331393832323837323233393331313336353034383131313930323030393730343232","id":513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2581:77:2","typeDescriptions":{"typeIdentifier":"t_rational_16418203895932101971661510317717759015568131982287223931136504811190200970422_by_1","typeString":"int_const 1641...(69 digits omitted)...0422"},"value":"16418203895932101971661510317717759015568131982287223931136504811190200970422"},"visibility":"internal"},{"constant":true,"id":517,"mutability":"constant","name":"k1","nameLocation":"2681:2:2","nodeType":"VariableDeclaration","scope":683,"src":"2664:23:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":515,"name":"uint256","nodeType":"ElementaryTypeName","src":"2664:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2686:1:2","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":520,"mutability":"constant","name":"k2","nameLocation":"2710:2:2","nodeType":"VariableDeclaration","scope":683,"src":"2693:23:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":518,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2715:1:2","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"internal"},{"constant":true,"id":523,"mutability":"constant","name":"X2x1","nameLocation":"2739:4:2","nodeType":"VariableDeclaration","scope":683,"src":"2722:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":521,"name":"uint256","nodeType":"ElementaryTypeName","src":"2722:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"37353530313731313431343839363432333233333435343936363833373337323434323737303833323536343234303034373037373135393938343833343039353430303430353837343636","id":522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2746:76:2","typeDescriptions":{"typeIdentifier":"t_rational_7550171141489642323345496683737244277083256424004707715998483409540040587466_by_1","typeString":"int_const 7550...(68 digits omitted)...7466"},"value":"7550171141489642323345496683737244277083256424004707715998483409540040587466"},"visibility":"internal"},{"constant":true,"id":526,"mutability":"constant","name":"X2x2","nameLocation":"2845:4:2","nodeType":"VariableDeclaration","scope":683,"src":"2828:101:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":524,"name":"uint256","nodeType":"ElementaryTypeName","src":"2828:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133363734333237323831343536363030383935363037383139383438363832313539353032393536363038343739373335393735373632323138343131353939303333393831353539393638","id":525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2852:77:2","typeDescriptions":{"typeIdentifier":"t_rational_13674327281456600895607819848682159502956608479735975762218411599033981559968_by_1","typeString":"int_const 1367...(69 digits omitted)...9968"},"value":"13674327281456600895607819848682159502956608479735975762218411599033981559968"},"visibility":"internal"},{"constant":true,"id":529,"mutability":"constant","name":"X2y1","nameLocation":"2952:4:2","nodeType":"VariableDeclaration","scope":683,"src":"2935:101:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":527,"name":"uint256","nodeType":"ElementaryTypeName","src":"2935:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136333239343237363535393135393434393038343834393734303630383938373631363833393734363436333138303734363339313938303033313837313534353235323534313736353230","id":528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2959:77:2","typeDescriptions":{"typeIdentifier":"t_rational_16329427655915944908484974060898761683974646318074639198003187154525254176520_by_1","typeString":"int_const 1632...(69 digits omitted)...6520"},"value":"16329427655915944908484974060898761683974646318074639198003187154525254176520"},"visibility":"internal"},{"constant":true,"id":532,"mutability":"constant","name":"X2y2","nameLocation":"3059:4:2","nodeType":"VariableDeclaration","scope":683,"src":"3042:101:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":530,"name":"uint256","nodeType":"ElementaryTypeName","src":"3042:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139363034363331363533303430323033393131353233343934323133363738313838303035393837363232313934353435353732353239363038383335313833393336353639383230393930","id":531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3066:77:2","typeDescriptions":{"typeIdentifier":"t_rational_19604631653040203911523494213678188005987622194545572529608835183936569820990_by_1","typeString":"int_const 1960...(69 digits omitted)...0990"},"value":"19604631653040203911523494213678188005987622194545572529608835183936569820990"},"visibility":"internal"},{"constant":true,"id":535,"mutability":"constant","name":"q","nameLocation":"3171:1:2","nodeType":"VariableDeclaration","scope":683,"src":"3154:98:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":533,"name":"uint256","nodeType":"ElementaryTypeName","src":"3154:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137","id":534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3175:77:2","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1","typeString":"int_const 2188...(69 digits omitted)...5617"},"value":"21888242871839275222246405745257275088548364400416034343698204186575808495617"},"visibility":"internal"},{"constant":true,"id":538,"mutability":"constant","name":"qf","nameLocation":"3275:2:2","nodeType":"VariableDeclaration","scope":683,"src":"3258:99:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":536,"name":"uint256","nodeType":"ElementaryTypeName","src":"3258:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833","id":537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3280:77:2","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1","typeString":"int_const 2188...(69 digits omitted)...8583"},"value":"21888242871839275222246405745257275088696311157297823662689037894645226208583"},"visibility":"internal"},{"constant":true,"id":541,"mutability":"constant","name":"w1","nameLocation":"3380:2:2","nodeType":"VariableDeclaration","scope":683,"src":"3363:99:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":539,"name":"uint256","nodeType":"ElementaryTypeName","src":"3363:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3230343032393331373438383433353338393835313531303031323634353330303439383734383731353732393333363934363334383336353637303730363933393636313333373833383033","id":540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3385:77:2","typeDescriptions":{"typeIdentifier":"t_rational_20402931748843538985151001264530049874871572933694634836567070693966133783803_by_1","typeString":"int_const 2040...(69 digits omitted)...3803"},"value":"20402931748843538985151001264530049874871572933694634836567070693966133783803"},"visibility":"internal"},{"constant":true,"id":544,"mutability":"constant","name":"G1x","nameLocation":"3494:3:2","nodeType":"VariableDeclaration","scope":683,"src":"3477:24:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":542,"name":"uint256","nodeType":"ElementaryTypeName","src":"3477:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3500:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":547,"mutability":"constant","name":"G1y","nameLocation":"3524:3:2","nodeType":"VariableDeclaration","scope":683,"src":"3507:24:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"3507:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3530:1:2","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":550,"mutability":"constant","name":"G2x1","nameLocation":"3554:4:2","nodeType":"VariableDeclaration","scope":683,"src":"3537:101:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":548,"name":"uint256","nodeType":"ElementaryTypeName","src":"3537:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831","id":549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3561:77:2","typeDescriptions":{"typeIdentifier":"t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1","typeString":"int_const 1085...(69 digits omitted)...2781"},"value":"10857046999023057135944570762232829481370756359578518086990519993285655852781"},"visibility":"internal"},{"constant":true,"id":553,"mutability":"constant","name":"G2x2","nameLocation":"3661:4:2","nodeType":"VariableDeclaration","scope":683,"src":"3644:101:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":551,"name":"uint256","nodeType":"ElementaryTypeName","src":"3644:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334","id":552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3668:77:2","typeDescriptions":{"typeIdentifier":"t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1","typeString":"int_const 1155...(69 digits omitted)...5634"},"value":"11559732032986387107991004021392285783925812861821192530917403151452391805634"},"visibility":"internal"},{"constant":true,"id":556,"mutability":"constant","name":"G2y1","nameLocation":"3768:4:2","nodeType":"VariableDeclaration","scope":683,"src":"3751:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":554,"name":"uint256","nodeType":"ElementaryTypeName","src":"3751:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330","id":555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3775:76:2","typeDescriptions":{"typeIdentifier":"t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1","typeString":"int_const 8495...(68 digits omitted)...1930"},"value":"8495653923123431417604973247489272438418190587263600148770280649306958101930"},"visibility":"internal"},{"constant":true,"id":559,"mutability":"constant","name":"G2y2","nameLocation":"3874:4:2","nodeType":"VariableDeclaration","scope":683,"src":"3857:100:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":557,"name":"uint256","nodeType":"ElementaryTypeName","src":"3857:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331","id":558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3881:76:2","typeDescriptions":{"typeIdentifier":"t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1","typeString":"int_const 4082...(68 digits omitted)...3531"},"value":"4082367875863433681332203403145435568316851327593401208105741076214120093531"},"visibility":"internal"},{"constant":true,"id":562,"mutability":"constant","name":"pA","nameLocation":"3979:2:2","nodeType":"VariableDeclaration","scope":683,"src":"3963:23:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":560,"name":"uint16","nodeType":"ElementaryTypeName","src":"3963:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3984:2:2","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":565,"mutability":"constant","name":"pB","nameLocation":"4008:2:2","nodeType":"VariableDeclaration","scope":683,"src":"3992:23:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":563,"name":"uint16","nodeType":"ElementaryTypeName","src":"3992:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4013:2:2","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":568,"mutability":"constant","name":"pC","nameLocation":"4037:2:2","nodeType":"VariableDeclaration","scope":683,"src":"4021:24:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":566,"name":"uint16","nodeType":"ElementaryTypeName","src":"4021:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4042:3:2","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":571,"mutability":"constant","name":"pZ","nameLocation":"4067:2:2","nodeType":"VariableDeclaration","scope":683,"src":"4051:24:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":569,"name":"uint16","nodeType":"ElementaryTypeName","src":"4051:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4072:3:2","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":574,"mutability":"constant","name":"pT1","nameLocation":"4097:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4081:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":572,"name":"uint16","nodeType":"ElementaryTypeName","src":"4081:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4103:3:2","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":577,"mutability":"constant","name":"pT2","nameLocation":"4128:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4112:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":575,"name":"uint16","nodeType":"ElementaryTypeName","src":"4112:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4134:3:2","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":580,"mutability":"constant","name":"pT3","nameLocation":"4159:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4143:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":578,"name":"uint16","nodeType":"ElementaryTypeName","src":"4143:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4165:3:2","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":583,"mutability":"constant","name":"pWxi","nameLocation":"4190:4:2","nodeType":"VariableDeclaration","scope":683,"src":"4174:26:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":581,"name":"uint16","nodeType":"ElementaryTypeName","src":"4174:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4197:3:2","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":586,"mutability":"constant","name":"pWxiw","nameLocation":"4222:5:2","nodeType":"VariableDeclaration","scope":683,"src":"4206:27:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":584,"name":"uint16","nodeType":"ElementaryTypeName","src":"4206:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4230:3:2","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":589,"mutability":"constant","name":"pEval_a","nameLocation":"4255:7:2","nodeType":"VariableDeclaration","scope":683,"src":"4239:29:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":587,"name":"uint16","nodeType":"ElementaryTypeName","src":"4239:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4265:3:2","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":592,"mutability":"constant","name":"pEval_b","nameLocation":"4290:7:2","nodeType":"VariableDeclaration","scope":683,"src":"4274:29:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":590,"name":"uint16","nodeType":"ElementaryTypeName","src":"4274:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4300:3:2","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":595,"mutability":"constant","name":"pEval_c","nameLocation":"4325:7:2","nodeType":"VariableDeclaration","scope":683,"src":"4309:29:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":593,"name":"uint16","nodeType":"ElementaryTypeName","src":"4309:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4335:3:2","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":598,"mutability":"constant","name":"pEval_s1","nameLocation":"4360:8:2","nodeType":"VariableDeclaration","scope":683,"src":"4344:30:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":596,"name":"uint16","nodeType":"ElementaryTypeName","src":"4344:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4371:3:2","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"constant":true,"id":601,"mutability":"constant","name":"pEval_s2","nameLocation":"4396:8:2","nodeType":"VariableDeclaration","scope":683,"src":"4380:30:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":599,"name":"uint16","nodeType":"ElementaryTypeName","src":"4380:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373336","id":600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4407:3:2","typeDescriptions":{"typeIdentifier":"t_rational_736_by_1","typeString":"int_const 736"},"value":"736"},"visibility":"internal"},{"constant":true,"id":604,"mutability":"constant","name":"pEval_zw","nameLocation":"4432:8:2","nodeType":"VariableDeclaration","scope":683,"src":"4416:30:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":602,"name":"uint16","nodeType":"ElementaryTypeName","src":"4416:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373638","id":603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4443:3:2","typeDescriptions":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"},"value":"768"},"visibility":"internal"},{"constant":true,"id":607,"mutability":"constant","name":"pEval_r","nameLocation":"4468:7:2","nodeType":"VariableDeclaration","scope":683,"src":"4452:29:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":605,"name":"uint16","nodeType":"ElementaryTypeName","src":"4452:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"383030","id":606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4478:3:2","typeDescriptions":{"typeIdentifier":"t_rational_800_by_1","typeString":"int_const 800"},"value":"800"},"visibility":"internal"},{"constant":true,"id":610,"mutability":"constant","name":"pAlpha","nameLocation":"4508:6:2","nodeType":"VariableDeclaration","scope":683,"src":"4492:26:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":608,"name":"uint16","nodeType":"ElementaryTypeName","src":"4492:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"30","id":609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4517:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"constant":true,"id":613,"mutability":"constant","name":"pBeta","nameLocation":"4540:5:2","nodeType":"VariableDeclaration","scope":683,"src":"4524:26:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":611,"name":"uint16","nodeType":"ElementaryTypeName","src":"4524:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4548:2:2","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":616,"mutability":"constant","name":"pGamma","nameLocation":"4572:6:2","nodeType":"VariableDeclaration","scope":683,"src":"4556:27:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":614,"name":"uint16","nodeType":"ElementaryTypeName","src":"4556:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3634","id":615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4581:2:2","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"visibility":"internal"},{"constant":true,"id":619,"mutability":"constant","name":"pXi","nameLocation":"4605:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4589:24:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":617,"name":"uint16","nodeType":"ElementaryTypeName","src":"4589:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4611:2:2","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":622,"mutability":"constant","name":"pXin","nameLocation":"4635:4:2","nodeType":"VariableDeclaration","scope":683,"src":"4619:26:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":620,"name":"uint16","nodeType":"ElementaryTypeName","src":"4619:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313238","id":621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4642:3:2","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"visibility":"internal"},{"constant":true,"id":625,"mutability":"constant","name":"pBetaXi","nameLocation":"4667:7:2","nodeType":"VariableDeclaration","scope":683,"src":"4651:29:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":623,"name":"uint16","nodeType":"ElementaryTypeName","src":"4651:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4677:3:2","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":628,"mutability":"constant","name":"pV1","nameLocation":"4702:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4686:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":626,"name":"uint16","nodeType":"ElementaryTypeName","src":"4686:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313932","id":627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4708:3:2","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"visibility":"internal"},{"constant":true,"id":631,"mutability":"constant","name":"pV2","nameLocation":"4733:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4717:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":629,"name":"uint16","nodeType":"ElementaryTypeName","src":"4717:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4739:3:2","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":634,"mutability":"constant","name":"pV3","nameLocation":"4764:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4748:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":632,"name":"uint16","nodeType":"ElementaryTypeName","src":"4748:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323536","id":633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4770:3:2","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"visibility":"internal"},{"constant":true,"id":637,"mutability":"constant","name":"pV4","nameLocation":"4795:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4779:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":635,"name":"uint16","nodeType":"ElementaryTypeName","src":"4779:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4801:3:2","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":640,"mutability":"constant","name":"pV5","nameLocation":"4826:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4810:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":638,"name":"uint16","nodeType":"ElementaryTypeName","src":"4810:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333230","id":639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4832:3:2","typeDescriptions":{"typeIdentifier":"t_rational_320_by_1","typeString":"int_const 320"},"value":"320"},"visibility":"internal"},{"constant":true,"id":643,"mutability":"constant","name":"pV6","nameLocation":"4857:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4841:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":641,"name":"uint16","nodeType":"ElementaryTypeName","src":"4841:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4863:3:2","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":646,"mutability":"constant","name":"pU","nameLocation":"4888:2:2","nodeType":"VariableDeclaration","scope":683,"src":"4872:24:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":644,"name":"uint16","nodeType":"ElementaryTypeName","src":"4872:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333834","id":645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4893:3:2","typeDescriptions":{"typeIdentifier":"t_rational_384_by_1","typeString":"int_const 384"},"value":"384"},"visibility":"internal"},{"constant":true,"id":649,"mutability":"constant","name":"pPl","nameLocation":"4918:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4902:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":647,"name":"uint16","nodeType":"ElementaryTypeName","src":"4902:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4924:3:2","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":652,"mutability":"constant","name":"pEval_t","nameLocation":"4949:7:2","nodeType":"VariableDeclaration","scope":683,"src":"4933:29:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":650,"name":"uint16","nodeType":"ElementaryTypeName","src":"4933:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343438","id":651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4959:3:2","typeDescriptions":{"typeIdentifier":"t_rational_448_by_1","typeString":"int_const 448"},"value":"448"},"visibility":"internal"},{"constant":true,"id":655,"mutability":"constant","name":"pA1","nameLocation":"4984:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4968:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":653,"name":"uint16","nodeType":"ElementaryTypeName","src":"4968:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4990:3:2","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":658,"mutability":"constant","name":"pB1","nameLocation":"5015:3:2","nodeType":"VariableDeclaration","scope":683,"src":"4999:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":656,"name":"uint16","nodeType":"ElementaryTypeName","src":"4999:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5021:3:2","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":661,"mutability":"constant","name":"pZh","nameLocation":"5046:3:2","nodeType":"VariableDeclaration","scope":683,"src":"5030:25:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":659,"name":"uint16","nodeType":"ElementaryTypeName","src":"5030:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5052:3:2","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":664,"mutability":"constant","name":"pZhInv","nameLocation":"5077:6:2","nodeType":"VariableDeclaration","scope":683,"src":"5061:28:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":662,"name":"uint16","nodeType":"ElementaryTypeName","src":"5061:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5086:3:2","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":667,"mutability":"constant","name":"pEval_l1","nameLocation":"5116:8:2","nodeType":"VariableDeclaration","scope":683,"src":"5100:30:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":665,"name":"uint16","nodeType":"ElementaryTypeName","src":"5100:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5127:3:2","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":670,"mutability":"constant","name":"lastMem","nameLocation":"5167:7:2","nodeType":"VariableDeclaration","scope":683,"src":"5151:29:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":668,"name":"uint16","nodeType":"ElementaryTypeName","src":"5151:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5177:3:2","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"body":{"id":681,"nodeType":"Block","src":"5281:19457:2","statements":[{"AST":{"nativeSrc":"5300:19423:2","nodeType":"YulBlock","src":"5300:19423:2","statements":[{"body":{"nativeSrc":"5463:694:2","nodeType":"YulBlock","src":"5463:694:2","statements":[{"nativeSrc":"5481:10:2","nodeType":"YulVariableDeclaration","src":"5481:10:2","value":{"kind":"number","nativeSrc":"5490:1:2","nodeType":"YulLiteral","src":"5490:1:2","type":"","value":"0"},"variables":[{"name":"t","nativeSrc":"5485:1:2","nodeType":"YulTypedName","src":"5485:1:2","type":""}]},{"nativeSrc":"5513:13:2","nodeType":"YulVariableDeclaration","src":"5513:13:2","value":{"kind":"number","nativeSrc":"5525:1:2","nodeType":"YulLiteral","src":"5525:1:2","type":"","value":"1"},"variables":[{"name":"newt","nativeSrc":"5517:4:2","nodeType":"YulTypedName","src":"5517:4:2","type":""}]},{"nativeSrc":"5543:10:2","nodeType":"YulVariableDeclaration","src":"5543:10:2","value":{"name":"q","nativeSrc":"5552:1:2","nodeType":"YulIdentifier","src":"5552:1:2"},"variables":[{"name":"r","nativeSrc":"5547:1:2","nodeType":"YulTypedName","src":"5547:1:2","type":""}]},{"nativeSrc":"5575:13:2","nodeType":"YulVariableDeclaration","src":"5575:13:2","value":{"name":"a","nativeSrc":"5587:1:2","nodeType":"YulIdentifier","src":"5587:1:2"},"variables":[{"name":"newr","nativeSrc":"5579:4:2","nodeType":"YulTypedName","src":"5579:4:2","type":""}]},{"nativeSrc":"5605:12:2","nodeType":"YulVariableDeclaration","src":"5605:12:2","variables":[{"name":"quotient","nativeSrc":"5609:8:2","nodeType":"YulTypedName","src":"5609:8:2","type":""}]},{"nativeSrc":"5634:7:2","nodeType":"YulVariableDeclaration","src":"5634:7:2","variables":[{"name":"aux","nativeSrc":"5638:3:2","nodeType":"YulTypedName","src":"5638:3:2","type":""}]},{"body":{"nativeSrc":"5692:317:2","nodeType":"YulBlock","src":"5692:317:2","statements":[{"nativeSrc":"5714:25:2","nodeType":"YulAssignment","src":"5714:25:2","value":{"arguments":[{"name":"r","nativeSrc":"5731:1:2","nodeType":"YulIdentifier","src":"5731:1:2"},{"name":"newr","nativeSrc":"5734:4:2","nodeType":"YulIdentifier","src":"5734:4:2"}],"functionName":{"name":"sdiv","nativeSrc":"5726:4:2","nodeType":"YulIdentifier","src":"5726:4:2"},"nativeSrc":"5726:13:2","nodeType":"YulFunctionCall","src":"5726:13:2"},"variableNames":[{"name":"quotient","nativeSrc":"5714:8:2","nodeType":"YulIdentifier","src":"5714:8:2"}]},{"nativeSrc":"5760:34:2","nodeType":"YulAssignment","src":"5760:34:2","value":{"arguments":[{"name":"t","nativeSrc":"5771:1:2","nodeType":"YulIdentifier","src":"5771:1:2"},{"arguments":[{"name":"quotient","nativeSrc":"5778:8:2","nodeType":"YulIdentifier","src":"5778:8:2"},{"name":"newt","nativeSrc":"5788:4:2","nodeType":"YulIdentifier","src":"5788:4:2"}],"functionName":{"name":"mul","nativeSrc":"5774:3:2","nodeType":"YulIdentifier","src":"5774:3:2"},"nativeSrc":"5774:19:2","nodeType":"YulFunctionCall","src":"5774:19:2"}],"functionName":{"name":"sub","nativeSrc":"5767:3:2","nodeType":"YulIdentifier","src":"5767:3:2"},"nativeSrc":"5767:27:2","nodeType":"YulFunctionCall","src":"5767:27:2"},"variableNames":[{"name":"aux","nativeSrc":"5760:3:2","nodeType":"YulIdentifier","src":"5760:3:2"}]},{"nativeSrc":"5815:8:2","nodeType":"YulAssignment","src":"5815:8:2","value":{"name":"newt","nativeSrc":"5819:4:2","nodeType":"YulIdentifier","src":"5819:4:2"},"variableNames":[{"name":"t","nativeSrc":"5815:1:2","nodeType":"YulIdentifier","src":"5815:1:2"}]},{"nativeSrc":"5844:10:2","nodeType":"YulAssignment","src":"5844:10:2","value":{"name":"aux","nativeSrc":"5851:3:2","nodeType":"YulIdentifier","src":"5851:3:2"},"variableNames":[{"name":"newt","nativeSrc":"5844:4:2","nodeType":"YulIdentifier","src":"5844:4:2"}]},{"nativeSrc":"5896:33:2","nodeType":"YulAssignment","src":"5896:33:2","value":{"arguments":[{"name":"r","nativeSrc":"5907:1:2","nodeType":"YulIdentifier","src":"5907:1:2"},{"arguments":[{"name":"quotient","nativeSrc":"5913:8:2","nodeType":"YulIdentifier","src":"5913:8:2"},{"name":"newr","nativeSrc":"5923:4:2","nodeType":"YulIdentifier","src":"5923:4:2"}],"functionName":{"name":"mul","nativeSrc":"5909:3:2","nodeType":"YulIdentifier","src":"5909:3:2"},"nativeSrc":"5909:19:2","nodeType":"YulFunctionCall","src":"5909:19:2"}],"functionName":{"name":"sub","nativeSrc":"5903:3:2","nodeType":"YulIdentifier","src":"5903:3:2"},"nativeSrc":"5903:26:2","nodeType":"YulFunctionCall","src":"5903:26:2"},"variableNames":[{"name":"aux","nativeSrc":"5896:3:2","nodeType":"YulIdentifier","src":"5896:3:2"}]},{"nativeSrc":"5950:9:2","nodeType":"YulAssignment","src":"5950:9:2","value":{"name":"newr","nativeSrc":"5955:4:2","nodeType":"YulIdentifier","src":"5955:4:2"},"variableNames":[{"name":"r","nativeSrc":"5950:1:2","nodeType":"YulIdentifier","src":"5950:1:2"}]},{"nativeSrc":"5980:11:2","nodeType":"YulAssignment","src":"5980:11:2","value":{"name":"aux","nativeSrc":"5988:3:2","nodeType":"YulIdentifier","src":"5988:3:2"},"variableNames":[{"name":"newr","nativeSrc":"5980:4:2","nodeType":"YulIdentifier","src":"5980:4:2"}]}]},"condition":{"name":"newr","nativeSrc":"5683:4:2","nodeType":"YulIdentifier","src":"5683:4:2"},"nativeSrc":"5675:334:2","nodeType":"YulForLoop","post":{"nativeSrc":"5688:3:2","nodeType":"YulBlock","src":"5688:3:2","statements":[]},"pre":{"nativeSrc":"5679:3:2","nodeType":"YulBlock","src":"5679:3:2","statements":[]},"src":"5675:334:2"},{"body":{"nativeSrc":"6055:15:2","nodeType":"YulBlock","src":"6055:15:2","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6064:1:2","nodeType":"YulLiteral","src":"6064:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"6066:1:2","nodeType":"YulLiteral","src":"6066:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6057:6:2","nodeType":"YulIdentifier","src":"6057:6:2"},"nativeSrc":"6057:11:2","nodeType":"YulFunctionCall","src":"6057:11:2"},"nativeSrc":"6057:11:2","nodeType":"YulExpressionStatement","src":"6057:11:2"}]},"condition":{"arguments":[{"name":"r","nativeSrc":"6049:1:2","nodeType":"YulIdentifier","src":"6049:1:2"},{"kind":"number","nativeSrc":"6052:1:2","nodeType":"YulLiteral","src":"6052:1:2","type":"","value":"1"}],"functionName":{"name":"gt","nativeSrc":"6046:2:2","nodeType":"YulIdentifier","src":"6046:2:2"},"nativeSrc":"6046:8:2","nodeType":"YulFunctionCall","src":"6046:8:2"},"nativeSrc":"6043:27:2","nodeType":"YulIf","src":"6043:27:2"},{"body":{"nativeSrc":"6100:17:2","nodeType":"YulBlock","src":"6100:17:2","statements":[{"nativeSrc":"6102:13:2","nodeType":"YulAssignment","src":"6102:13:2","value":{"arguments":[{"name":"t","nativeSrc":"6110:1:2","nodeType":"YulIdentifier","src":"6110:1:2"},{"name":"q","nativeSrc":"6113:1:2","nodeType":"YulIdentifier","src":"6113:1:2"}],"functionName":{"name":"add","nativeSrc":"6106:3:2","nodeType":"YulIdentifier","src":"6106:3:2"},"nativeSrc":"6106:9:2","nodeType":"YulFunctionCall","src":"6106:9:2"},"variableNames":[{"name":"t","nativeSrc":"6102:1:2","nodeType":"YulIdentifier","src":"6102:1:2"}]}]},"condition":{"arguments":[{"name":"t","nativeSrc":"6094:1:2","nodeType":"YulIdentifier","src":"6094:1:2"},{"kind":"number","nativeSrc":"6097:1:2","nodeType":"YulLiteral","src":"6097:1:2","type":"","value":"0"}],"functionName":{"name":"slt","nativeSrc":"6090:3:2","nodeType":"YulIdentifier","src":"6090:3:2"},"nativeSrc":"6090:9:2","nodeType":"YulFunctionCall","src":"6090:9:2"},"nativeSrc":"6087:30:2","nodeType":"YulIf","src":"6087:30:2"},{"nativeSrc":"6135:8:2","nodeType":"YulAssignment","src":"6135:8:2","value":{"name":"t","nativeSrc":"6142:1:2","nodeType":"YulIdentifier","src":"6142:1:2"},"variableNames":[{"name":"inv","nativeSrc":"6135:3:2","nodeType":"YulIdentifier","src":"6135:3:2"}]}]},"name":"inverse","nativeSrc":"5433:724:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"a","nativeSrc":"5450:1:2","nodeType":"YulTypedName","src":"5450:1:2","type":""},{"name":"q","nativeSrc":"5453:1:2","nodeType":"YulTypedName","src":"5453:1:2","type":""}],"returnVariables":[{"name":"inv","nativeSrc":"5459:3:2","nodeType":"YulTypedName","src":"5459:3:2","type":""}],"src":"5433:724:2"},{"body":{"nativeSrc":"6431:1485:2","nodeType":"YulBlock","src":"6431:1485:2","statements":[{"nativeSrc":"6454:23:2","nodeType":"YulVariableDeclaration","src":"6454:23:2","value":{"arguments":[{"kind":"number","nativeSrc":"6472:4:2","nodeType":"YulLiteral","src":"6472:4:2","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6466:5:2","nodeType":"YulIdentifier","src":"6466:5:2"},"nativeSrc":"6466:11:2","nodeType":"YulFunctionCall","src":"6466:11:2"},"variables":[{"name":"pAux","nativeSrc":"6458:4:2","nodeType":"YulTypedName","src":"6458:4:2","type":""}]},{"nativeSrc":"6533:16:2","nodeType":"YulVariableDeclaration","src":"6533:16:2","value":{"name":"pVals","nativeSrc":"6544:5:2","nodeType":"YulIdentifier","src":"6544:5:2"},"variables":[{"name":"pIn","nativeSrc":"6537:3:2","nodeType":"YulTypedName","src":"6537:3:2","type":""}]},{"nativeSrc":"6566:37:2","nodeType":"YulVariableDeclaration","src":"6566:37:2","value":{"arguments":[{"name":"pVals","nativeSrc":"6585:5:2","nodeType":"YulIdentifier","src":"6585:5:2"},{"arguments":[{"name":"n","nativeSrc":"6596:1:2","nodeType":"YulIdentifier","src":"6596:1:2"},{"kind":"number","nativeSrc":"6599:2:2","nodeType":"YulLiteral","src":"6599:2:2","type":"","value":"32"}],"functionName":{"name":"mul","nativeSrc":"6592:3:2","nodeType":"YulIdentifier","src":"6592:3:2"},"nativeSrc":"6592:10:2","nodeType":"YulFunctionCall","src":"6592:10:2"}],"functionName":{"name":"add","nativeSrc":"6581:3:2","nodeType":"YulIdentifier","src":"6581:3:2"},"nativeSrc":"6581:22:2","nodeType":"YulFunctionCall","src":"6581:22:2"},"variables":[{"name":"lastPIn","nativeSrc":"6570:7:2","nodeType":"YulTypedName","src":"6570:7:2","type":""}]},{"nativeSrc":"6639:21:2","nodeType":"YulVariableDeclaration","src":"6639:21:2","value":{"arguments":[{"name":"pIn","nativeSrc":"6656:3:2","nodeType":"YulIdentifier","src":"6656:3:2"}],"functionName":{"name":"mload","nativeSrc":"6650:5:2","nodeType":"YulIdentifier","src":"6650:5:2"},"nativeSrc":"6650:10:2","nodeType":"YulFunctionCall","src":"6650:10:2"},"variables":[{"name":"acc","nativeSrc":"6643:3:2","nodeType":"YulTypedName","src":"6643:3:2","type":""}]},{"nativeSrc":"6709:19:2","nodeType":"YulAssignment","src":"6709:19:2","value":{"arguments":[{"name":"pIn","nativeSrc":"6720:3:2","nodeType":"YulIdentifier","src":"6720:3:2"},{"kind":"number","nativeSrc":"6725:2:2","nodeType":"YulLiteral","src":"6725:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6716:3:2","nodeType":"YulIdentifier","src":"6716:3:2"},"nativeSrc":"6716:12:2","nodeType":"YulFunctionCall","src":"6716:12:2"},"variableNames":[{"name":"pIn","nativeSrc":"6709:3:2","nodeType":"YulIdentifier","src":"6709:3:2"}]},{"nativeSrc":"6784:7:2","nodeType":"YulVariableDeclaration","src":"6784:7:2","variables":[{"name":"inv","nativeSrc":"6788:3:2","nodeType":"YulTypedName","src":"6788:3:2","type":""}]},{"body":{"nativeSrc":"6976:111:2","nodeType":"YulBlock","src":"6976:111:2","statements":[{"expression":{"arguments":[{"name":"pAux","nativeSrc":"7005:4:2","nodeType":"YulIdentifier","src":"7005:4:2"},{"name":"acc","nativeSrc":"7011:3:2","nodeType":"YulIdentifier","src":"7011:3:2"}],"functionName":{"name":"mstore","nativeSrc":"6998:6:2","nodeType":"YulIdentifier","src":"6998:6:2"},"nativeSrc":"6998:17:2","nodeType":"YulFunctionCall","src":"6998:17:2"},"nativeSrc":"6998:17:2","nodeType":"YulExpressionStatement","src":"6998:17:2"},{"nativeSrc":"7036:33:2","nodeType":"YulAssignment","src":"7036:33:2","value":{"arguments":[{"name":"acc","nativeSrc":"7050:3:2","nodeType":"YulIdentifier","src":"7050:3:2"},{"arguments":[{"name":"pIn","nativeSrc":"7061:3:2","nodeType":"YulIdentifier","src":"7061:3:2"}],"functionName":{"name":"mload","nativeSrc":"7055:5:2","nodeType":"YulIdentifier","src":"7055:5:2"},"nativeSrc":"7055:10:2","nodeType":"YulFunctionCall","src":"7055:10:2"},{"name":"q","nativeSrc":"7067:1:2","nodeType":"YulIdentifier","src":"7067:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"7043:6:2","nodeType":"YulIdentifier","src":"7043:6:2"},"nativeSrc":"7043:26:2","nodeType":"YulFunctionCall","src":"7043:26:2"},"variableNames":[{"name":"acc","nativeSrc":"7036:3:2","nodeType":"YulIdentifier","src":"7036:3:2"}]}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"6841:3:2","nodeType":"YulIdentifier","src":"6841:3:2"},{"name":"lastPIn","nativeSrc":"6846:7:2","nodeType":"YulIdentifier","src":"6846:7:2"}],"functionName":{"name":"lt","nativeSrc":"6838:2:2","nodeType":"YulIdentifier","src":"6838:2:2"},"nativeSrc":"6838:16:2","nodeType":"YulFunctionCall","src":"6838:16:2"},"nativeSrc":"6830:257:2","nodeType":"YulForLoop","post":{"nativeSrc":"6855:103:2","nodeType":"YulBlock","src":"6855:103:2","statements":[{"nativeSrc":"6878:21:2","nodeType":"YulAssignment","src":"6878:21:2","value":{"arguments":[{"name":"pAux","nativeSrc":"6890:4:2","nodeType":"YulIdentifier","src":"6890:4:2"},{"kind":"number","nativeSrc":"6896:2:2","nodeType":"YulLiteral","src":"6896:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6886:3:2","nodeType":"YulIdentifier","src":"6886:3:2"},"nativeSrc":"6886:13:2","nodeType":"YulFunctionCall","src":"6886:13:2"},"variableNames":[{"name":"pAux","nativeSrc":"6878:4:2","nodeType":"YulIdentifier","src":"6878:4:2"}]},{"nativeSrc":"6921:19:2","nodeType":"YulAssignment","src":"6921:19:2","value":{"arguments":[{"name":"pIn","nativeSrc":"6932:3:2","nodeType":"YulIdentifier","src":"6932:3:2"},{"kind":"number","nativeSrc":"6937:2:2","nodeType":"YulLiteral","src":"6937:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6928:3:2","nodeType":"YulIdentifier","src":"6928:3:2"},"nativeSrc":"6928:12:2","nodeType":"YulFunctionCall","src":"6928:12:2"},"variableNames":[{"name":"pIn","nativeSrc":"6921:3:2","nodeType":"YulIdentifier","src":"6921:3:2"}]}]},"pre":{"nativeSrc":"6834:3:2","nodeType":"YulBlock","src":"6834:3:2","statements":[]},"src":"6830:257:2"},{"nativeSrc":"7104:22:2","nodeType":"YulAssignment","src":"7104:22:2","value":{"arguments":[{"name":"acc","nativeSrc":"7119:3:2","nodeType":"YulIdentifier","src":"7119:3:2"},{"name":"q","nativeSrc":"7124:1:2","nodeType":"YulIdentifier","src":"7124:1:2"}],"functionName":{"name":"inverse","nativeSrc":"7111:7:2","nodeType":"YulIdentifier","src":"7111:7:2"},"nativeSrc":"7111:15:2","nodeType":"YulFunctionCall","src":"7111:15:2"},"variableNames":[{"name":"acc","nativeSrc":"7104:3:2","nodeType":"YulIdentifier","src":"7104:3:2"}]},{"nativeSrc":"7270:21:2","nodeType":"YulAssignment","src":"7270:21:2","value":{"arguments":[{"name":"pAux","nativeSrc":"7282:4:2","nodeType":"YulIdentifier","src":"7282:4:2"},{"kind":"number","nativeSrc":"7288:2:2","nodeType":"YulLiteral","src":"7288:2:2","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7278:3:2","nodeType":"YulIdentifier","src":"7278:3:2"},"nativeSrc":"7278:13:2","nodeType":"YulFunctionCall","src":"7278:13:2"},"variableNames":[{"name":"pAux","nativeSrc":"7270:4:2","nodeType":"YulIdentifier","src":"7270:4:2"}]},{"nativeSrc":"7385:19:2","nodeType":"YulAssignment","src":"7385:19:2","value":{"arguments":[{"name":"pIn","nativeSrc":"7396:3:2","nodeType":"YulIdentifier","src":"7396:3:2"},{"kind":"number","nativeSrc":"7401:2:2","nodeType":"YulLiteral","src":"7401:2:2","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7392:3:2","nodeType":"YulIdentifier","src":"7392:3:2"},"nativeSrc":"7392:12:2","nodeType":"YulFunctionCall","src":"7392:12:2"},"variableNames":[{"name":"pIn","nativeSrc":"7385:3:2","nodeType":"YulIdentifier","src":"7385:3:2"}]},{"nativeSrc":"7421:16:2","nodeType":"YulAssignment","src":"7421:16:2","value":{"name":"pVals","nativeSrc":"7432:5:2","nodeType":"YulIdentifier","src":"7432:5:2"},"variableNames":[{"name":"lastPIn","nativeSrc":"7421:7:2","nodeType":"YulIdentifier","src":"7421:7:2"}]},{"body":{"nativeSrc":"7640:165:2","nodeType":"YulBlock","src":"7640:165:2","statements":[{"nativeSrc":"7662:34:2","nodeType":"YulAssignment","src":"7662:34:2","value":{"arguments":[{"name":"acc","nativeSrc":"7676:3:2","nodeType":"YulIdentifier","src":"7676:3:2"},{"arguments":[{"name":"pAux","nativeSrc":"7687:4:2","nodeType":"YulIdentifier","src":"7687:4:2"}],"functionName":{"name":"mload","nativeSrc":"7681:5:2","nodeType":"YulIdentifier","src":"7681:5:2"},"nativeSrc":"7681:11:2","nodeType":"YulFunctionCall","src":"7681:11:2"},{"name":"q","nativeSrc":"7694:1:2","nodeType":"YulIdentifier","src":"7694:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"7669:6:2","nodeType":"YulIdentifier","src":"7669:6:2"},"nativeSrc":"7669:27:2","nodeType":"YulFunctionCall","src":"7669:27:2"},"variableNames":[{"name":"inv","nativeSrc":"7662:3:2","nodeType":"YulIdentifier","src":"7662:3:2"}]},{"nativeSrc":"7717:33:2","nodeType":"YulAssignment","src":"7717:33:2","value":{"arguments":[{"name":"acc","nativeSrc":"7731:3:2","nodeType":"YulIdentifier","src":"7731:3:2"},{"arguments":[{"name":"pIn","nativeSrc":"7742:3:2","nodeType":"YulIdentifier","src":"7742:3:2"}],"functionName":{"name":"mload","nativeSrc":"7736:5:2","nodeType":"YulIdentifier","src":"7736:5:2"},"nativeSrc":"7736:10:2","nodeType":"YulFunctionCall","src":"7736:10:2"},{"name":"q","nativeSrc":"7748:1:2","nodeType":"YulIdentifier","src":"7748:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"7724:6:2","nodeType":"YulIdentifier","src":"7724:6:2"},"nativeSrc":"7724:26:2","nodeType":"YulFunctionCall","src":"7724:26:2"},"variableNames":[{"name":"acc","nativeSrc":"7717:3:2","nodeType":"YulIdentifier","src":"7717:3:2"}]},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7778:3:2","nodeType":"YulIdentifier","src":"7778:3:2"},{"name":"inv","nativeSrc":"7783:3:2","nodeType":"YulIdentifier","src":"7783:3:2"}],"functionName":{"name":"mstore","nativeSrc":"7771:6:2","nodeType":"YulIdentifier","src":"7771:6:2"},"nativeSrc":"7771:16:2","nodeType":"YulFunctionCall","src":"7771:16:2"},"nativeSrc":"7771:16:2","nodeType":"YulExpressionStatement","src":"7771:16:2"}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"7505:3:2","nodeType":"YulIdentifier","src":"7505:3:2"},{"name":"lastPIn","nativeSrc":"7510:7:2","nodeType":"YulIdentifier","src":"7510:7:2"}],"functionName":{"name":"gt","nativeSrc":"7502:2:2","nodeType":"YulIdentifier","src":"7502:2:2"},"nativeSrc":"7502:16:2","nodeType":"YulFunctionCall","src":"7502:16:2"},"nativeSrc":"7494:311:2","nodeType":"YulForLoop","post":{"nativeSrc":"7519:103:2","nodeType":"YulBlock","src":"7519:103:2","statements":[{"nativeSrc":"7542:21:2","nodeType":"YulAssignment","src":"7542:21:2","value":{"arguments":[{"name":"pAux","nativeSrc":"7554:4:2","nodeType":"YulIdentifier","src":"7554:4:2"},{"kind":"number","nativeSrc":"7560:2:2","nodeType":"YulLiteral","src":"7560:2:2","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7550:3:2","nodeType":"YulIdentifier","src":"7550:3:2"},"nativeSrc":"7550:13:2","nodeType":"YulFunctionCall","src":"7550:13:2"},"variableNames":[{"name":"pAux","nativeSrc":"7542:4:2","nodeType":"YulIdentifier","src":"7542:4:2"}]},{"nativeSrc":"7585:19:2","nodeType":"YulAssignment","src":"7585:19:2","value":{"arguments":[{"name":"pIn","nativeSrc":"7596:3:2","nodeType":"YulIdentifier","src":"7596:3:2"},{"kind":"number","nativeSrc":"7601:2:2","nodeType":"YulLiteral","src":"7601:2:2","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7592:3:2","nodeType":"YulIdentifier","src":"7592:3:2"},"nativeSrc":"7592:12:2","nodeType":"YulFunctionCall","src":"7592:12:2"},"variableNames":[{"name":"pIn","nativeSrc":"7585:3:2","nodeType":"YulIdentifier","src":"7585:3:2"}]}]},"pre":{"nativeSrc":"7498:3:2","nodeType":"YulBlock","src":"7498:3:2","statements":[]},"src":"7494:311:2"},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7893:3:2","nodeType":"YulIdentifier","src":"7893:3:2"},{"name":"acc","nativeSrc":"7898:3:2","nodeType":"YulIdentifier","src":"7898:3:2"}],"functionName":{"name":"mstore","nativeSrc":"7886:6:2","nodeType":"YulIdentifier","src":"7886:6:2"},"nativeSrc":"7886:16:2","nodeType":"YulFunctionCall","src":"7886:16:2"},"nativeSrc":"7886:16:2","nodeType":"YulExpressionStatement","src":"7886:16:2"}]},"name":"inverseArray","nativeSrc":"6399:1517:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pVals","nativeSrc":"6421:5:2","nodeType":"YulTypedName","src":"6421:5:2","type":""},{"name":"n","nativeSrc":"6428:1:2","nodeType":"YulTypedName","src":"6428:1:2","type":""}],"src":"6399:1517:2"},{"body":{"nativeSrc":"7965:139:2","nodeType":"YulBlock","src":"7965:139:2","statements":[{"body":{"nativeSrc":"8003:87:2","nodeType":"YulBlock","src":"8003:87:2","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8032:1:2","nodeType":"YulLiteral","src":"8032:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"8035:1:2","nodeType":"YulLiteral","src":"8035:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8025:6:2","nodeType":"YulIdentifier","src":"8025:6:2"},"nativeSrc":"8025:12:2","nodeType":"YulFunctionCall","src":"8025:12:2"},"nativeSrc":"8025:12:2","nodeType":"YulExpressionStatement","src":"8025:12:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8065:1:2","nodeType":"YulLiteral","src":"8065:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"8067:4:2","nodeType":"YulLiteral","src":"8067:4:2","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8058:6:2","nodeType":"YulIdentifier","src":"8058:6:2"},"nativeSrc":"8058:14:2","nodeType":"YulFunctionCall","src":"8058:14:2"},"nativeSrc":"8058:14:2","nodeType":"YulExpressionStatement","src":"8058:14:2"}]},"condition":{"arguments":[{"arguments":[{"name":"v","nativeSrc":"7996:1:2","nodeType":"YulIdentifier","src":"7996:1:2"},{"name":"q","nativeSrc":"7999:1:2","nodeType":"YulIdentifier","src":"7999:1:2"}],"functionName":{"name":"lt","nativeSrc":"7993:2:2","nodeType":"YulIdentifier","src":"7993:2:2"},"nativeSrc":"7993:8:2","nodeType":"YulFunctionCall","src":"7993:8:2"}],"functionName":{"name":"iszero","nativeSrc":"7986:6:2","nodeType":"YulIdentifier","src":"7986:6:2"},"nativeSrc":"7986:16:2","nodeType":"YulFunctionCall","src":"7986:16:2"},"nativeSrc":"7983:107:2","nodeType":"YulIf","src":"7983:107:2"}]},"name":"checkField","nativeSrc":"7942:162:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"v","nativeSrc":"7962:1:2","nodeType":"YulTypedName","src":"7962:1:2","type":""}],"src":"7942:162:2"},{"body":{"nativeSrc":"8158:640:2","nodeType":"YulBlock","src":"8158:640:2","statements":[{"body":{"nativeSrc":"8211:87:2","nodeType":"YulBlock","src":"8211:87:2","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8240:1:2","nodeType":"YulLiteral","src":"8240:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"8243:1:2","nodeType":"YulLiteral","src":"8243:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8233:6:2","nodeType":"YulIdentifier","src":"8233:6:2"},"nativeSrc":"8233:12:2","nodeType":"YulFunctionCall","src":"8233:12:2"},"nativeSrc":"8233:12:2","nodeType":"YulExpressionStatement","src":"8233:12:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8273:1:2","nodeType":"YulLiteral","src":"8273:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"8275:4:2","nodeType":"YulLiteral","src":"8275:4:2","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8266:6:2","nodeType":"YulIdentifier","src":"8266:6:2"},"nativeSrc":"8266:14:2","nodeType":"YulFunctionCall","src":"8266:14:2"},"nativeSrc":"8266:14:2","nodeType":"YulExpressionStatement","src":"8266:14:2"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8195:6:2","nodeType":"YulIdentifier","src":"8195:6:2"}],"functionName":{"name":"mload","nativeSrc":"8189:5:2","nodeType":"YulIdentifier","src":"8189:5:2"},"nativeSrc":"8189:13:2","nodeType":"YulFunctionCall","src":"8189:13:2"},{"kind":"number","nativeSrc":"8204:3:2","nodeType":"YulLiteral","src":"8204:3:2","type":"","value":"800"}],"functionName":{"name":"eq","nativeSrc":"8186:2:2","nodeType":"YulIdentifier","src":"8186:2:2"},"nativeSrc":"8186:23:2","nodeType":"YulFunctionCall","src":"8186:23:2"}],"functionName":{"name":"iszero","nativeSrc":"8179:6:2","nodeType":"YulIdentifier","src":"8179:6:2"},"nativeSrc":"8179:31:2","nodeType":"YulFunctionCall","src":"8179:31:2"},"nativeSrc":"8176:122:2","nodeType":"YulIf","src":"8176:122:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8336:6:2","nodeType":"YulIdentifier","src":"8336:6:2"},{"name":"pEval_a","nativeSrc":"8344:7:2","nodeType":"YulIdentifier","src":"8344:7:2"}],"functionName":{"name":"add","nativeSrc":"8332:3:2","nodeType":"YulIdentifier","src":"8332:3:2"},"nativeSrc":"8332:20:2","nodeType":"YulFunctionCall","src":"8332:20:2"}],"functionName":{"name":"mload","nativeSrc":"8326:5:2","nodeType":"YulIdentifier","src":"8326:5:2"},"nativeSrc":"8326:27:2","nodeType":"YulFunctionCall","src":"8326:27:2"}],"functionName":{"name":"checkField","nativeSrc":"8315:10:2","nodeType":"YulIdentifier","src":"8315:10:2"},"nativeSrc":"8315:39:2","nodeType":"YulFunctionCall","src":"8315:39:2"},"nativeSrc":"8315:39:2","nodeType":"YulExpressionStatement","src":"8315:39:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8392:6:2","nodeType":"YulIdentifier","src":"8392:6:2"},{"name":"pEval_b","nativeSrc":"8400:7:2","nodeType":"YulIdentifier","src":"8400:7:2"}],"functionName":{"name":"add","nativeSrc":"8388:3:2","nodeType":"YulIdentifier","src":"8388:3:2"},"nativeSrc":"8388:20:2","nodeType":"YulFunctionCall","src":"8388:20:2"}],"functionName":{"name":"mload","nativeSrc":"8382:5:2","nodeType":"YulIdentifier","src":"8382:5:2"},"nativeSrc":"8382:27:2","nodeType":"YulFunctionCall","src":"8382:27:2"}],"functionName":{"name":"checkField","nativeSrc":"8371:10:2","nodeType":"YulIdentifier","src":"8371:10:2"},"nativeSrc":"8371:39:2","nodeType":"YulFunctionCall","src":"8371:39:2"},"nativeSrc":"8371:39:2","nodeType":"YulExpressionStatement","src":"8371:39:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8448:6:2","nodeType":"YulIdentifier","src":"8448:6:2"},{"name":"pEval_c","nativeSrc":"8456:7:2","nodeType":"YulIdentifier","src":"8456:7:2"}],"functionName":{"name":"add","nativeSrc":"8444:3:2","nodeType":"YulIdentifier","src":"8444:3:2"},"nativeSrc":"8444:20:2","nodeType":"YulFunctionCall","src":"8444:20:2"}],"functionName":{"name":"mload","nativeSrc":"8438:5:2","nodeType":"YulIdentifier","src":"8438:5:2"},"nativeSrc":"8438:27:2","nodeType":"YulFunctionCall","src":"8438:27:2"}],"functionName":{"name":"checkField","nativeSrc":"8427:10:2","nodeType":"YulIdentifier","src":"8427:10:2"},"nativeSrc":"8427:39:2","nodeType":"YulFunctionCall","src":"8427:39:2"},"nativeSrc":"8427:39:2","nodeType":"YulExpressionStatement","src":"8427:39:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8504:6:2","nodeType":"YulIdentifier","src":"8504:6:2"},{"name":"pEval_s1","nativeSrc":"8512:8:2","nodeType":"YulIdentifier","src":"8512:8:2"}],"functionName":{"name":"add","nativeSrc":"8500:3:2","nodeType":"YulIdentifier","src":"8500:3:2"},"nativeSrc":"8500:21:2","nodeType":"YulFunctionCall","src":"8500:21:2"}],"functionName":{"name":"mload","nativeSrc":"8494:5:2","nodeType":"YulIdentifier","src":"8494:5:2"},"nativeSrc":"8494:28:2","nodeType":"YulFunctionCall","src":"8494:28:2"}],"functionName":{"name":"checkField","nativeSrc":"8483:10:2","nodeType":"YulIdentifier","src":"8483:10:2"},"nativeSrc":"8483:40:2","nodeType":"YulFunctionCall","src":"8483:40:2"},"nativeSrc":"8483:40:2","nodeType":"YulExpressionStatement","src":"8483:40:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8561:6:2","nodeType":"YulIdentifier","src":"8561:6:2"},{"name":"pEval_s2","nativeSrc":"8569:8:2","nodeType":"YulIdentifier","src":"8569:8:2"}],"functionName":{"name":"add","nativeSrc":"8557:3:2","nodeType":"YulIdentifier","src":"8557:3:2"},"nativeSrc":"8557:21:2","nodeType":"YulFunctionCall","src":"8557:21:2"}],"functionName":{"name":"mload","nativeSrc":"8551:5:2","nodeType":"YulIdentifier","src":"8551:5:2"},"nativeSrc":"8551:28:2","nodeType":"YulFunctionCall","src":"8551:28:2"}],"functionName":{"name":"checkField","nativeSrc":"8540:10:2","nodeType":"YulIdentifier","src":"8540:10:2"},"nativeSrc":"8540:40:2","nodeType":"YulFunctionCall","src":"8540:40:2"},"nativeSrc":"8540:40:2","nodeType":"YulExpressionStatement","src":"8540:40:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8618:6:2","nodeType":"YulIdentifier","src":"8618:6:2"},{"name":"pEval_zw","nativeSrc":"8626:8:2","nodeType":"YulIdentifier","src":"8626:8:2"}],"functionName":{"name":"add","nativeSrc":"8614:3:2","nodeType":"YulIdentifier","src":"8614:3:2"},"nativeSrc":"8614:21:2","nodeType":"YulFunctionCall","src":"8614:21:2"}],"functionName":{"name":"mload","nativeSrc":"8608:5:2","nodeType":"YulIdentifier","src":"8608:5:2"},"nativeSrc":"8608:28:2","nodeType":"YulFunctionCall","src":"8608:28:2"}],"functionName":{"name":"checkField","nativeSrc":"8597:10:2","nodeType":"YulIdentifier","src":"8597:10:2"},"nativeSrc":"8597:40:2","nodeType":"YulFunctionCall","src":"8597:40:2"},"nativeSrc":"8597:40:2","nodeType":"YulExpressionStatement","src":"8597:40:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8675:6:2","nodeType":"YulIdentifier","src":"8675:6:2"},{"name":"pEval_r","nativeSrc":"8683:7:2","nodeType":"YulIdentifier","src":"8683:7:2"}],"functionName":{"name":"add","nativeSrc":"8671:3:2","nodeType":"YulIdentifier","src":"8671:3:2"},"nativeSrc":"8671:20:2","nodeType":"YulFunctionCall","src":"8671:20:2"}],"functionName":{"name":"mload","nativeSrc":"8665:5:2","nodeType":"YulIdentifier","src":"8665:5:2"},"nativeSrc":"8665:27:2","nodeType":"YulFunctionCall","src":"8665:27:2"}],"functionName":{"name":"checkField","nativeSrc":"8654:10:2","nodeType":"YulIdentifier","src":"8654:10:2"},"nativeSrc":"8654:39:2","nodeType":"YulFunctionCall","src":"8654:39:2"},"nativeSrc":"8654:39:2","nodeType":"YulExpressionStatement","src":"8654:39:2"}]},"name":"checkInput","nativeSrc":"8130:668:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8150:6:2","nodeType":"YulTypedName","src":"8150:6:2","type":""}],"src":"8130:668:2"},{"body":{"nativeSrc":"8876:2776:2","nodeType":"YulBlock","src":"8876:2776:2","statements":[{"nativeSrc":"8907:5:2","nodeType":"YulVariableDeclaration","src":"8907:5:2","variables":[{"name":"a","nativeSrc":"8911:1:2","nodeType":"YulTypedName","src":"8911:1:2","type":""}]},{"nativeSrc":"8929:5:2","nodeType":"YulVariableDeclaration","src":"8929:5:2","variables":[{"name":"b","nativeSrc":"8933:1:2","nodeType":"YulTypedName","src":"8933:1:2","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"8981:4:2","nodeType":"YulIdentifier","src":"8981:4:2"},{"kind":"number","nativeSrc":"8987:3:2","nodeType":"YulLiteral","src":"8987:3:2","type":"","value":"704"}],"functionName":{"name":"add","nativeSrc":"8977:3:2","nodeType":"YulIdentifier","src":"8977:3:2"},"nativeSrc":"8977:15:2","nodeType":"YulFunctionCall","src":"8977:15:2"},{"arguments":[{"arguments":[{"name":"pPublic","nativeSrc":"9006:7:2","nodeType":"YulIdentifier","src":"9006:7:2"},{"kind":"number","nativeSrc":"9015:2:2","nodeType":"YulLiteral","src":"9015:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9001:3:2","nodeType":"YulIdentifier","src":"9001:3:2"},"nativeSrc":"9001:17:2","nodeType":"YulFunctionCall","src":"9001:17:2"}],"functionName":{"name":"mload","nativeSrc":"8994:5:2","nodeType":"YulIdentifier","src":"8994:5:2"},"nativeSrc":"8994:25:2","nodeType":"YulFunctionCall","src":"8994:25:2"}],"functionName":{"name":"mstore","nativeSrc":"8969:6:2","nodeType":"YulIdentifier","src":"8969:6:2"},"nativeSrc":"8969:51:2","nodeType":"YulFunctionCall","src":"8969:51:2"},"nativeSrc":"8969:51:2","nodeType":"YulExpressionStatement","src":"8969:51:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9066:4:2","nodeType":"YulIdentifier","src":"9066:4:2"},{"kind":"number","nativeSrc":"9072:3:2","nodeType":"YulLiteral","src":"9072:3:2","type":"","value":"736"}],"functionName":{"name":"add","nativeSrc":"9062:3:2","nodeType":"YulIdentifier","src":"9062:3:2"},"nativeSrc":"9062:15:2","nodeType":"YulFunctionCall","src":"9062:15:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9091:6:2","nodeType":"YulIdentifier","src":"9091:6:2"},{"name":"pA","nativeSrc":"9099:2:2","nodeType":"YulIdentifier","src":"9099:2:2"}],"functionName":{"name":"add","nativeSrc":"9086:3:2","nodeType":"YulIdentifier","src":"9086:3:2"},"nativeSrc":"9086:16:2","nodeType":"YulFunctionCall","src":"9086:16:2"}],"functionName":{"name":"mload","nativeSrc":"9079:5:2","nodeType":"YulIdentifier","src":"9079:5:2"},"nativeSrc":"9079:24:2","nodeType":"YulFunctionCall","src":"9079:24:2"}],"functionName":{"name":"mstore","nativeSrc":"9054:6:2","nodeType":"YulIdentifier","src":"9054:6:2"},"nativeSrc":"9054:50:2","nodeType":"YulFunctionCall","src":"9054:50:2"},"nativeSrc":"9054:50:2","nodeType":"YulExpressionStatement","src":"9054:50:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9133:4:2","nodeType":"YulIdentifier","src":"9133:4:2"},{"kind":"number","nativeSrc":"9139:3:2","nodeType":"YulLiteral","src":"9139:3:2","type":"","value":"768"}],"functionName":{"name":"add","nativeSrc":"9129:3:2","nodeType":"YulIdentifier","src":"9129:3:2"},"nativeSrc":"9129:15:2","nodeType":"YulFunctionCall","src":"9129:15:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9158:6:2","nodeType":"YulIdentifier","src":"9158:6:2"},{"arguments":[{"name":"pA","nativeSrc":"9170:2:2","nodeType":"YulIdentifier","src":"9170:2:2"},{"kind":"number","nativeSrc":"9173:2:2","nodeType":"YulLiteral","src":"9173:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9166:3:2","nodeType":"YulIdentifier","src":"9166:3:2"},"nativeSrc":"9166:10:2","nodeType":"YulFunctionCall","src":"9166:10:2"}],"functionName":{"name":"add","nativeSrc":"9153:3:2","nodeType":"YulIdentifier","src":"9153:3:2"},"nativeSrc":"9153:24:2","nodeType":"YulFunctionCall","src":"9153:24:2"}],"functionName":{"name":"mload","nativeSrc":"9146:5:2","nodeType":"YulIdentifier","src":"9146:5:2"},"nativeSrc":"9146:32:2","nodeType":"YulFunctionCall","src":"9146:32:2"}],"functionName":{"name":"mstore","nativeSrc":"9121:6:2","nodeType":"YulIdentifier","src":"9121:6:2"},"nativeSrc":"9121:58:2","nodeType":"YulFunctionCall","src":"9121:58:2"},"nativeSrc":"9121:58:2","nodeType":"YulExpressionStatement","src":"9121:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9208:4:2","nodeType":"YulIdentifier","src":"9208:4:2"},{"kind":"number","nativeSrc":"9214:3:2","nodeType":"YulLiteral","src":"9214:3:2","type":"","value":"800"}],"functionName":{"name":"add","nativeSrc":"9204:3:2","nodeType":"YulIdentifier","src":"9204:3:2"},"nativeSrc":"9204:15:2","nodeType":"YulFunctionCall","src":"9204:15:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9233:6:2","nodeType":"YulIdentifier","src":"9233:6:2"},{"arguments":[{"name":"pA","nativeSrc":"9245:2:2","nodeType":"YulIdentifier","src":"9245:2:2"},{"kind":"number","nativeSrc":"9248:2:2","nodeType":"YulLiteral","src":"9248:2:2","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"9241:3:2","nodeType":"YulIdentifier","src":"9241:3:2"},"nativeSrc":"9241:10:2","nodeType":"YulFunctionCall","src":"9241:10:2"}],"functionName":{"name":"add","nativeSrc":"9228:3:2","nodeType":"YulIdentifier","src":"9228:3:2"},"nativeSrc":"9228:24:2","nodeType":"YulFunctionCall","src":"9228:24:2"}],"functionName":{"name":"mload","nativeSrc":"9221:5:2","nodeType":"YulIdentifier","src":"9221:5:2"},"nativeSrc":"9221:32:2","nodeType":"YulFunctionCall","src":"9221:32:2"}],"functionName":{"name":"mstore","nativeSrc":"9196:6:2","nodeType":"YulIdentifier","src":"9196:6:2"},"nativeSrc":"9196:58:2","nodeType":"YulFunctionCall","src":"9196:58:2"},"nativeSrc":"9196:58:2","nodeType":"YulExpressionStatement","src":"9196:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9283:4:2","nodeType":"YulIdentifier","src":"9283:4:2"},{"kind":"number","nativeSrc":"9289:3:2","nodeType":"YulLiteral","src":"9289:3:2","type":"","value":"832"}],"functionName":{"name":"add","nativeSrc":"9279:3:2","nodeType":"YulIdentifier","src":"9279:3:2"},"nativeSrc":"9279:15:2","nodeType":"YulFunctionCall","src":"9279:15:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9308:6:2","nodeType":"YulIdentifier","src":"9308:6:2"},{"arguments":[{"name":"pA","nativeSrc":"9320:2:2","nodeType":"YulIdentifier","src":"9320:2:2"},{"kind":"number","nativeSrc":"9323:2:2","nodeType":"YulLiteral","src":"9323:2:2","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"9316:3:2","nodeType":"YulIdentifier","src":"9316:3:2"},"nativeSrc":"9316:10:2","nodeType":"YulFunctionCall","src":"9316:10:2"}],"functionName":{"name":"add","nativeSrc":"9303:3:2","nodeType":"YulIdentifier","src":"9303:3:2"},"nativeSrc":"9303:24:2","nodeType":"YulFunctionCall","src":"9303:24:2"}],"functionName":{"name":"mload","nativeSrc":"9296:5:2","nodeType":"YulIdentifier","src":"9296:5:2"},"nativeSrc":"9296:32:2","nodeType":"YulFunctionCall","src":"9296:32:2"}],"functionName":{"name":"mstore","nativeSrc":"9271:6:2","nodeType":"YulIdentifier","src":"9271:6:2"},"nativeSrc":"9271:58:2","nodeType":"YulFunctionCall","src":"9271:58:2"},"nativeSrc":"9271:58:2","nodeType":"YulExpressionStatement","src":"9271:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9358:4:2","nodeType":"YulIdentifier","src":"9358:4:2"},{"kind":"number","nativeSrc":"9364:3:2","nodeType":"YulLiteral","src":"9364:3:2","type":"","value":"864"}],"functionName":{"name":"add","nativeSrc":"9354:3:2","nodeType":"YulIdentifier","src":"9354:3:2"},"nativeSrc":"9354:15:2","nodeType":"YulFunctionCall","src":"9354:15:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9383:6:2","nodeType":"YulIdentifier","src":"9383:6:2"},{"arguments":[{"name":"pA","nativeSrc":"9395:2:2","nodeType":"YulIdentifier","src":"9395:2:2"},{"kind":"number","nativeSrc":"9398:3:2","nodeType":"YulLiteral","src":"9398:3:2","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"9391:3:2","nodeType":"YulIdentifier","src":"9391:3:2"},"nativeSrc":"9391:11:2","nodeType":"YulFunctionCall","src":"9391:11:2"}],"functionName":{"name":"add","nativeSrc":"9378:3:2","nodeType":"YulIdentifier","src":"9378:3:2"},"nativeSrc":"9378:25:2","nodeType":"YulFunctionCall","src":"9378:25:2"}],"functionName":{"name":"mload","nativeSrc":"9371:5:2","nodeType":"YulIdentifier","src":"9371:5:2"},"nativeSrc":"9371:33:2","nodeType":"YulFunctionCall","src":"9371:33:2"}],"functionName":{"name":"mstore","nativeSrc":"9346:6:2","nodeType":"YulIdentifier","src":"9346:6:2"},"nativeSrc":"9346:59:2","nodeType":"YulFunctionCall","src":"9346:59:2"},"nativeSrc":"9346:59:2","nodeType":"YulExpressionStatement","src":"9346:59:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9434:4:2","nodeType":"YulIdentifier","src":"9434:4:2"},{"kind":"number","nativeSrc":"9440:3:2","nodeType":"YulLiteral","src":"9440:3:2","type":"","value":"896"}],"functionName":{"name":"add","nativeSrc":"9430:3:2","nodeType":"YulIdentifier","src":"9430:3:2"},"nativeSrc":"9430:15:2","nodeType":"YulFunctionCall","src":"9430:15:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9459:6:2","nodeType":"YulIdentifier","src":"9459:6:2"},{"arguments":[{"name":"pA","nativeSrc":"9471:2:2","nodeType":"YulIdentifier","src":"9471:2:2"},{"kind":"number","nativeSrc":"9474:3:2","nodeType":"YulLiteral","src":"9474:3:2","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"9467:3:2","nodeType":"YulIdentifier","src":"9467:3:2"},"nativeSrc":"9467:11:2","nodeType":"YulFunctionCall","src":"9467:11:2"}],"functionName":{"name":"add","nativeSrc":"9454:3:2","nodeType":"YulIdentifier","src":"9454:3:2"},"nativeSrc":"9454:25:2","nodeType":"YulFunctionCall","src":"9454:25:2"}],"functionName":{"name":"mload","nativeSrc":"9447:5:2","nodeType":"YulIdentifier","src":"9447:5:2"},"nativeSrc":"9447:33:2","nodeType":"YulFunctionCall","src":"9447:33:2"}],"functionName":{"name":"mstore","nativeSrc":"9422:6:2","nodeType":"YulIdentifier","src":"9422:6:2"},"nativeSrc":"9422:59:2","nodeType":"YulFunctionCall","src":"9422:59:2"},"nativeSrc":"9422:59:2","nodeType":"YulExpressionStatement","src":"9422:59:2"},{"nativeSrc":"9515:47:2","nodeType":"YulAssignment","src":"9515:47:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9538:4:2","nodeType":"YulIdentifier","src":"9538:4:2"},{"name":"lastMem","nativeSrc":"9544:7:2","nodeType":"YulIdentifier","src":"9544:7:2"}],"functionName":{"name":"add","nativeSrc":"9534:3:2","nodeType":"YulIdentifier","src":"9534:3:2"},"nativeSrc":"9534:18:2","nodeType":"YulFunctionCall","src":"9534:18:2"},{"kind":"number","nativeSrc":"9554:3:2","nodeType":"YulLiteral","src":"9554:3:2","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"9524:9:2","nodeType":"YulIdentifier","src":"9524:9:2"},"nativeSrc":"9524:34:2","nodeType":"YulFunctionCall","src":"9524:34:2"},{"name":"q","nativeSrc":"9560:1:2","nodeType":"YulIdentifier","src":"9560:1:2"}],"functionName":{"name":"mod","nativeSrc":"9520:3:2","nodeType":"YulIdentifier","src":"9520:3:2"},"nativeSrc":"9520:42:2","nodeType":"YulFunctionCall","src":"9520:42:2"},"variableNames":[{"name":"b","nativeSrc":"9515:1:2","nodeType":"YulIdentifier","src":"9515:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9592:4:2","nodeType":"YulIdentifier","src":"9592:4:2"},{"name":"pBeta","nativeSrc":"9598:5:2","nodeType":"YulIdentifier","src":"9598:5:2"}],"functionName":{"name":"add","nativeSrc":"9588:3:2","nodeType":"YulIdentifier","src":"9588:3:2"},"nativeSrc":"9588:16:2","nodeType":"YulFunctionCall","src":"9588:16:2"},{"name":"b","nativeSrc":"9606:1:2","nodeType":"YulIdentifier","src":"9606:1:2"}],"functionName":{"name":"mstore","nativeSrc":"9580:6:2","nodeType":"YulIdentifier","src":"9580:6:2"},"nativeSrc":"9580:28:2","nodeType":"YulFunctionCall","src":"9580:28:2"},"nativeSrc":"9580:28:2","nodeType":"YulExpressionStatement","src":"9580:28:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9637:4:2","nodeType":"YulIdentifier","src":"9637:4:2"},{"name":"pGamma","nativeSrc":"9643:6:2","nodeType":"YulIdentifier","src":"9643:6:2"}],"functionName":{"name":"add","nativeSrc":"9633:3:2","nodeType":"YulIdentifier","src":"9633:3:2"},"nativeSrc":"9633:17:2","nodeType":"YulFunctionCall","src":"9633:17:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9670:4:2","nodeType":"YulIdentifier","src":"9670:4:2"},{"name":"pBeta","nativeSrc":"9676:5:2","nodeType":"YulIdentifier","src":"9676:5:2"}],"functionName":{"name":"add","nativeSrc":"9666:3:2","nodeType":"YulIdentifier","src":"9666:3:2"},"nativeSrc":"9666:16:2","nodeType":"YulFunctionCall","src":"9666:16:2"},{"kind":"number","nativeSrc":"9684:2:2","nodeType":"YulLiteral","src":"9684:2:2","type":"","value":"32"}],"functionName":{"name":"keccak256","nativeSrc":"9656:9:2","nodeType":"YulIdentifier","src":"9656:9:2"},"nativeSrc":"9656:31:2","nodeType":"YulFunctionCall","src":"9656:31:2"},{"name":"q","nativeSrc":"9689:1:2","nodeType":"YulIdentifier","src":"9689:1:2"}],"functionName":{"name":"mod","nativeSrc":"9652:3:2","nodeType":"YulIdentifier","src":"9652:3:2"},"nativeSrc":"9652:39:2","nodeType":"YulFunctionCall","src":"9652:39:2"}],"functionName":{"name":"mstore","nativeSrc":"9625:6:2","nodeType":"YulIdentifier","src":"9625:6:2"},"nativeSrc":"9625:67:2","nodeType":"YulFunctionCall","src":"9625:67:2"},"nativeSrc":"9625:67:2","nodeType":"YulExpressionStatement","src":"9625:67:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9721:4:2","nodeType":"YulIdentifier","src":"9721:4:2"},{"name":"pAlpha","nativeSrc":"9727:6:2","nodeType":"YulIdentifier","src":"9727:6:2"}],"functionName":{"name":"add","nativeSrc":"9717:3:2","nodeType":"YulIdentifier","src":"9717:3:2"},"nativeSrc":"9717:17:2","nodeType":"YulFunctionCall","src":"9717:17:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9754:6:2","nodeType":"YulIdentifier","src":"9754:6:2"},{"name":"pZ","nativeSrc":"9762:2:2","nodeType":"YulIdentifier","src":"9762:2:2"}],"functionName":{"name":"add","nativeSrc":"9750:3:2","nodeType":"YulIdentifier","src":"9750:3:2"},"nativeSrc":"9750:15:2","nodeType":"YulFunctionCall","src":"9750:15:2"},{"kind":"number","nativeSrc":"9767:2:2","nodeType":"YulLiteral","src":"9767:2:2","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"9740:9:2","nodeType":"YulIdentifier","src":"9740:9:2"},"nativeSrc":"9740:30:2","nodeType":"YulFunctionCall","src":"9740:30:2"},{"name":"q","nativeSrc":"9772:1:2","nodeType":"YulIdentifier","src":"9772:1:2"}],"functionName":{"name":"mod","nativeSrc":"9736:3:2","nodeType":"YulIdentifier","src":"9736:3:2"},"nativeSrc":"9736:38:2","nodeType":"YulFunctionCall","src":"9736:38:2"}],"functionName":{"name":"mstore","nativeSrc":"9709:6:2","nodeType":"YulIdentifier","src":"9709:6:2"},"nativeSrc":"9709:66:2","nodeType":"YulFunctionCall","src":"9709:66:2"},"nativeSrc":"9709:66:2","nodeType":"YulExpressionStatement","src":"9709:66:2"},{"nativeSrc":"9809:45:2","nodeType":"YulAssignment","src":"9809:45:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9832:6:2","nodeType":"YulIdentifier","src":"9832:6:2"},{"name":"pT1","nativeSrc":"9840:3:2","nodeType":"YulIdentifier","src":"9840:3:2"}],"functionName":{"name":"add","nativeSrc":"9828:3:2","nodeType":"YulIdentifier","src":"9828:3:2"},"nativeSrc":"9828:16:2","nodeType":"YulFunctionCall","src":"9828:16:2"},{"kind":"number","nativeSrc":"9846:3:2","nodeType":"YulLiteral","src":"9846:3:2","type":"","value":"192"}],"functionName":{"name":"keccak256","nativeSrc":"9818:9:2","nodeType":"YulIdentifier","src":"9818:9:2"},"nativeSrc":"9818:32:2","nodeType":"YulFunctionCall","src":"9818:32:2"},{"name":"q","nativeSrc":"9852:1:2","nodeType":"YulIdentifier","src":"9852:1:2"}],"functionName":{"name":"mod","nativeSrc":"9814:3:2","nodeType":"YulIdentifier","src":"9814:3:2"},"nativeSrc":"9814:40:2","nodeType":"YulFunctionCall","src":"9814:40:2"},"variableNames":[{"name":"a","nativeSrc":"9809:1:2","nodeType":"YulIdentifier","src":"9809:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9883:4:2","nodeType":"YulIdentifier","src":"9883:4:2"},{"name":"pXi","nativeSrc":"9889:3:2","nodeType":"YulIdentifier","src":"9889:3:2"}],"functionName":{"name":"add","nativeSrc":"9879:3:2","nodeType":"YulIdentifier","src":"9879:3:2"},"nativeSrc":"9879:14:2","nodeType":"YulFunctionCall","src":"9879:14:2"},{"name":"a","nativeSrc":"9895:1:2","nodeType":"YulIdentifier","src":"9895:1:2"}],"functionName":{"name":"mstore","nativeSrc":"9871:6:2","nodeType":"YulIdentifier","src":"9871:6:2"},"nativeSrc":"9871:26:2","nodeType":"YulFunctionCall","src":"9871:26:2"},"nativeSrc":"9871:26:2","nodeType":"YulExpressionStatement","src":"9871:26:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9926:4:2","nodeType":"YulIdentifier","src":"9926:4:2"},{"name":"pBetaXi","nativeSrc":"9932:7:2","nodeType":"YulIdentifier","src":"9932:7:2"}],"functionName":{"name":"add","nativeSrc":"9922:3:2","nodeType":"YulIdentifier","src":"9922:3:2"},"nativeSrc":"9922:18:2","nodeType":"YulFunctionCall","src":"9922:18:2"},{"arguments":[{"name":"b","nativeSrc":"9949:1:2","nodeType":"YulIdentifier","src":"9949:1:2"},{"name":"a","nativeSrc":"9952:1:2","nodeType":"YulIdentifier","src":"9952:1:2"},{"name":"q","nativeSrc":"9955:1:2","nodeType":"YulIdentifier","src":"9955:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"9942:6:2","nodeType":"YulIdentifier","src":"9942:6:2"},"nativeSrc":"9942:15:2","nodeType":"YulFunctionCall","src":"9942:15:2"}],"functionName":{"name":"mstore","nativeSrc":"9914:6:2","nodeType":"YulIdentifier","src":"9914:6:2"},"nativeSrc":"9914:44:2","nodeType":"YulFunctionCall","src":"9914:44:2"},"nativeSrc":"9914:44:2","nodeType":"YulExpressionStatement","src":"9914:44:2"},{"nativeSrc":"9992:19:2","nodeType":"YulAssignment","src":"9992:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10003:1:2","nodeType":"YulIdentifier","src":"10003:1:2"},{"name":"a","nativeSrc":"10006:1:2","nodeType":"YulIdentifier","src":"10006:1:2"},{"name":"q","nativeSrc":"10009:1:2","nodeType":"YulIdentifier","src":"10009:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"9996:6:2","nodeType":"YulIdentifier","src":"9996:6:2"},"nativeSrc":"9996:15:2","nodeType":"YulFunctionCall","src":"9996:15:2"},"variableNames":[{"name":"a","nativeSrc":"9992:1:2","nodeType":"YulIdentifier","src":"9992:1:2"}]},{"nativeSrc":"10045:19:2","nodeType":"YulAssignment","src":"10045:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10056:1:2","nodeType":"YulIdentifier","src":"10056:1:2"},{"name":"a","nativeSrc":"10059:1:2","nodeType":"YulIdentifier","src":"10059:1:2"},{"name":"q","nativeSrc":"10062:1:2","nodeType":"YulIdentifier","src":"10062:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10049:6:2","nodeType":"YulIdentifier","src":"10049:6:2"},"nativeSrc":"10049:15:2","nodeType":"YulFunctionCall","src":"10049:15:2"},"variableNames":[{"name":"a","nativeSrc":"10045:1:2","nodeType":"YulIdentifier","src":"10045:1:2"}]},{"nativeSrc":"10098:19:2","nodeType":"YulAssignment","src":"10098:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10109:1:2","nodeType":"YulIdentifier","src":"10109:1:2"},{"name":"a","nativeSrc":"10112:1:2","nodeType":"YulIdentifier","src":"10112:1:2"},{"name":"q","nativeSrc":"10115:1:2","nodeType":"YulIdentifier","src":"10115:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10102:6:2","nodeType":"YulIdentifier","src":"10102:6:2"},"nativeSrc":"10102:15:2","nodeType":"YulFunctionCall","src":"10102:15:2"},"variableNames":[{"name":"a","nativeSrc":"10098:1:2","nodeType":"YulIdentifier","src":"10098:1:2"}]},{"nativeSrc":"10151:19:2","nodeType":"YulAssignment","src":"10151:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10162:1:2","nodeType":"YulIdentifier","src":"10162:1:2"},{"name":"a","nativeSrc":"10165:1:2","nodeType":"YulIdentifier","src":"10165:1:2"},{"name":"q","nativeSrc":"10168:1:2","nodeType":"YulIdentifier","src":"10168:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10155:6:2","nodeType":"YulIdentifier","src":"10155:6:2"},"nativeSrc":"10155:15:2","nodeType":"YulFunctionCall","src":"10155:15:2"},"variableNames":[{"name":"a","nativeSrc":"10151:1:2","nodeType":"YulIdentifier","src":"10151:1:2"}]},{"nativeSrc":"10204:19:2","nodeType":"YulAssignment","src":"10204:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10215:1:2","nodeType":"YulIdentifier","src":"10215:1:2"},{"name":"a","nativeSrc":"10218:1:2","nodeType":"YulIdentifier","src":"10218:1:2"},{"name":"q","nativeSrc":"10221:1:2","nodeType":"YulIdentifier","src":"10221:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10208:6:2","nodeType":"YulIdentifier","src":"10208:6:2"},"nativeSrc":"10208:15:2","nodeType":"YulFunctionCall","src":"10208:15:2"},"variableNames":[{"name":"a","nativeSrc":"10204:1:2","nodeType":"YulIdentifier","src":"10204:1:2"}]},{"nativeSrc":"10257:19:2","nodeType":"YulAssignment","src":"10257:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10268:1:2","nodeType":"YulIdentifier","src":"10268:1:2"},{"name":"a","nativeSrc":"10271:1:2","nodeType":"YulIdentifier","src":"10271:1:2"},{"name":"q","nativeSrc":"10274:1:2","nodeType":"YulIdentifier","src":"10274:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10261:6:2","nodeType":"YulIdentifier","src":"10261:6:2"},"nativeSrc":"10261:15:2","nodeType":"YulFunctionCall","src":"10261:15:2"},"variableNames":[{"name":"a","nativeSrc":"10257:1:2","nodeType":"YulIdentifier","src":"10257:1:2"}]},{"nativeSrc":"10310:19:2","nodeType":"YulAssignment","src":"10310:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10321:1:2","nodeType":"YulIdentifier","src":"10321:1:2"},{"name":"a","nativeSrc":"10324:1:2","nodeType":"YulIdentifier","src":"10324:1:2"},{"name":"q","nativeSrc":"10327:1:2","nodeType":"YulIdentifier","src":"10327:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10314:6:2","nodeType":"YulIdentifier","src":"10314:6:2"},"nativeSrc":"10314:15:2","nodeType":"YulFunctionCall","src":"10314:15:2"},"variableNames":[{"name":"a","nativeSrc":"10310:1:2","nodeType":"YulIdentifier","src":"10310:1:2"}]},{"nativeSrc":"10363:19:2","nodeType":"YulAssignment","src":"10363:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10374:1:2","nodeType":"YulIdentifier","src":"10374:1:2"},{"name":"a","nativeSrc":"10377:1:2","nodeType":"YulIdentifier","src":"10377:1:2"},{"name":"q","nativeSrc":"10380:1:2","nodeType":"YulIdentifier","src":"10380:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10367:6:2","nodeType":"YulIdentifier","src":"10367:6:2"},"nativeSrc":"10367:15:2","nodeType":"YulFunctionCall","src":"10367:15:2"},"variableNames":[{"name":"a","nativeSrc":"10363:1:2","nodeType":"YulIdentifier","src":"10363:1:2"}]},{"nativeSrc":"10416:19:2","nodeType":"YulAssignment","src":"10416:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10427:1:2","nodeType":"YulIdentifier","src":"10427:1:2"},{"name":"a","nativeSrc":"10430:1:2","nodeType":"YulIdentifier","src":"10430:1:2"},{"name":"q","nativeSrc":"10433:1:2","nodeType":"YulIdentifier","src":"10433:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10420:6:2","nodeType":"YulIdentifier","src":"10420:6:2"},"nativeSrc":"10420:15:2","nodeType":"YulFunctionCall","src":"10420:15:2"},"variableNames":[{"name":"a","nativeSrc":"10416:1:2","nodeType":"YulIdentifier","src":"10416:1:2"}]},{"nativeSrc":"10469:19:2","nodeType":"YulAssignment","src":"10469:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10480:1:2","nodeType":"YulIdentifier","src":"10480:1:2"},{"name":"a","nativeSrc":"10483:1:2","nodeType":"YulIdentifier","src":"10483:1:2"},{"name":"q","nativeSrc":"10486:1:2","nodeType":"YulIdentifier","src":"10486:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10473:6:2","nodeType":"YulIdentifier","src":"10473:6:2"},"nativeSrc":"10473:15:2","nodeType":"YulFunctionCall","src":"10473:15:2"},"variableNames":[{"name":"a","nativeSrc":"10469:1:2","nodeType":"YulIdentifier","src":"10469:1:2"}]},{"nativeSrc":"10522:19:2","nodeType":"YulAssignment","src":"10522:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10533:1:2","nodeType":"YulIdentifier","src":"10533:1:2"},{"name":"a","nativeSrc":"10536:1:2","nodeType":"YulIdentifier","src":"10536:1:2"},{"name":"q","nativeSrc":"10539:1:2","nodeType":"YulIdentifier","src":"10539:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10526:6:2","nodeType":"YulIdentifier","src":"10526:6:2"},"nativeSrc":"10526:15:2","nodeType":"YulFunctionCall","src":"10526:15:2"},"variableNames":[{"name":"a","nativeSrc":"10522:1:2","nodeType":"YulIdentifier","src":"10522:1:2"}]},{"nativeSrc":"10575:19:2","nodeType":"YulAssignment","src":"10575:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10586:1:2","nodeType":"YulIdentifier","src":"10586:1:2"},{"name":"a","nativeSrc":"10589:1:2","nodeType":"YulIdentifier","src":"10589:1:2"},{"name":"q","nativeSrc":"10592:1:2","nodeType":"YulIdentifier","src":"10592:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10579:6:2","nodeType":"YulIdentifier","src":"10579:6:2"},"nativeSrc":"10579:15:2","nodeType":"YulFunctionCall","src":"10579:15:2"},"variableNames":[{"name":"a","nativeSrc":"10575:1:2","nodeType":"YulIdentifier","src":"10575:1:2"}]},{"nativeSrc":"10628:19:2","nodeType":"YulAssignment","src":"10628:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10639:1:2","nodeType":"YulIdentifier","src":"10639:1:2"},{"name":"a","nativeSrc":"10642:1:2","nodeType":"YulIdentifier","src":"10642:1:2"},{"name":"q","nativeSrc":"10645:1:2","nodeType":"YulIdentifier","src":"10645:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10632:6:2","nodeType":"YulIdentifier","src":"10632:6:2"},"nativeSrc":"10632:15:2","nodeType":"YulFunctionCall","src":"10632:15:2"},"variableNames":[{"name":"a","nativeSrc":"10628:1:2","nodeType":"YulIdentifier","src":"10628:1:2"}]},{"nativeSrc":"10681:19:2","nodeType":"YulAssignment","src":"10681:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10692:1:2","nodeType":"YulIdentifier","src":"10692:1:2"},{"name":"a","nativeSrc":"10695:1:2","nodeType":"YulIdentifier","src":"10695:1:2"},{"name":"q","nativeSrc":"10698:1:2","nodeType":"YulIdentifier","src":"10698:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10685:6:2","nodeType":"YulIdentifier","src":"10685:6:2"},"nativeSrc":"10685:15:2","nodeType":"YulFunctionCall","src":"10685:15:2"},"variableNames":[{"name":"a","nativeSrc":"10681:1:2","nodeType":"YulIdentifier","src":"10681:1:2"}]},{"nativeSrc":"10734:19:2","nodeType":"YulAssignment","src":"10734:19:2","value":{"arguments":[{"name":"a","nativeSrc":"10745:1:2","nodeType":"YulIdentifier","src":"10745:1:2"},{"name":"a","nativeSrc":"10748:1:2","nodeType":"YulIdentifier","src":"10748:1:2"},{"name":"q","nativeSrc":"10751:1:2","nodeType":"YulIdentifier","src":"10751:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"10738:6:2","nodeType":"YulIdentifier","src":"10738:6:2"},"nativeSrc":"10738:15:2","nodeType":"YulFunctionCall","src":"10738:15:2"},"variableNames":[{"name":"a","nativeSrc":"10734:1:2","nodeType":"YulIdentifier","src":"10734:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10799:4:2","nodeType":"YulIdentifier","src":"10799:4:2"},{"name":"pXin","nativeSrc":"10805:4:2","nodeType":"YulIdentifier","src":"10805:4:2"}],"functionName":{"name":"add","nativeSrc":"10795:3:2","nodeType":"YulIdentifier","src":"10795:3:2"},"nativeSrc":"10795:15:2","nodeType":"YulFunctionCall","src":"10795:15:2"},{"name":"a","nativeSrc":"10812:1:2","nodeType":"YulIdentifier","src":"10812:1:2"}],"functionName":{"name":"mstore","nativeSrc":"10787:6:2","nodeType":"YulIdentifier","src":"10787:6:2"},"nativeSrc":"10787:27:2","nodeType":"YulFunctionCall","src":"10787:27:2"},"nativeSrc":"10787:27:2","nodeType":"YulExpressionStatement","src":"10787:27:2"},{"nativeSrc":"10831:28:2","nodeType":"YulAssignment","src":"10831:28:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"10847:1:2","nodeType":"YulIdentifier","src":"10847:1:2"},{"kind":"number","nativeSrc":"10850:1:2","nodeType":"YulLiteral","src":"10850:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"10843:3:2","nodeType":"YulIdentifier","src":"10843:3:2"},"nativeSrc":"10843:9:2","nodeType":"YulFunctionCall","src":"10843:9:2"},{"name":"q","nativeSrc":"10853:1:2","nodeType":"YulIdentifier","src":"10853:1:2"}],"functionName":{"name":"add","nativeSrc":"10839:3:2","nodeType":"YulIdentifier","src":"10839:3:2"},"nativeSrc":"10839:16:2","nodeType":"YulFunctionCall","src":"10839:16:2"},{"name":"q","nativeSrc":"10857:1:2","nodeType":"YulIdentifier","src":"10857:1:2"}],"functionName":{"name":"mod","nativeSrc":"10835:3:2","nodeType":"YulIdentifier","src":"10835:3:2"},"nativeSrc":"10835:24:2","nodeType":"YulFunctionCall","src":"10835:24:2"},"variableNames":[{"name":"a","nativeSrc":"10831:1:2","nodeType":"YulIdentifier","src":"10831:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10888:4:2","nodeType":"YulIdentifier","src":"10888:4:2"},{"name":"pZh","nativeSrc":"10894:3:2","nodeType":"YulIdentifier","src":"10894:3:2"}],"functionName":{"name":"add","nativeSrc":"10884:3:2","nodeType":"YulIdentifier","src":"10884:3:2"},"nativeSrc":"10884:14:2","nodeType":"YulFunctionCall","src":"10884:14:2"},{"name":"a","nativeSrc":"10900:1:2","nodeType":"YulIdentifier","src":"10900:1:2"}],"functionName":{"name":"mstore","nativeSrc":"10876:6:2","nodeType":"YulIdentifier","src":"10876:6:2"},"nativeSrc":"10876:26:2","nodeType":"YulFunctionCall","src":"10876:26:2"},"nativeSrc":"10876:26:2","nodeType":"YulExpressionStatement","src":"10876:26:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10931:4:2","nodeType":"YulIdentifier","src":"10931:4:2"},{"name":"pZhInv","nativeSrc":"10937:6:2","nodeType":"YulIdentifier","src":"10937:6:2"}],"functionName":{"name":"add","nativeSrc":"10927:3:2","nodeType":"YulIdentifier","src":"10927:3:2"},"nativeSrc":"10927:17:2","nodeType":"YulFunctionCall","src":"10927:17:2"},{"name":"a","nativeSrc":"10946:1:2","nodeType":"YulIdentifier","src":"10946:1:2"}],"functionName":{"name":"mstore","nativeSrc":"10919:6:2","nodeType":"YulIdentifier","src":"10919:6:2"},"nativeSrc":"10919:29:2","nodeType":"YulFunctionCall","src":"10919:29:2"},"nativeSrc":"10919:29:2","nodeType":"YulExpressionStatement","src":"10919:29:2"},{"nativeSrc":"11035:54:2","nodeType":"YulVariableDeclaration","src":"11035:54:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11063:6:2","nodeType":"YulIdentifier","src":"11063:6:2"},{"name":"pEval_a","nativeSrc":"11071:7:2","nodeType":"YulIdentifier","src":"11071:7:2"}],"functionName":{"name":"add","nativeSrc":"11059:3:2","nodeType":"YulIdentifier","src":"11059:3:2"},"nativeSrc":"11059:20:2","nodeType":"YulFunctionCall","src":"11059:20:2"},{"kind":"number","nativeSrc":"11081:3:2","nodeType":"YulLiteral","src":"11081:3:2","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"11049:9:2","nodeType":"YulIdentifier","src":"11049:9:2"},"nativeSrc":"11049:36:2","nodeType":"YulFunctionCall","src":"11049:36:2"},{"name":"q","nativeSrc":"11087:1:2","nodeType":"YulIdentifier","src":"11087:1:2"}],"functionName":{"name":"mod","nativeSrc":"11045:3:2","nodeType":"YulIdentifier","src":"11045:3:2"},"nativeSrc":"11045:44:2","nodeType":"YulFunctionCall","src":"11045:44:2"},"variables":[{"name":"v1","nativeSrc":"11039:2:2","nodeType":"YulTypedName","src":"11039:2:2","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11118:4:2","nodeType":"YulIdentifier","src":"11118:4:2"},{"name":"pV1","nativeSrc":"11124:3:2","nodeType":"YulIdentifier","src":"11124:3:2"}],"functionName":{"name":"add","nativeSrc":"11114:3:2","nodeType":"YulIdentifier","src":"11114:3:2"},"nativeSrc":"11114:14:2","nodeType":"YulFunctionCall","src":"11114:14:2"},{"name":"v1","nativeSrc":"11130:2:2","nodeType":"YulIdentifier","src":"11130:2:2"}],"functionName":{"name":"mstore","nativeSrc":"11106:6:2","nodeType":"YulIdentifier","src":"11106:6:2"},"nativeSrc":"11106:27:2","nodeType":"YulFunctionCall","src":"11106:27:2"},"nativeSrc":"11106:27:2","nodeType":"YulExpressionStatement","src":"11106:27:2"},{"nativeSrc":"11150:22:2","nodeType":"YulAssignment","src":"11150:22:2","value":{"arguments":[{"name":"v1","nativeSrc":"11162:2:2","nodeType":"YulIdentifier","src":"11162:2:2"},{"name":"v1","nativeSrc":"11166:2:2","nodeType":"YulIdentifier","src":"11166:2:2"},{"name":"q","nativeSrc":"11170:1:2","nodeType":"YulIdentifier","src":"11170:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"11155:6:2","nodeType":"YulIdentifier","src":"11155:6:2"},"nativeSrc":"11155:17:2","nodeType":"YulFunctionCall","src":"11155:17:2"},"variableNames":[{"name":"a","nativeSrc":"11150:1:2","nodeType":"YulIdentifier","src":"11150:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11201:4:2","nodeType":"YulIdentifier","src":"11201:4:2"},{"name":"pV2","nativeSrc":"11207:3:2","nodeType":"YulIdentifier","src":"11207:3:2"}],"functionName":{"name":"add","nativeSrc":"11197:3:2","nodeType":"YulIdentifier","src":"11197:3:2"},"nativeSrc":"11197:14:2","nodeType":"YulFunctionCall","src":"11197:14:2"},{"name":"a","nativeSrc":"11213:1:2","nodeType":"YulIdentifier","src":"11213:1:2"}],"functionName":{"name":"mstore","nativeSrc":"11189:6:2","nodeType":"YulIdentifier","src":"11189:6:2"},"nativeSrc":"11189:26:2","nodeType":"YulFunctionCall","src":"11189:26:2"},"nativeSrc":"11189:26:2","nodeType":"YulExpressionStatement","src":"11189:26:2"},{"nativeSrc":"11232:21:2","nodeType":"YulAssignment","src":"11232:21:2","value":{"arguments":[{"name":"a","nativeSrc":"11244:1:2","nodeType":"YulIdentifier","src":"11244:1:2"},{"name":"v1","nativeSrc":"11247:2:2","nodeType":"YulIdentifier","src":"11247:2:2"},{"name":"q","nativeSrc":"11251:1:2","nodeType":"YulIdentifier","src":"11251:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"11237:6:2","nodeType":"YulIdentifier","src":"11237:6:2"},"nativeSrc":"11237:16:2","nodeType":"YulFunctionCall","src":"11237:16:2"},"variableNames":[{"name":"a","nativeSrc":"11232:1:2","nodeType":"YulIdentifier","src":"11232:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11282:4:2","nodeType":"YulIdentifier","src":"11282:4:2"},{"name":"pV3","nativeSrc":"11288:3:2","nodeType":"YulIdentifier","src":"11288:3:2"}],"functionName":{"name":"add","nativeSrc":"11278:3:2","nodeType":"YulIdentifier","src":"11278:3:2"},"nativeSrc":"11278:14:2","nodeType":"YulFunctionCall","src":"11278:14:2"},{"name":"a","nativeSrc":"11294:1:2","nodeType":"YulIdentifier","src":"11294:1:2"}],"functionName":{"name":"mstore","nativeSrc":"11270:6:2","nodeType":"YulIdentifier","src":"11270:6:2"},"nativeSrc":"11270:26:2","nodeType":"YulFunctionCall","src":"11270:26:2"},"nativeSrc":"11270:26:2","nodeType":"YulExpressionStatement","src":"11270:26:2"},{"nativeSrc":"11313:21:2","nodeType":"YulAssignment","src":"11313:21:2","value":{"arguments":[{"name":"a","nativeSrc":"11325:1:2","nodeType":"YulIdentifier","src":"11325:1:2"},{"name":"v1","nativeSrc":"11328:2:2","nodeType":"YulIdentifier","src":"11328:2:2"},{"name":"q","nativeSrc":"11332:1:2","nodeType":"YulIdentifier","src":"11332:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"11318:6:2","nodeType":"YulIdentifier","src":"11318:6:2"},"nativeSrc":"11318:16:2","nodeType":"YulFunctionCall","src":"11318:16:2"},"variableNames":[{"name":"a","nativeSrc":"11313:1:2","nodeType":"YulIdentifier","src":"11313:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11363:4:2","nodeType":"YulIdentifier","src":"11363:4:2"},{"name":"pV4","nativeSrc":"11369:3:2","nodeType":"YulIdentifier","src":"11369:3:2"}],"functionName":{"name":"add","nativeSrc":"11359:3:2","nodeType":"YulIdentifier","src":"11359:3:2"},"nativeSrc":"11359:14:2","nodeType":"YulFunctionCall","src":"11359:14:2"},{"name":"a","nativeSrc":"11375:1:2","nodeType":"YulIdentifier","src":"11375:1:2"}],"functionName":{"name":"mstore","nativeSrc":"11351:6:2","nodeType":"YulIdentifier","src":"11351:6:2"},"nativeSrc":"11351:26:2","nodeType":"YulFunctionCall","src":"11351:26:2"},"nativeSrc":"11351:26:2","nodeType":"YulExpressionStatement","src":"11351:26:2"},{"nativeSrc":"11394:21:2","nodeType":"YulAssignment","src":"11394:21:2","value":{"arguments":[{"name":"a","nativeSrc":"11406:1:2","nodeType":"YulIdentifier","src":"11406:1:2"},{"name":"v1","nativeSrc":"11409:2:2","nodeType":"YulIdentifier","src":"11409:2:2"},{"name":"q","nativeSrc":"11413:1:2","nodeType":"YulIdentifier","src":"11413:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"11399:6:2","nodeType":"YulIdentifier","src":"11399:6:2"},"nativeSrc":"11399:16:2","nodeType":"YulFunctionCall","src":"11399:16:2"},"variableNames":[{"name":"a","nativeSrc":"11394:1:2","nodeType":"YulIdentifier","src":"11394:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11444:4:2","nodeType":"YulIdentifier","src":"11444:4:2"},{"name":"pV5","nativeSrc":"11450:3:2","nodeType":"YulIdentifier","src":"11450:3:2"}],"functionName":{"name":"add","nativeSrc":"11440:3:2","nodeType":"YulIdentifier","src":"11440:3:2"},"nativeSrc":"11440:14:2","nodeType":"YulFunctionCall","src":"11440:14:2"},{"name":"a","nativeSrc":"11456:1:2","nodeType":"YulIdentifier","src":"11456:1:2"}],"functionName":{"name":"mstore","nativeSrc":"11432:6:2","nodeType":"YulIdentifier","src":"11432:6:2"},"nativeSrc":"11432:26:2","nodeType":"YulFunctionCall","src":"11432:26:2"},"nativeSrc":"11432:26:2","nodeType":"YulExpressionStatement","src":"11432:26:2"},{"nativeSrc":"11475:21:2","nodeType":"YulAssignment","src":"11475:21:2","value":{"arguments":[{"name":"a","nativeSrc":"11487:1:2","nodeType":"YulIdentifier","src":"11487:1:2"},{"name":"v1","nativeSrc":"11490:2:2","nodeType":"YulIdentifier","src":"11490:2:2"},{"name":"q","nativeSrc":"11494:1:2","nodeType":"YulIdentifier","src":"11494:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"11480:6:2","nodeType":"YulIdentifier","src":"11480:6:2"},"nativeSrc":"11480:16:2","nodeType":"YulFunctionCall","src":"11480:16:2"},"variableNames":[{"name":"a","nativeSrc":"11475:1:2","nodeType":"YulIdentifier","src":"11475:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11525:4:2","nodeType":"YulIdentifier","src":"11525:4:2"},{"name":"pV6","nativeSrc":"11531:3:2","nodeType":"YulIdentifier","src":"11531:3:2"}],"functionName":{"name":"add","nativeSrc":"11521:3:2","nodeType":"YulIdentifier","src":"11521:3:2"},"nativeSrc":"11521:14:2","nodeType":"YulFunctionCall","src":"11521:14:2"},{"name":"a","nativeSrc":"11537:1:2","nodeType":"YulIdentifier","src":"11537:1:2"}],"functionName":{"name":"mstore","nativeSrc":"11513:6:2","nodeType":"YulIdentifier","src":"11513:6:2"},"nativeSrc":"11513:26:2","nodeType":"YulFunctionCall","src":"11513:26:2"},"nativeSrc":"11513:26:2","nodeType":"YulExpressionStatement","src":"11513:26:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11585:4:2","nodeType":"YulIdentifier","src":"11585:4:2"},{"name":"pU","nativeSrc":"11591:2:2","nodeType":"YulIdentifier","src":"11591:2:2"}],"functionName":{"name":"add","nativeSrc":"11581:3:2","nodeType":"YulIdentifier","src":"11581:3:2"},"nativeSrc":"11581:13:2","nodeType":"YulFunctionCall","src":"11581:13:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11614:6:2","nodeType":"YulIdentifier","src":"11614:6:2"},{"name":"pWxi","nativeSrc":"11622:4:2","nodeType":"YulIdentifier","src":"11622:4:2"}],"functionName":{"name":"add","nativeSrc":"11610:3:2","nodeType":"YulIdentifier","src":"11610:3:2"},"nativeSrc":"11610:17:2","nodeType":"YulFunctionCall","src":"11610:17:2"},{"kind":"number","nativeSrc":"11629:3:2","nodeType":"YulLiteral","src":"11629:3:2","type":"","value":"128"}],"functionName":{"name":"keccak256","nativeSrc":"11600:9:2","nodeType":"YulIdentifier","src":"11600:9:2"},"nativeSrc":"11600:33:2","nodeType":"YulFunctionCall","src":"11600:33:2"},{"name":"q","nativeSrc":"11635:1:2","nodeType":"YulIdentifier","src":"11635:1:2"}],"functionName":{"name":"mod","nativeSrc":"11596:3:2","nodeType":"YulIdentifier","src":"11596:3:2"},"nativeSrc":"11596:41:2","nodeType":"YulFunctionCall","src":"11596:41:2"}],"functionName":{"name":"mstore","nativeSrc":"11573:6:2","nodeType":"YulIdentifier","src":"11573:6:2"},"nativeSrc":"11573:65:2","nodeType":"YulFunctionCall","src":"11573:65:2"},"nativeSrc":"11573:65:2","nodeType":"YulExpressionStatement","src":"11573:65:2"}]},"name":"calculateChallanges","nativeSrc":"8824:2828:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8853:6:2","nodeType":"YulTypedName","src":"8853:6:2","type":""},{"name":"pMem","nativeSrc":"8861:4:2","nodeType":"YulTypedName","src":"8861:4:2","type":""},{"name":"pPublic","nativeSrc":"8867:7:2","nodeType":"YulTypedName","src":"8867:7:2","type":""}],"src":"8824:2828:2"},{"body":{"nativeSrc":"11711:1140:2","nodeType":"YulBlock","src":"11711:1140:2","statements":[{"nativeSrc":"11730:10:2","nodeType":"YulVariableDeclaration","src":"11730:10:2","value":{"kind":"number","nativeSrc":"11739:1:2","nodeType":"YulLiteral","src":"11739:1:2","type":"","value":"1"},"variables":[{"name":"w","nativeSrc":"11734:1:2","nodeType":"YulTypedName","src":"11734:1:2","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11822:4:2","nodeType":"YulIdentifier","src":"11822:4:2"},{"name":"pEval_l1","nativeSrc":"11828:8:2","nodeType":"YulIdentifier","src":"11828:8:2"}],"functionName":{"name":"add","nativeSrc":"11818:3:2","nodeType":"YulIdentifier","src":"11818:3:2"},"nativeSrc":"11818:19:2","nodeType":"YulFunctionCall","src":"11818:19:2"},{"arguments":[{"name":"n","nativeSrc":"11892:1:2","nodeType":"YulIdentifier","src":"11892:1:2"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12041:4:2","nodeType":"YulIdentifier","src":"12041:4:2"},{"name":"pXi","nativeSrc":"12047:3:2","nodeType":"YulIdentifier","src":"12047:3:2"}],"functionName":{"name":"add","nativeSrc":"12037:3:2","nodeType":"YulIdentifier","src":"12037:3:2"},"nativeSrc":"12037:14:2","nodeType":"YulFunctionCall","src":"12037:14:2"}],"functionName":{"name":"mload","nativeSrc":"12031:5:2","nodeType":"YulIdentifier","src":"12031:5:2"},"nativeSrc":"12031:21:2","nodeType":"YulFunctionCall","src":"12031:21:2"},{"name":"w","nativeSrc":"12091:1:2","nodeType":"YulIdentifier","src":"12091:1:2"}],"functionName":{"name":"sub","nativeSrc":"11990:3:2","nodeType":"YulIdentifier","src":"11990:3:2"},"nativeSrc":"11990:136:2","nodeType":"YulFunctionCall","src":"11990:136:2"},{"name":"q","nativeSrc":"12161:1:2","nodeType":"YulIdentifier","src":"12161:1:2"}],"functionName":{"name":"add","nativeSrc":"11953:3:2","nodeType":"YulIdentifier","src":"11953:3:2"},"nativeSrc":"11953:239:2","nodeType":"YulFunctionCall","src":"11953:239:2"},{"name":"q","nativeSrc":"12222:1:2","nodeType":"YulIdentifier","src":"12222:1:2"}],"functionName":{"name":"mod","nativeSrc":"11920:3:2","nodeType":"YulIdentifier","src":"11920:3:2"},"nativeSrc":"11920:329:2","nodeType":"YulFunctionCall","src":"11920:329:2"},{"name":"q","nativeSrc":"12276:1:2","nodeType":"YulIdentifier","src":"12276:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"11860:6:2","nodeType":"YulIdentifier","src":"11860:6:2"},"nativeSrc":"11860:439:2","nodeType":"YulFunctionCall","src":"11860:439:2"}],"functionName":{"name":"mstore","nativeSrc":"11790:6:2","nodeType":"YulIdentifier","src":"11790:6:2"},"nativeSrc":"11790:527:2","nodeType":"YulFunctionCall","src":"11790:527:2"},"nativeSrc":"11790:527:2","nodeType":"YulExpressionStatement","src":"11790:527:2"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12402:4:2","nodeType":"YulIdentifier","src":"12402:4:2"},{"name":"pZhInv","nativeSrc":"12408:6:2","nodeType":"YulIdentifier","src":"12408:6:2"}],"functionName":{"name":"add","nativeSrc":"12398:3:2","nodeType":"YulIdentifier","src":"12398:3:2"},"nativeSrc":"12398:17:2","nodeType":"YulFunctionCall","src":"12398:17:2"},{"kind":"number","nativeSrc":"12417:1:2","nodeType":"YulLiteral","src":"12417:1:2","type":"","value":"2"}],"functionName":{"name":"inverseArray","nativeSrc":"12385:12:2","nodeType":"YulIdentifier","src":"12385:12:2"},"nativeSrc":"12385:35:2","nodeType":"YulFunctionCall","src":"12385:35:2"},"nativeSrc":"12385:35:2","nodeType":"YulExpressionStatement","src":"12385:35:2"},{"nativeSrc":"12454:31:2","nodeType":"YulVariableDeclaration","src":"12454:31:2","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12474:4:2","nodeType":"YulIdentifier","src":"12474:4:2"},{"name":"pZh","nativeSrc":"12480:3:2","nodeType":"YulIdentifier","src":"12480:3:2"}],"functionName":{"name":"add","nativeSrc":"12470:3:2","nodeType":"YulIdentifier","src":"12470:3:2"},"nativeSrc":"12470:14:2","nodeType":"YulFunctionCall","src":"12470:14:2"}],"functionName":{"name":"mload","nativeSrc":"12464:5:2","nodeType":"YulIdentifier","src":"12464:5:2"},"nativeSrc":"12464:21:2","nodeType":"YulFunctionCall","src":"12464:21:2"},"variables":[{"name":"zh","nativeSrc":"12458:2:2","nodeType":"YulTypedName","src":"12458:2:2","type":""}]},{"nativeSrc":"12502:6:2","nodeType":"YulAssignment","src":"12502:6:2","value":{"kind":"number","nativeSrc":"12507:1:2","nodeType":"YulLiteral","src":"12507:1:2","type":"","value":"1"},"variableNames":[{"name":"w","nativeSrc":"12502:1:2","nodeType":"YulIdentifier","src":"12502:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12591:4:2","nodeType":"YulIdentifier","src":"12591:4:2"},{"name":"pEval_l1","nativeSrc":"12597:8:2","nodeType":"YulIdentifier","src":"12597:8:2"}],"functionName":{"name":"add","nativeSrc":"12587:3:2","nodeType":"YulIdentifier","src":"12587:3:2"},"nativeSrc":"12587:20:2","nodeType":"YulFunctionCall","src":"12587:20:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12672:4:2","nodeType":"YulIdentifier","src":"12672:4:2"},{"name":"pEval_l1","nativeSrc":"12678:8:2","nodeType":"YulIdentifier","src":"12678:8:2"}],"functionName":{"name":"add","nativeSrc":"12668:3:2","nodeType":"YulIdentifier","src":"12668:3:2"},"nativeSrc":"12668:20:2","nodeType":"YulFunctionCall","src":"12668:20:2"}],"functionName":{"name":"mload","nativeSrc":"12662:5:2","nodeType":"YulIdentifier","src":"12662:5:2"},"nativeSrc":"12662:27:2","nodeType":"YulFunctionCall","src":"12662:27:2"},{"name":"zh","nativeSrc":"12715:2:2","nodeType":"YulIdentifier","src":"12715:2:2"},{"name":"q","nativeSrc":"12743:1:2","nodeType":"YulIdentifier","src":"12743:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"12630:6:2","nodeType":"YulIdentifier","src":"12630:6:2"},"nativeSrc":"12630:136:2","nodeType":"YulFunctionCall","src":"12630:136:2"}],"functionName":{"name":"mstore","nativeSrc":"12559:6:2","nodeType":"YulIdentifier","src":"12559:6:2"},"nativeSrc":"12559:225:2","nodeType":"YulFunctionCall","src":"12559:225:2"},"nativeSrc":"12559:225:2","nodeType":"YulExpressionStatement","src":"12559:225:2"}]},"name":"calculateLagrange","nativeSrc":"11678:1173:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"11705:4:2","nodeType":"YulTypedName","src":"11705:4:2","type":""}],"src":"11678:1173:2"},{"body":{"nativeSrc":"12910:618:2","nodeType":"YulBlock","src":"12910:618:2","statements":[{"nativeSrc":"12928:11:2","nodeType":"YulVariableDeclaration","src":"12928:11:2","value":{"kind":"number","nativeSrc":"12938:1:2","nodeType":"YulLiteral","src":"12938:1:2","type":"","value":"0"},"variables":[{"name":"pl","nativeSrc":"12932:2:2","nodeType":"YulTypedName","src":"12932:2:2","type":""}]},{"nativeSrc":"12991:428:2","nodeType":"YulAssignment","src":"12991:428:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pl","nativeSrc":"13084:2:2","nodeType":"YulIdentifier","src":"13084:2:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13168:4:2","nodeType":"YulIdentifier","src":"13168:4:2"},{"name":"pEval_l1","nativeSrc":"13174:8:2","nodeType":"YulIdentifier","src":"13174:8:2"}],"functionName":{"name":"add","nativeSrc":"13164:3:2","nodeType":"YulIdentifier","src":"13164:3:2"},"nativeSrc":"13164:19:2","nodeType":"YulFunctionCall","src":"13164:19:2"}],"functionName":{"name":"mload","nativeSrc":"13158:5:2","nodeType":"YulIdentifier","src":"13158:5:2"},"nativeSrc":"13158:26:2","nodeType":"YulFunctionCall","src":"13158:26:2"},{"arguments":[{"arguments":[{"name":"pPub","nativeSrc":"13228:4:2","nodeType":"YulIdentifier","src":"13228:4:2"},{"kind":"number","nativeSrc":"13234:2:2","nodeType":"YulLiteral","src":"13234:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13224:3:2","nodeType":"YulIdentifier","src":"13224:3:2"},"nativeSrc":"13224:13:2","nodeType":"YulFunctionCall","src":"13224:13:2"}],"functionName":{"name":"mload","nativeSrc":"13218:5:2","nodeType":"YulIdentifier","src":"13218:5:2"},"nativeSrc":"13218:20:2","nodeType":"YulFunctionCall","src":"13218:20:2"},{"name":"q","nativeSrc":"13272:1:2","nodeType":"YulIdentifier","src":"13272:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"13118:6:2","nodeType":"YulIdentifier","src":"13118:6:2"},"nativeSrc":"13118:185:2","nodeType":"YulFunctionCall","src":"13118:185:2"}],"functionName":{"name":"sub","nativeSrc":"13051:3:2","nodeType":"YulIdentifier","src":"13051:3:2"},"nativeSrc":"13051:278:2","nodeType":"YulFunctionCall","src":"13051:278:2"},{"name":"q","nativeSrc":"13355:1:2","nodeType":"YulIdentifier","src":"13355:1:2"}],"functionName":{"name":"add","nativeSrc":"13022:3:2","nodeType":"YulIdentifier","src":"13022:3:2"},"nativeSrc":"13022:356:2","nodeType":"YulFunctionCall","src":"13022:356:2"},{"name":"q","nativeSrc":"13400:1:2","nodeType":"YulIdentifier","src":"13400:1:2"}],"functionName":{"name":"mod","nativeSrc":"12997:3:2","nodeType":"YulIdentifier","src":"12997:3:2"},"nativeSrc":"12997:422:2","nodeType":"YulFunctionCall","src":"12997:422:2"},"variableNames":[{"name":"pl","nativeSrc":"12991:2:2","nodeType":"YulIdentifier","src":"12991:2:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13481:4:2","nodeType":"YulIdentifier","src":"13481:4:2"},{"name":"pPl","nativeSrc":"13487:3:2","nodeType":"YulIdentifier","src":"13487:3:2"}],"functionName":{"name":"add","nativeSrc":"13477:3:2","nodeType":"YulIdentifier","src":"13477:3:2"},"nativeSrc":"13477:14:2","nodeType":"YulFunctionCall","src":"13477:14:2"},{"name":"pl","nativeSrc":"13493:2:2","nodeType":"YulIdentifier","src":"13493:2:2"}],"functionName":{"name":"mstore","nativeSrc":"13470:6:2","nodeType":"YulIdentifier","src":"13470:6:2"},"nativeSrc":"13470:26:2","nodeType":"YulFunctionCall","src":"13470:26:2"},"nativeSrc":"13470:26:2","nodeType":"YulExpressionStatement","src":"13470:26:2"}]},"name":"calculatePl","nativeSrc":"12877:651:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"12898:4:2","nodeType":"YulTypedName","src":"12898:4:2","type":""},{"name":"pPub","nativeSrc":"12904:4:2","nodeType":"YulTypedName","src":"12904:4:2","type":""}],"src":"12877:651:2"},{"body":{"nativeSrc":"13576:2162:2","nodeType":"YulBlock","src":"13576:2162:2","statements":[{"nativeSrc":"13594:5:2","nodeType":"YulVariableDeclaration","src":"13594:5:2","variables":[{"name":"t","nativeSrc":"13598:1:2","nodeType":"YulTypedName","src":"13598:1:2","type":""}]},{"nativeSrc":"13616:6:2","nodeType":"YulVariableDeclaration","src":"13616:6:2","variables":[{"name":"t1","nativeSrc":"13620:2:2","nodeType":"YulTypedName","src":"13620:2:2","type":""}]},{"nativeSrc":"13639:6:2","nodeType":"YulVariableDeclaration","src":"13639:6:2","variables":[{"name":"t2","nativeSrc":"13643:2:2","nodeType":"YulTypedName","src":"13643:2:2","type":""}]},{"nativeSrc":"13662:146:2","nodeType":"YulAssignment","src":"13662:146:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13705:6:2","nodeType":"YulIdentifier","src":"13705:6:2"},{"name":"pEval_r","nativeSrc":"13713:7:2","nodeType":"YulIdentifier","src":"13713:7:2"}],"functionName":{"name":"add","nativeSrc":"13701:3:2","nodeType":"YulIdentifier","src":"13701:3:2"},"nativeSrc":"13701:20:2","nodeType":"YulFunctionCall","src":"13701:20:2"}],"functionName":{"name":"mload","nativeSrc":"13695:5:2","nodeType":"YulIdentifier","src":"13695:5:2"},"nativeSrc":"13695:27:2","nodeType":"YulFunctionCall","src":"13695:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13755:4:2","nodeType":"YulIdentifier","src":"13755:4:2"},{"name":"pPl","nativeSrc":"13761:3:2","nodeType":"YulIdentifier","src":"13761:3:2"}],"functionName":{"name":"add","nativeSrc":"13751:3:2","nodeType":"YulIdentifier","src":"13751:3:2"},"nativeSrc":"13751:14:2","nodeType":"YulFunctionCall","src":"13751:14:2"}],"functionName":{"name":"mload","nativeSrc":"13745:5:2","nodeType":"YulIdentifier","src":"13745:5:2"},"nativeSrc":"13745:21:2","nodeType":"YulFunctionCall","src":"13745:21:2"},{"name":"q","nativeSrc":"13789:1:2","nodeType":"YulIdentifier","src":"13789:1:2"}],"functionName":{"name":"addmod","nativeSrc":"13667:6:2","nodeType":"YulIdentifier","src":"13667:6:2"},"nativeSrc":"13667:141:2","nodeType":"YulFunctionCall","src":"13667:141:2"},"variableNames":[{"name":"t","nativeSrc":"13662:1:2","nodeType":"YulIdentifier","src":"13662:1:2"}]},{"nativeSrc":"13842:148:2","nodeType":"YulAssignment","src":"13842:148:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13886:6:2","nodeType":"YulIdentifier","src":"13886:6:2"},{"name":"pEval_s1","nativeSrc":"13894:8:2","nodeType":"YulIdentifier","src":"13894:8:2"}],"functionName":{"name":"add","nativeSrc":"13882:3:2","nodeType":"YulIdentifier","src":"13882:3:2"},"nativeSrc":"13882:21:2","nodeType":"YulFunctionCall","src":"13882:21:2"}],"functionName":{"name":"mload","nativeSrc":"13876:5:2","nodeType":"YulIdentifier","src":"13876:5:2"},"nativeSrc":"13876:28:2","nodeType":"YulFunctionCall","src":"13876:28:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13936:4:2","nodeType":"YulIdentifier","src":"13936:4:2"},{"name":"pBeta","nativeSrc":"13942:5:2","nodeType":"YulIdentifier","src":"13942:5:2"}],"functionName":{"name":"add","nativeSrc":"13932:3:2","nodeType":"YulIdentifier","src":"13932:3:2"},"nativeSrc":"13932:16:2","nodeType":"YulFunctionCall","src":"13932:16:2"}],"functionName":{"name":"mload","nativeSrc":"13926:5:2","nodeType":"YulIdentifier","src":"13926:5:2"},"nativeSrc":"13926:23:2","nodeType":"YulFunctionCall","src":"13926:23:2"},{"name":"q","nativeSrc":"13971:1:2","nodeType":"YulIdentifier","src":"13971:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"13848:6:2","nodeType":"YulIdentifier","src":"13848:6:2"},"nativeSrc":"13848:142:2","nodeType":"YulFunctionCall","src":"13848:142:2"},"variableNames":[{"name":"t1","nativeSrc":"13842:2:2","nodeType":"YulIdentifier","src":"13842:2:2"}]},{"nativeSrc":"14008:126:2","nodeType":"YulAssignment","src":"14008:126:2","value":{"arguments":[{"name":"t1","nativeSrc":"14042:2:2","nodeType":"YulIdentifier","src":"14042:2:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14076:6:2","nodeType":"YulIdentifier","src":"14076:6:2"},{"name":"pEval_a","nativeSrc":"14084:7:2","nodeType":"YulIdentifier","src":"14084:7:2"}],"functionName":{"name":"add","nativeSrc":"14072:3:2","nodeType":"YulIdentifier","src":"14072:3:2"},"nativeSrc":"14072:20:2","nodeType":"YulFunctionCall","src":"14072:20:2"}],"functionName":{"name":"mload","nativeSrc":"14066:5:2","nodeType":"YulIdentifier","src":"14066:5:2"},"nativeSrc":"14066:27:2","nodeType":"YulFunctionCall","src":"14066:27:2"},{"name":"q","nativeSrc":"14115:1:2","nodeType":"YulIdentifier","src":"14115:1:2"}],"functionName":{"name":"addmod","nativeSrc":"14014:6:2","nodeType":"YulIdentifier","src":"14014:6:2"},"nativeSrc":"14014:120:2","nodeType":"YulFunctionCall","src":"14014:120:2"},"variableNames":[{"name":"t1","nativeSrc":"14008:2:2","nodeType":"YulIdentifier","src":"14008:2:2"}]},{"nativeSrc":"14168:123:2","nodeType":"YulAssignment","src":"14168:123:2","value":{"arguments":[{"name":"t1","nativeSrc":"14202:2:2","nodeType":"YulIdentifier","src":"14202:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14236:4:2","nodeType":"YulIdentifier","src":"14236:4:2"},{"name":"pGamma","nativeSrc":"14242:6:2","nodeType":"YulIdentifier","src":"14242:6:2"}],"functionName":{"name":"add","nativeSrc":"14232:3:2","nodeType":"YulIdentifier","src":"14232:3:2"},"nativeSrc":"14232:17:2","nodeType":"YulFunctionCall","src":"14232:17:2"}],"functionName":{"name":"mload","nativeSrc":"14226:5:2","nodeType":"YulIdentifier","src":"14226:5:2"},"nativeSrc":"14226:24:2","nodeType":"YulFunctionCall","src":"14226:24:2"},{"name":"q","nativeSrc":"14272:1:2","nodeType":"YulIdentifier","src":"14272:1:2"}],"functionName":{"name":"addmod","nativeSrc":"14174:6:2","nodeType":"YulIdentifier","src":"14174:6:2"},"nativeSrc":"14174:117:2","nodeType":"YulFunctionCall","src":"14174:117:2"},"variableNames":[{"name":"t1","nativeSrc":"14168:2:2","nodeType":"YulIdentifier","src":"14168:2:2"}]},{"nativeSrc":"14309:148:2","nodeType":"YulAssignment","src":"14309:148:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14353:6:2","nodeType":"YulIdentifier","src":"14353:6:2"},{"name":"pEval_s2","nativeSrc":"14361:8:2","nodeType":"YulIdentifier","src":"14361:8:2"}],"functionName":{"name":"add","nativeSrc":"14349:3:2","nodeType":"YulIdentifier","src":"14349:3:2"},"nativeSrc":"14349:21:2","nodeType":"YulFunctionCall","src":"14349:21:2"}],"functionName":{"name":"mload","nativeSrc":"14343:5:2","nodeType":"YulIdentifier","src":"14343:5:2"},"nativeSrc":"14343:28:2","nodeType":"YulFunctionCall","src":"14343:28:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14403:4:2","nodeType":"YulIdentifier","src":"14403:4:2"},{"name":"pBeta","nativeSrc":"14409:5:2","nodeType":"YulIdentifier","src":"14409:5:2"}],"functionName":{"name":"add","nativeSrc":"14399:3:2","nodeType":"YulIdentifier","src":"14399:3:2"},"nativeSrc":"14399:16:2","nodeType":"YulFunctionCall","src":"14399:16:2"}],"functionName":{"name":"mload","nativeSrc":"14393:5:2","nodeType":"YulIdentifier","src":"14393:5:2"},"nativeSrc":"14393:23:2","nodeType":"YulFunctionCall","src":"14393:23:2"},{"name":"q","nativeSrc":"14438:1:2","nodeType":"YulIdentifier","src":"14438:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"14315:6:2","nodeType":"YulIdentifier","src":"14315:6:2"},"nativeSrc":"14315:142:2","nodeType":"YulFunctionCall","src":"14315:142:2"},"variableNames":[{"name":"t2","nativeSrc":"14309:2:2","nodeType":"YulIdentifier","src":"14309:2:2"}]},{"nativeSrc":"14475:126:2","nodeType":"YulAssignment","src":"14475:126:2","value":{"arguments":[{"name":"t2","nativeSrc":"14509:2:2","nodeType":"YulIdentifier","src":"14509:2:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14543:6:2","nodeType":"YulIdentifier","src":"14543:6:2"},{"name":"pEval_b","nativeSrc":"14551:7:2","nodeType":"YulIdentifier","src":"14551:7:2"}],"functionName":{"name":"add","nativeSrc":"14539:3:2","nodeType":"YulIdentifier","src":"14539:3:2"},"nativeSrc":"14539:20:2","nodeType":"YulFunctionCall","src":"14539:20:2"}],"functionName":{"name":"mload","nativeSrc":"14533:5:2","nodeType":"YulIdentifier","src":"14533:5:2"},"nativeSrc":"14533:27:2","nodeType":"YulFunctionCall","src":"14533:27:2"},{"name":"q","nativeSrc":"14582:1:2","nodeType":"YulIdentifier","src":"14582:1:2"}],"functionName":{"name":"addmod","nativeSrc":"14481:6:2","nodeType":"YulIdentifier","src":"14481:6:2"},"nativeSrc":"14481:120:2","nodeType":"YulFunctionCall","src":"14481:120:2"},"variableNames":[{"name":"t2","nativeSrc":"14475:2:2","nodeType":"YulIdentifier","src":"14475:2:2"}]},{"nativeSrc":"14635:123:2","nodeType":"YulAssignment","src":"14635:123:2","value":{"arguments":[{"name":"t2","nativeSrc":"14669:2:2","nodeType":"YulIdentifier","src":"14669:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14703:4:2","nodeType":"YulIdentifier","src":"14703:4:2"},{"name":"pGamma","nativeSrc":"14709:6:2","nodeType":"YulIdentifier","src":"14709:6:2"}],"functionName":{"name":"add","nativeSrc":"14699:3:2","nodeType":"YulIdentifier","src":"14699:3:2"},"nativeSrc":"14699:17:2","nodeType":"YulFunctionCall","src":"14699:17:2"}],"functionName":{"name":"mload","nativeSrc":"14693:5:2","nodeType":"YulIdentifier","src":"14693:5:2"},"nativeSrc":"14693:24:2","nodeType":"YulFunctionCall","src":"14693:24:2"},{"name":"q","nativeSrc":"14739:1:2","nodeType":"YulIdentifier","src":"14739:1:2"}],"functionName":{"name":"addmod","nativeSrc":"14641:6:2","nodeType":"YulIdentifier","src":"14641:6:2"},"nativeSrc":"14641:117:2","nodeType":"YulFunctionCall","src":"14641:117:2"},"variableNames":[{"name":"t2","nativeSrc":"14635:2:2","nodeType":"YulIdentifier","src":"14635:2:2"}]},{"nativeSrc":"14792:23:2","nodeType":"YulAssignment","src":"14792:23:2","value":{"arguments":[{"name":"t1","nativeSrc":"14805:2:2","nodeType":"YulIdentifier","src":"14805:2:2"},{"name":"t2","nativeSrc":"14809:2:2","nodeType":"YulIdentifier","src":"14809:2:2"},{"name":"q","nativeSrc":"14813:1:2","nodeType":"YulIdentifier","src":"14813:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"14798:6:2","nodeType":"YulIdentifier","src":"14798:6:2"},"nativeSrc":"14798:17:2","nodeType":"YulFunctionCall","src":"14798:17:2"},"variableNames":[{"name":"t1","nativeSrc":"14792:2:2","nodeType":"YulIdentifier","src":"14792:2:2"}]},{"nativeSrc":"14849:148:2","nodeType":"YulAssignment","src":"14849:148:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14893:6:2","nodeType":"YulIdentifier","src":"14893:6:2"},{"name":"pEval_c","nativeSrc":"14901:7:2","nodeType":"YulIdentifier","src":"14901:7:2"}],"functionName":{"name":"add","nativeSrc":"14889:3:2","nodeType":"YulIdentifier","src":"14889:3:2"},"nativeSrc":"14889:20:2","nodeType":"YulFunctionCall","src":"14889:20:2"}],"functionName":{"name":"mload","nativeSrc":"14883:5:2","nodeType":"YulIdentifier","src":"14883:5:2"},"nativeSrc":"14883:27:2","nodeType":"YulFunctionCall","src":"14883:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14942:4:2","nodeType":"YulIdentifier","src":"14942:4:2"},{"name":"pGamma","nativeSrc":"14948:6:2","nodeType":"YulIdentifier","src":"14948:6:2"}],"functionName":{"name":"add","nativeSrc":"14938:3:2","nodeType":"YulIdentifier","src":"14938:3:2"},"nativeSrc":"14938:17:2","nodeType":"YulFunctionCall","src":"14938:17:2"}],"functionName":{"name":"mload","nativeSrc":"14932:5:2","nodeType":"YulIdentifier","src":"14932:5:2"},"nativeSrc":"14932:24:2","nodeType":"YulFunctionCall","src":"14932:24:2"},{"name":"q","nativeSrc":"14978:1:2","nodeType":"YulIdentifier","src":"14978:1:2"}],"functionName":{"name":"addmod","nativeSrc":"14855:6:2","nodeType":"YulIdentifier","src":"14855:6:2"},"nativeSrc":"14855:142:2","nodeType":"YulFunctionCall","src":"14855:142:2"},"variableNames":[{"name":"t2","nativeSrc":"14849:2:2","nodeType":"YulIdentifier","src":"14849:2:2"}]},{"nativeSrc":"15015:23:2","nodeType":"YulAssignment","src":"15015:23:2","value":{"arguments":[{"name":"t1","nativeSrc":"15028:2:2","nodeType":"YulIdentifier","src":"15028:2:2"},{"name":"t2","nativeSrc":"15032:2:2","nodeType":"YulIdentifier","src":"15032:2:2"},{"name":"q","nativeSrc":"15036:1:2","nodeType":"YulIdentifier","src":"15036:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"15021:6:2","nodeType":"YulIdentifier","src":"15021:6:2"},"nativeSrc":"15021:17:2","nodeType":"YulFunctionCall","src":"15021:17:2"},"variableNames":[{"name":"t1","nativeSrc":"15015:2:2","nodeType":"YulIdentifier","src":"15015:2:2"}]},{"nativeSrc":"15055:49:2","nodeType":"YulAssignment","src":"15055:49:2","value":{"arguments":[{"name":"t1","nativeSrc":"15068:2:2","nodeType":"YulIdentifier","src":"15068:2:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"15082:6:2","nodeType":"YulIdentifier","src":"15082:6:2"},{"name":"pEval_zw","nativeSrc":"15090:8:2","nodeType":"YulIdentifier","src":"15090:8:2"}],"functionName":{"name":"add","nativeSrc":"15078:3:2","nodeType":"YulIdentifier","src":"15078:3:2"},"nativeSrc":"15078:21:2","nodeType":"YulFunctionCall","src":"15078:21:2"}],"functionName":{"name":"mload","nativeSrc":"15072:5:2","nodeType":"YulIdentifier","src":"15072:5:2"},"nativeSrc":"15072:28:2","nodeType":"YulFunctionCall","src":"15072:28:2"},{"name":"q","nativeSrc":"15102:1:2","nodeType":"YulIdentifier","src":"15102:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"15061:6:2","nodeType":"YulIdentifier","src":"15061:6:2"},"nativeSrc":"15061:43:2","nodeType":"YulFunctionCall","src":"15061:43:2"},"variableNames":[{"name":"t1","nativeSrc":"15055:2:2","nodeType":"YulIdentifier","src":"15055:2:2"}]},{"nativeSrc":"15121:45:2","nodeType":"YulAssignment","src":"15121:45:2","value":{"arguments":[{"name":"t1","nativeSrc":"15134:2:2","nodeType":"YulIdentifier","src":"15134:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15148:4:2","nodeType":"YulIdentifier","src":"15148:4:2"},{"name":"pAlpha","nativeSrc":"15154:6:2","nodeType":"YulIdentifier","src":"15154:6:2"}],"functionName":{"name":"add","nativeSrc":"15144:3:2","nodeType":"YulIdentifier","src":"15144:3:2"},"nativeSrc":"15144:17:2","nodeType":"YulFunctionCall","src":"15144:17:2"}],"functionName":{"name":"mload","nativeSrc":"15138:5:2","nodeType":"YulIdentifier","src":"15138:5:2"},"nativeSrc":"15138:24:2","nodeType":"YulFunctionCall","src":"15138:24:2"},{"name":"q","nativeSrc":"15164:1:2","nodeType":"YulIdentifier","src":"15164:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"15127:6:2","nodeType":"YulIdentifier","src":"15127:6:2"},"nativeSrc":"15127:39:2","nodeType":"YulFunctionCall","src":"15127:39:2"},"variableNames":[{"name":"t1","nativeSrc":"15121:2:2","nodeType":"YulIdentifier","src":"15121:2:2"}]},{"nativeSrc":"15200:149:2","nodeType":"YulAssignment","src":"15200:149:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15244:4:2","nodeType":"YulIdentifier","src":"15244:4:2"},{"name":"pEval_l1","nativeSrc":"15250:8:2","nodeType":"YulIdentifier","src":"15250:8:2"}],"functionName":{"name":"add","nativeSrc":"15240:3:2","nodeType":"YulIdentifier","src":"15240:3:2"},"nativeSrc":"15240:19:2","nodeType":"YulFunctionCall","src":"15240:19:2"}],"functionName":{"name":"mload","nativeSrc":"15234:5:2","nodeType":"YulIdentifier","src":"15234:5:2"},"nativeSrc":"15234:26:2","nodeType":"YulFunctionCall","src":"15234:26:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15293:4:2","nodeType":"YulIdentifier","src":"15293:4:2"},{"name":"pAlpha","nativeSrc":"15299:6:2","nodeType":"YulIdentifier","src":"15299:6:2"}],"functionName":{"name":"add","nativeSrc":"15289:3:2","nodeType":"YulIdentifier","src":"15289:3:2"},"nativeSrc":"15289:17:2","nodeType":"YulFunctionCall","src":"15289:17:2"}],"functionName":{"name":"mload","nativeSrc":"15283:5:2","nodeType":"YulIdentifier","src":"15283:5:2"},"nativeSrc":"15283:24:2","nodeType":"YulFunctionCall","src":"15283:24:2"},{"name":"q","nativeSrc":"15330:1:2","nodeType":"YulIdentifier","src":"15330:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"15206:6:2","nodeType":"YulIdentifier","src":"15206:6:2"},"nativeSrc":"15206:143:2","nodeType":"YulFunctionCall","src":"15206:143:2"},"variableNames":[{"name":"t2","nativeSrc":"15200:2:2","nodeType":"YulIdentifier","src":"15200:2:2"}]},{"nativeSrc":"15367:125:2","nodeType":"YulAssignment","src":"15367:125:2","value":{"arguments":[{"name":"t2","nativeSrc":"15401:2:2","nodeType":"YulIdentifier","src":"15401:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15436:4:2","nodeType":"YulIdentifier","src":"15436:4:2"},{"name":"pAlpha","nativeSrc":"15442:6:2","nodeType":"YulIdentifier","src":"15442:6:2"}],"functionName":{"name":"add","nativeSrc":"15432:3:2","nodeType":"YulIdentifier","src":"15432:3:2"},"nativeSrc":"15432:17:2","nodeType":"YulFunctionCall","src":"15432:17:2"}],"functionName":{"name":"mload","nativeSrc":"15426:5:2","nodeType":"YulIdentifier","src":"15426:5:2"},"nativeSrc":"15426:24:2","nodeType":"YulFunctionCall","src":"15426:24:2"},{"name":"q","nativeSrc":"15473:1:2","nodeType":"YulIdentifier","src":"15473:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"15373:6:2","nodeType":"YulIdentifier","src":"15373:6:2"},"nativeSrc":"15373:119:2","nodeType":"YulFunctionCall","src":"15373:119:2"},"variableNames":[{"name":"t2","nativeSrc":"15367:2:2","nodeType":"YulIdentifier","src":"15367:2:2"}]},{"nativeSrc":"15510:23:2","nodeType":"YulAssignment","src":"15510:23:2","value":{"arguments":[{"name":"t1","nativeSrc":"15523:2:2","nodeType":"YulIdentifier","src":"15523:2:2"},{"name":"t2","nativeSrc":"15527:2:2","nodeType":"YulIdentifier","src":"15527:2:2"},{"name":"q","nativeSrc":"15531:1:2","nodeType":"YulIdentifier","src":"15531:1:2"}],"functionName":{"name":"addmod","nativeSrc":"15516:6:2","nodeType":"YulIdentifier","src":"15516:6:2"},"nativeSrc":"15516:17:2","nodeType":"YulFunctionCall","src":"15516:17:2"},"variableNames":[{"name":"t1","nativeSrc":"15510:2:2","nodeType":"YulIdentifier","src":"15510:2:2"}]},{"nativeSrc":"15567:31:2","nodeType":"YulAssignment","src":"15567:31:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"t","nativeSrc":"15584:1:2","nodeType":"YulIdentifier","src":"15584:1:2"},{"name":"q","nativeSrc":"15587:1:2","nodeType":"YulIdentifier","src":"15587:1:2"}],"functionName":{"name":"add","nativeSrc":"15580:3:2","nodeType":"YulIdentifier","src":"15580:3:2"},"nativeSrc":"15580:9:2","nodeType":"YulFunctionCall","src":"15580:9:2"},{"name":"t1","nativeSrc":"15591:2:2","nodeType":"YulIdentifier","src":"15591:2:2"}],"functionName":{"name":"sub","nativeSrc":"15576:3:2","nodeType":"YulIdentifier","src":"15576:3:2"},"nativeSrc":"15576:18:2","nodeType":"YulFunctionCall","src":"15576:18:2"},{"name":"q","nativeSrc":"15596:1:2","nodeType":"YulIdentifier","src":"15596:1:2"}],"functionName":{"name":"mod","nativeSrc":"15572:3:2","nodeType":"YulIdentifier","src":"15572:3:2"},"nativeSrc":"15572:26:2","nodeType":"YulFunctionCall","src":"15572:26:2"},"variableNames":[{"name":"t","nativeSrc":"15567:1:2","nodeType":"YulIdentifier","src":"15567:1:2"}]},{"nativeSrc":"15615:43:2","nodeType":"YulAssignment","src":"15615:43:2","value":{"arguments":[{"name":"t","nativeSrc":"15627:1:2","nodeType":"YulIdentifier","src":"15627:1:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15640:4:2","nodeType":"YulIdentifier","src":"15640:4:2"},{"name":"pZhInv","nativeSrc":"15646:6:2","nodeType":"YulIdentifier","src":"15646:6:2"}],"functionName":{"name":"add","nativeSrc":"15636:3:2","nodeType":"YulIdentifier","src":"15636:3:2"},"nativeSrc":"15636:17:2","nodeType":"YulFunctionCall","src":"15636:17:2"}],"functionName":{"name":"mload","nativeSrc":"15630:5:2","nodeType":"YulIdentifier","src":"15630:5:2"},"nativeSrc":"15630:24:2","nodeType":"YulFunctionCall","src":"15630:24:2"},{"name":"q","nativeSrc":"15656:1:2","nodeType":"YulIdentifier","src":"15656:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"15620:6:2","nodeType":"YulIdentifier","src":"15620:6:2"},"nativeSrc":"15620:38:2","nodeType":"YulFunctionCall","src":"15620:38:2"},"variableNames":[{"name":"t","nativeSrc":"15615:1:2","nodeType":"YulIdentifier","src":"15615:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15704:4:2","nodeType":"YulIdentifier","src":"15704:4:2"},{"name":"pEval_t","nativeSrc":"15710:7:2","nodeType":"YulIdentifier","src":"15710:7:2"}],"functionName":{"name":"add","nativeSrc":"15700:3:2","nodeType":"YulIdentifier","src":"15700:3:2"},"nativeSrc":"15700:18:2","nodeType":"YulFunctionCall","src":"15700:18:2"},{"name":"t","nativeSrc":"15721:1:2","nodeType":"YulIdentifier","src":"15721:1:2"}],"functionName":{"name":"mstore","nativeSrc":"15692:6:2","nodeType":"YulIdentifier","src":"15692:6:2"},"nativeSrc":"15692:31:2","nodeType":"YulFunctionCall","src":"15692:31:2"},"nativeSrc":"15692:31:2","nodeType":"YulExpressionStatement","src":"15692:31:2"}]},"name":"calculateT","nativeSrc":"13542:2196:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"13562:6:2","nodeType":"YulTypedName","src":"13562:6:2","type":""},{"name":"pMem","nativeSrc":"13570:4:2","nodeType":"YulTypedName","src":"13570:4:2","type":""}],"src":"13542:2196:2"},{"body":{"nativeSrc":"15788:108:2","nodeType":"YulBlock","src":"15788:108:2","statements":[{"expression":{"arguments":[{"name":"pR","nativeSrc":"15813:2:2","nodeType":"YulIdentifier","src":"15813:2:2"},{"arguments":[{"name":"pP","nativeSrc":"15823:2:2","nodeType":"YulIdentifier","src":"15823:2:2"}],"functionName":{"name":"mload","nativeSrc":"15817:5:2","nodeType":"YulIdentifier","src":"15817:5:2"},"nativeSrc":"15817:9:2","nodeType":"YulFunctionCall","src":"15817:9:2"}],"functionName":{"name":"mstore","nativeSrc":"15806:6:2","nodeType":"YulIdentifier","src":"15806:6:2"},"nativeSrc":"15806:21:2","nodeType":"YulFunctionCall","src":"15806:21:2"},"nativeSrc":"15806:21:2","nodeType":"YulExpressionStatement","src":"15806:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"15855:2:2","nodeType":"YulIdentifier","src":"15855:2:2"},{"kind":"number","nativeSrc":"15859:2:2","nodeType":"YulLiteral","src":"15859:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15851:3:2","nodeType":"YulIdentifier","src":"15851:3:2"},"nativeSrc":"15851:11:2","nodeType":"YulFunctionCall","src":"15851:11:2"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"15874:2:2","nodeType":"YulIdentifier","src":"15874:2:2"},{"kind":"number","nativeSrc":"15877:2:2","nodeType":"YulLiteral","src":"15877:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15870:3:2","nodeType":"YulIdentifier","src":"15870:3:2"},"nativeSrc":"15870:10:2","nodeType":"YulFunctionCall","src":"15870:10:2"}],"functionName":{"name":"mload","nativeSrc":"15864:5:2","nodeType":"YulIdentifier","src":"15864:5:2"},"nativeSrc":"15864:17:2","nodeType":"YulFunctionCall","src":"15864:17:2"}],"functionName":{"name":"mstore","nativeSrc":"15844:6:2","nodeType":"YulIdentifier","src":"15844:6:2"},"nativeSrc":"15844:38:2","nodeType":"YulFunctionCall","src":"15844:38:2"},"nativeSrc":"15844:38:2","nodeType":"YulExpressionStatement","src":"15844:38:2"}]},"name":"g1_set","nativeSrc":"15764:132:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15780:2:2","nodeType":"YulTypedName","src":"15780:2:2","type":""},{"name":"pP","nativeSrc":"15784:2:2","nodeType":"YulTypedName","src":"15784:2:2","type":""}],"src":"15764:132:2"},{"body":{"nativeSrc":"15934:474:2","nodeType":"YulBlock","src":"15934:474:2","statements":[{"nativeSrc":"15952:22:2","nodeType":"YulVariableDeclaration","src":"15952:22:2","value":{"arguments":[{"kind":"number","nativeSrc":"15969:4:2","nodeType":"YulLiteral","src":"15969:4:2","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"15963:5:2","nodeType":"YulIdentifier","src":"15963:5:2"},"nativeSrc":"15963:11:2","nodeType":"YulFunctionCall","src":"15963:11:2"},"variables":[{"name":"mIn","nativeSrc":"15956:3:2","nodeType":"YulTypedName","src":"15956:3:2","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"15998:3:2","nodeType":"YulIdentifier","src":"15998:3:2"},{"arguments":[{"name":"pR","nativeSrc":"16009:2:2","nodeType":"YulIdentifier","src":"16009:2:2"}],"functionName":{"name":"mload","nativeSrc":"16003:5:2","nodeType":"YulIdentifier","src":"16003:5:2"},"nativeSrc":"16003:9:2","nodeType":"YulFunctionCall","src":"16003:9:2"}],"functionName":{"name":"mstore","nativeSrc":"15991:6:2","nodeType":"YulIdentifier","src":"15991:6:2"},"nativeSrc":"15991:22:2","nodeType":"YulFunctionCall","src":"15991:22:2"},"nativeSrc":"15991:22:2","nodeType":"YulExpressionStatement","src":"15991:22:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16041:3:2","nodeType":"YulIdentifier","src":"16041:3:2"},{"kind":"number","nativeSrc":"16045:2:2","nodeType":"YulLiteral","src":"16045:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16037:3:2","nodeType":"YulIdentifier","src":"16037:3:2"},"nativeSrc":"16037:11:2","nodeType":"YulFunctionCall","src":"16037:11:2"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16060:2:2","nodeType":"YulIdentifier","src":"16060:2:2"},{"kind":"number","nativeSrc":"16064:2:2","nodeType":"YulLiteral","src":"16064:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16056:3:2","nodeType":"YulIdentifier","src":"16056:3:2"},"nativeSrc":"16056:11:2","nodeType":"YulFunctionCall","src":"16056:11:2"}],"functionName":{"name":"mload","nativeSrc":"16050:5:2","nodeType":"YulIdentifier","src":"16050:5:2"},"nativeSrc":"16050:18:2","nodeType":"YulFunctionCall","src":"16050:18:2"}],"functionName":{"name":"mstore","nativeSrc":"16030:6:2","nodeType":"YulIdentifier","src":"16030:6:2"},"nativeSrc":"16030:39:2","nodeType":"YulFunctionCall","src":"16030:39:2"},"nativeSrc":"16030:39:2","nodeType":"YulExpressionStatement","src":"16030:39:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16097:3:2","nodeType":"YulIdentifier","src":"16097:3:2"},{"kind":"number","nativeSrc":"16101:2:2","nodeType":"YulLiteral","src":"16101:2:2","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16093:3:2","nodeType":"YulIdentifier","src":"16093:3:2"},"nativeSrc":"16093:11:2","nodeType":"YulFunctionCall","src":"16093:11:2"},{"arguments":[{"name":"pP","nativeSrc":"16112:2:2","nodeType":"YulIdentifier","src":"16112:2:2"}],"functionName":{"name":"mload","nativeSrc":"16106:5:2","nodeType":"YulIdentifier","src":"16106:5:2"},"nativeSrc":"16106:9:2","nodeType":"YulFunctionCall","src":"16106:9:2"}],"functionName":{"name":"mstore","nativeSrc":"16086:6:2","nodeType":"YulIdentifier","src":"16086:6:2"},"nativeSrc":"16086:30:2","nodeType":"YulFunctionCall","src":"16086:30:2"},"nativeSrc":"16086:30:2","nodeType":"YulExpressionStatement","src":"16086:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16144:3:2","nodeType":"YulIdentifier","src":"16144:3:2"},{"kind":"number","nativeSrc":"16148:2:2","nodeType":"YulLiteral","src":"16148:2:2","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16140:3:2","nodeType":"YulIdentifier","src":"16140:3:2"},"nativeSrc":"16140:11:2","nodeType":"YulFunctionCall","src":"16140:11:2"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16163:2:2","nodeType":"YulIdentifier","src":"16163:2:2"},{"kind":"number","nativeSrc":"16167:2:2","nodeType":"YulLiteral","src":"16167:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16159:3:2","nodeType":"YulIdentifier","src":"16159:3:2"},"nativeSrc":"16159:11:2","nodeType":"YulFunctionCall","src":"16159:11:2"}],"functionName":{"name":"mload","nativeSrc":"16153:5:2","nodeType":"YulIdentifier","src":"16153:5:2"},"nativeSrc":"16153:18:2","nodeType":"YulFunctionCall","src":"16153:18:2"}],"functionName":{"name":"mstore","nativeSrc":"16133:6:2","nodeType":"YulIdentifier","src":"16133:6:2"},"nativeSrc":"16133:39:2","nodeType":"YulFunctionCall","src":"16133:39:2"},"nativeSrc":"16133:39:2","nodeType":"YulExpressionStatement","src":"16133:39:2"},{"nativeSrc":"16190:64:2","nodeType":"YulVariableDeclaration","src":"16190:64:2","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16220:3:2","nodeType":"YulIdentifier","src":"16220:3:2"},"nativeSrc":"16220:5:2","nodeType":"YulFunctionCall","src":"16220:5:2"},{"kind":"number","nativeSrc":"16227:4:2","nodeType":"YulLiteral","src":"16227:4:2","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16216:3:2","nodeType":"YulIdentifier","src":"16216:3:2"},"nativeSrc":"16216:16:2","nodeType":"YulFunctionCall","src":"16216:16:2"},{"kind":"number","nativeSrc":"16234:1:2","nodeType":"YulLiteral","src":"16234:1:2","type":"","value":"6"},{"name":"mIn","nativeSrc":"16237:3:2","nodeType":"YulIdentifier","src":"16237:3:2"},{"kind":"number","nativeSrc":"16242:3:2","nodeType":"YulLiteral","src":"16242:3:2","type":"","value":"128"},{"name":"pR","nativeSrc":"16247:2:2","nodeType":"YulIdentifier","src":"16247:2:2"},{"kind":"number","nativeSrc":"16251:2:2","nodeType":"YulLiteral","src":"16251:2:2","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16205:10:2","nodeType":"YulIdentifier","src":"16205:10:2"},"nativeSrc":"16205:49:2","nodeType":"YulFunctionCall","src":"16205:49:2"},"variables":[{"name":"success","nativeSrc":"16194:7:2","nodeType":"YulTypedName","src":"16194:7:2","type":""}]},{"body":{"nativeSrc":"16307:87:2","nodeType":"YulBlock","src":"16307:87:2","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16336:1:2","nodeType":"YulLiteral","src":"16336:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"16339:1:2","nodeType":"YulLiteral","src":"16339:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16329:6:2","nodeType":"YulIdentifier","src":"16329:6:2"},"nativeSrc":"16329:12:2","nodeType":"YulFunctionCall","src":"16329:12:2"},"nativeSrc":"16329:12:2","nodeType":"YulExpressionStatement","src":"16329:12:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16369:1:2","nodeType":"YulLiteral","src":"16369:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"16371:4:2","nodeType":"YulLiteral","src":"16371:4:2","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16362:6:2","nodeType":"YulIdentifier","src":"16362:6:2"},"nativeSrc":"16362:14:2","nodeType":"YulFunctionCall","src":"16362:14:2"},"nativeSrc":"16362:14:2","nodeType":"YulExpressionStatement","src":"16362:14:2"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16298:7:2","nodeType":"YulIdentifier","src":"16298:7:2"}],"functionName":{"name":"iszero","nativeSrc":"16291:6:2","nodeType":"YulIdentifier","src":"16291:6:2"},"nativeSrc":"16291:15:2","nodeType":"YulFunctionCall","src":"16291:15:2"},"nativeSrc":"16288:106:2","nodeType":"YulIf","src":"16288:106:2"}]},"name":"g1_acc","nativeSrc":"15910:498:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15926:2:2","nodeType":"YulTypedName","src":"15926:2:2","type":""},{"name":"pP","nativeSrc":"15930:2:2","nodeType":"YulTypedName","src":"15930:2:2","type":""}],"src":"15910:498:2"},{"body":{"nativeSrc":"16452:789:2","nodeType":"YulBlock","src":"16452:789:2","statements":[{"nativeSrc":"16470:11:2","nodeType":"YulVariableDeclaration","src":"16470:11:2","variables":[{"name":"success","nativeSrc":"16474:7:2","nodeType":"YulTypedName","src":"16474:7:2","type":""}]},{"nativeSrc":"16498:22:2","nodeType":"YulVariableDeclaration","src":"16498:22:2","value":{"arguments":[{"kind":"number","nativeSrc":"16515:4:2","nodeType":"YulLiteral","src":"16515:4:2","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"16509:5:2","nodeType":"YulIdentifier","src":"16509:5:2"},"nativeSrc":"16509:11:2","nodeType":"YulFunctionCall","src":"16509:11:2"},"variables":[{"name":"mIn","nativeSrc":"16502:3:2","nodeType":"YulTypedName","src":"16502:3:2","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"16544:3:2","nodeType":"YulIdentifier","src":"16544:3:2"},{"arguments":[{"name":"pP","nativeSrc":"16555:2:2","nodeType":"YulIdentifier","src":"16555:2:2"}],"functionName":{"name":"mload","nativeSrc":"16549:5:2","nodeType":"YulIdentifier","src":"16549:5:2"},"nativeSrc":"16549:9:2","nodeType":"YulFunctionCall","src":"16549:9:2"}],"functionName":{"name":"mstore","nativeSrc":"16537:6:2","nodeType":"YulIdentifier","src":"16537:6:2"},"nativeSrc":"16537:22:2","nodeType":"YulFunctionCall","src":"16537:22:2"},"nativeSrc":"16537:22:2","nodeType":"YulExpressionStatement","src":"16537:22:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16587:3:2","nodeType":"YulIdentifier","src":"16587:3:2"},{"kind":"number","nativeSrc":"16591:2:2","nodeType":"YulLiteral","src":"16591:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16583:3:2","nodeType":"YulIdentifier","src":"16583:3:2"},"nativeSrc":"16583:11:2","nodeType":"YulFunctionCall","src":"16583:11:2"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16606:2:2","nodeType":"YulIdentifier","src":"16606:2:2"},{"kind":"number","nativeSrc":"16610:2:2","nodeType":"YulLiteral","src":"16610:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16602:3:2","nodeType":"YulIdentifier","src":"16602:3:2"},"nativeSrc":"16602:11:2","nodeType":"YulFunctionCall","src":"16602:11:2"}],"functionName":{"name":"mload","nativeSrc":"16596:5:2","nodeType":"YulIdentifier","src":"16596:5:2"},"nativeSrc":"16596:18:2","nodeType":"YulFunctionCall","src":"16596:18:2"}],"functionName":{"name":"mstore","nativeSrc":"16576:6:2","nodeType":"YulIdentifier","src":"16576:6:2"},"nativeSrc":"16576:39:2","nodeType":"YulFunctionCall","src":"16576:39:2"},"nativeSrc":"16576:39:2","nodeType":"YulExpressionStatement","src":"16576:39:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16643:3:2","nodeType":"YulIdentifier","src":"16643:3:2"},{"kind":"number","nativeSrc":"16647:2:2","nodeType":"YulLiteral","src":"16647:2:2","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16639:3:2","nodeType":"YulIdentifier","src":"16639:3:2"},"nativeSrc":"16639:11:2","nodeType":"YulFunctionCall","src":"16639:11:2"},{"name":"s","nativeSrc":"16652:1:2","nodeType":"YulIdentifier","src":"16652:1:2"}],"functionName":{"name":"mstore","nativeSrc":"16632:6:2","nodeType":"YulIdentifier","src":"16632:6:2"},"nativeSrc":"16632:22:2","nodeType":"YulFunctionCall","src":"16632:22:2"},"nativeSrc":"16632:22:2","nodeType":"YulExpressionStatement","src":"16632:22:2"},{"nativeSrc":"16672:60:2","nodeType":"YulAssignment","src":"16672:60:2","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16698:3:2","nodeType":"YulIdentifier","src":"16698:3:2"},"nativeSrc":"16698:5:2","nodeType":"YulFunctionCall","src":"16698:5:2"},{"kind":"number","nativeSrc":"16705:4:2","nodeType":"YulLiteral","src":"16705:4:2","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16694:3:2","nodeType":"YulIdentifier","src":"16694:3:2"},"nativeSrc":"16694:16:2","nodeType":"YulFunctionCall","src":"16694:16:2"},{"kind":"number","nativeSrc":"16712:1:2","nodeType":"YulLiteral","src":"16712:1:2","type":"","value":"7"},{"name":"mIn","nativeSrc":"16715:3:2","nodeType":"YulIdentifier","src":"16715:3:2"},{"kind":"number","nativeSrc":"16720:2:2","nodeType":"YulLiteral","src":"16720:2:2","type":"","value":"96"},{"name":"mIn","nativeSrc":"16724:3:2","nodeType":"YulIdentifier","src":"16724:3:2"},{"kind":"number","nativeSrc":"16729:2:2","nodeType":"YulLiteral","src":"16729:2:2","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16683:10:2","nodeType":"YulIdentifier","src":"16683:10:2"},"nativeSrc":"16683:49:2","nodeType":"YulFunctionCall","src":"16683:49:2"},"variableNames":[{"name":"success","nativeSrc":"16672:7:2","nodeType":"YulIdentifier","src":"16672:7:2"}]},{"body":{"nativeSrc":"16785:87:2","nodeType":"YulBlock","src":"16785:87:2","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16814:1:2","nodeType":"YulLiteral","src":"16814:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"16817:1:2","nodeType":"YulLiteral","src":"16817:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16807:6:2","nodeType":"YulIdentifier","src":"16807:6:2"},"nativeSrc":"16807:12:2","nodeType":"YulFunctionCall","src":"16807:12:2"},"nativeSrc":"16807:12:2","nodeType":"YulExpressionStatement","src":"16807:12:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16847:1:2","nodeType":"YulLiteral","src":"16847:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"16849:4:2","nodeType":"YulLiteral","src":"16849:4:2","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16840:6:2","nodeType":"YulIdentifier","src":"16840:6:2"},"nativeSrc":"16840:14:2","nodeType":"YulFunctionCall","src":"16840:14:2"},"nativeSrc":"16840:14:2","nodeType":"YulExpressionStatement","src":"16840:14:2"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16776:7:2","nodeType":"YulIdentifier","src":"16776:7:2"}],"functionName":{"name":"iszero","nativeSrc":"16769:6:2","nodeType":"YulIdentifier","src":"16769:6:2"},"nativeSrc":"16769:15:2","nodeType":"YulFunctionCall","src":"16769:15:2"},"nativeSrc":"16766:106:2","nodeType":"YulIf","src":"16766:106:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16917:3:2","nodeType":"YulIdentifier","src":"16917:3:2"},{"kind":"number","nativeSrc":"16921:2:2","nodeType":"YulLiteral","src":"16921:2:2","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16913:3:2","nodeType":"YulIdentifier","src":"16913:3:2"},"nativeSrc":"16913:11:2","nodeType":"YulFunctionCall","src":"16913:11:2"},{"arguments":[{"name":"pR","nativeSrc":"16932:2:2","nodeType":"YulIdentifier","src":"16932:2:2"}],"functionName":{"name":"mload","nativeSrc":"16926:5:2","nodeType":"YulIdentifier","src":"16926:5:2"},"nativeSrc":"16926:9:2","nodeType":"YulFunctionCall","src":"16926:9:2"}],"functionName":{"name":"mstore","nativeSrc":"16906:6:2","nodeType":"YulIdentifier","src":"16906:6:2"},"nativeSrc":"16906:30:2","nodeType":"YulFunctionCall","src":"16906:30:2"},"nativeSrc":"16906:30:2","nodeType":"YulExpressionStatement","src":"16906:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16964:3:2","nodeType":"YulIdentifier","src":"16964:3:2"},{"kind":"number","nativeSrc":"16968:2:2","nodeType":"YulLiteral","src":"16968:2:2","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16960:3:2","nodeType":"YulIdentifier","src":"16960:3:2"},"nativeSrc":"16960:11:2","nodeType":"YulFunctionCall","src":"16960:11:2"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16983:2:2","nodeType":"YulIdentifier","src":"16983:2:2"},{"kind":"number","nativeSrc":"16987:2:2","nodeType":"YulLiteral","src":"16987:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16979:3:2","nodeType":"YulIdentifier","src":"16979:3:2"},"nativeSrc":"16979:11:2","nodeType":"YulFunctionCall","src":"16979:11:2"}],"functionName":{"name":"mload","nativeSrc":"16973:5:2","nodeType":"YulIdentifier","src":"16973:5:2"},"nativeSrc":"16973:18:2","nodeType":"YulFunctionCall","src":"16973:18:2"}],"functionName":{"name":"mstore","nativeSrc":"16953:6:2","nodeType":"YulIdentifier","src":"16953:6:2"},"nativeSrc":"16953:39:2","nodeType":"YulFunctionCall","src":"16953:39:2"},"nativeSrc":"16953:39:2","nodeType":"YulExpressionStatement","src":"16953:39:2"},{"nativeSrc":"17010:60:2","nodeType":"YulAssignment","src":"17010:60:2","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17036:3:2","nodeType":"YulIdentifier","src":"17036:3:2"},"nativeSrc":"17036:5:2","nodeType":"YulFunctionCall","src":"17036:5:2"},{"kind":"number","nativeSrc":"17043:4:2","nodeType":"YulLiteral","src":"17043:4:2","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17032:3:2","nodeType":"YulIdentifier","src":"17032:3:2"},"nativeSrc":"17032:16:2","nodeType":"YulFunctionCall","src":"17032:16:2"},{"kind":"number","nativeSrc":"17050:1:2","nodeType":"YulLiteral","src":"17050:1:2","type":"","value":"6"},{"name":"mIn","nativeSrc":"17053:3:2","nodeType":"YulIdentifier","src":"17053:3:2"},{"kind":"number","nativeSrc":"17058:3:2","nodeType":"YulLiteral","src":"17058:3:2","type":"","value":"128"},{"name":"pR","nativeSrc":"17063:2:2","nodeType":"YulIdentifier","src":"17063:2:2"},{"kind":"number","nativeSrc":"17067:2:2","nodeType":"YulLiteral","src":"17067:2:2","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17021:10:2","nodeType":"YulIdentifier","src":"17021:10:2"},"nativeSrc":"17021:49:2","nodeType":"YulFunctionCall","src":"17021:49:2"},"variableNames":[{"name":"success","nativeSrc":"17010:7:2","nodeType":"YulIdentifier","src":"17010:7:2"}]},{"body":{"nativeSrc":"17123:87:2","nodeType":"YulBlock","src":"17123:87:2","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17152:1:2","nodeType":"YulLiteral","src":"17152:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"17155:1:2","nodeType":"YulLiteral","src":"17155:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17145:6:2","nodeType":"YulIdentifier","src":"17145:6:2"},"nativeSrc":"17145:12:2","nodeType":"YulFunctionCall","src":"17145:12:2"},"nativeSrc":"17145:12:2","nodeType":"YulExpressionStatement","src":"17145:12:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17185:1:2","nodeType":"YulLiteral","src":"17185:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"17187:4:2","nodeType":"YulLiteral","src":"17187:4:2","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17178:6:2","nodeType":"YulIdentifier","src":"17178:6:2"},"nativeSrc":"17178:14:2","nodeType":"YulFunctionCall","src":"17178:14:2"},"nativeSrc":"17178:14:2","nodeType":"YulExpressionStatement","src":"17178:14:2"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17114:7:2","nodeType":"YulIdentifier","src":"17114:7:2"}],"functionName":{"name":"iszero","nativeSrc":"17107:6:2","nodeType":"YulIdentifier","src":"17107:6:2"},"nativeSrc":"17107:15:2","nodeType":"YulFunctionCall","src":"17107:15:2"},"nativeSrc":"17104:106:2","nodeType":"YulIf","src":"17104:106:2"}]},"name":"g1_mulAcc","nativeSrc":"16422:819:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"16441:2:2","nodeType":"YulTypedName","src":"16441:2:2","type":""},{"name":"pP","nativeSrc":"16445:2:2","nodeType":"YulTypedName","src":"16445:2:2","type":""},{"name":"s","nativeSrc":"16449:1:2","nodeType":"YulTypedName","src":"16449:1:2","type":""}],"src":"16422:819:2"},{"body":{"nativeSrc":"17288:747:2","nodeType":"YulBlock","src":"17288:747:2","statements":[{"nativeSrc":"17306:11:2","nodeType":"YulVariableDeclaration","src":"17306:11:2","variables":[{"name":"success","nativeSrc":"17310:7:2","nodeType":"YulTypedName","src":"17310:7:2","type":""}]},{"nativeSrc":"17334:22:2","nodeType":"YulVariableDeclaration","src":"17334:22:2","value":{"arguments":[{"kind":"number","nativeSrc":"17351:4:2","nodeType":"YulLiteral","src":"17351:4:2","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17345:5:2","nodeType":"YulIdentifier","src":"17345:5:2"},"nativeSrc":"17345:11:2","nodeType":"YulFunctionCall","src":"17345:11:2"},"variables":[{"name":"mIn","nativeSrc":"17338:3:2","nodeType":"YulTypedName","src":"17338:3:2","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"17380:3:2","nodeType":"YulIdentifier","src":"17380:3:2"},{"name":"x","nativeSrc":"17385:1:2","nodeType":"YulIdentifier","src":"17385:1:2"}],"functionName":{"name":"mstore","nativeSrc":"17373:6:2","nodeType":"YulIdentifier","src":"17373:6:2"},"nativeSrc":"17373:14:2","nodeType":"YulFunctionCall","src":"17373:14:2"},"nativeSrc":"17373:14:2","nodeType":"YulExpressionStatement","src":"17373:14:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17415:3:2","nodeType":"YulIdentifier","src":"17415:3:2"},{"kind":"number","nativeSrc":"17419:2:2","nodeType":"YulLiteral","src":"17419:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17411:3:2","nodeType":"YulIdentifier","src":"17411:3:2"},"nativeSrc":"17411:11:2","nodeType":"YulFunctionCall","src":"17411:11:2"},{"name":"y","nativeSrc":"17424:1:2","nodeType":"YulIdentifier","src":"17424:1:2"}],"functionName":{"name":"mstore","nativeSrc":"17404:6:2","nodeType":"YulIdentifier","src":"17404:6:2"},"nativeSrc":"17404:22:2","nodeType":"YulFunctionCall","src":"17404:22:2"},"nativeSrc":"17404:22:2","nodeType":"YulExpressionStatement","src":"17404:22:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17454:3:2","nodeType":"YulIdentifier","src":"17454:3:2"},{"kind":"number","nativeSrc":"17458:2:2","nodeType":"YulLiteral","src":"17458:2:2","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17450:3:2","nodeType":"YulIdentifier","src":"17450:3:2"},"nativeSrc":"17450:11:2","nodeType":"YulFunctionCall","src":"17450:11:2"},{"name":"s","nativeSrc":"17463:1:2","nodeType":"YulIdentifier","src":"17463:1:2"}],"functionName":{"name":"mstore","nativeSrc":"17443:6:2","nodeType":"YulIdentifier","src":"17443:6:2"},"nativeSrc":"17443:22:2","nodeType":"YulFunctionCall","src":"17443:22:2"},"nativeSrc":"17443:22:2","nodeType":"YulExpressionStatement","src":"17443:22:2"},{"nativeSrc":"17483:60:2","nodeType":"YulAssignment","src":"17483:60:2","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17509:3:2","nodeType":"YulIdentifier","src":"17509:3:2"},"nativeSrc":"17509:5:2","nodeType":"YulFunctionCall","src":"17509:5:2"},{"kind":"number","nativeSrc":"17516:4:2","nodeType":"YulLiteral","src":"17516:4:2","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17505:3:2","nodeType":"YulIdentifier","src":"17505:3:2"},"nativeSrc":"17505:16:2","nodeType":"YulFunctionCall","src":"17505:16:2"},{"kind":"number","nativeSrc":"17523:1:2","nodeType":"YulLiteral","src":"17523:1:2","type":"","value":"7"},{"name":"mIn","nativeSrc":"17526:3:2","nodeType":"YulIdentifier","src":"17526:3:2"},{"kind":"number","nativeSrc":"17531:2:2","nodeType":"YulLiteral","src":"17531:2:2","type":"","value":"96"},{"name":"mIn","nativeSrc":"17535:3:2","nodeType":"YulIdentifier","src":"17535:3:2"},{"kind":"number","nativeSrc":"17540:2:2","nodeType":"YulLiteral","src":"17540:2:2","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17494:10:2","nodeType":"YulIdentifier","src":"17494:10:2"},"nativeSrc":"17494:49:2","nodeType":"YulFunctionCall","src":"17494:49:2"},"variableNames":[{"name":"success","nativeSrc":"17483:7:2","nodeType":"YulIdentifier","src":"17483:7:2"}]},{"body":{"nativeSrc":"17596:87:2","nodeType":"YulBlock","src":"17596:87:2","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17625:1:2","nodeType":"YulLiteral","src":"17625:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"17628:1:2","nodeType":"YulLiteral","src":"17628:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17618:6:2","nodeType":"YulIdentifier","src":"17618:6:2"},"nativeSrc":"17618:12:2","nodeType":"YulFunctionCall","src":"17618:12:2"},"nativeSrc":"17618:12:2","nodeType":"YulExpressionStatement","src":"17618:12:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17658:1:2","nodeType":"YulLiteral","src":"17658:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"17660:4:2","nodeType":"YulLiteral","src":"17660:4:2","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17651:6:2","nodeType":"YulIdentifier","src":"17651:6:2"},"nativeSrc":"17651:14:2","nodeType":"YulFunctionCall","src":"17651:14:2"},"nativeSrc":"17651:14:2","nodeType":"YulExpressionStatement","src":"17651:14:2"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17587:7:2","nodeType":"YulIdentifier","src":"17587:7:2"}],"functionName":{"name":"iszero","nativeSrc":"17580:6:2","nodeType":"YulIdentifier","src":"17580:6:2"},"nativeSrc":"17580:15:2","nodeType":"YulFunctionCall","src":"17580:15:2"},"nativeSrc":"17577:106:2","nodeType":"YulIf","src":"17577:106:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17728:3:2","nodeType":"YulIdentifier","src":"17728:3:2"},{"kind":"number","nativeSrc":"17732:2:2","nodeType":"YulLiteral","src":"17732:2:2","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17724:3:2","nodeType":"YulIdentifier","src":"17724:3:2"},"nativeSrc":"17724:11:2","nodeType":"YulFunctionCall","src":"17724:11:2"},{"arguments":[{"name":"pR","nativeSrc":"17743:2:2","nodeType":"YulIdentifier","src":"17743:2:2"}],"functionName":{"name":"mload","nativeSrc":"17737:5:2","nodeType":"YulIdentifier","src":"17737:5:2"},"nativeSrc":"17737:9:2","nodeType":"YulFunctionCall","src":"17737:9:2"}],"functionName":{"name":"mstore","nativeSrc":"17717:6:2","nodeType":"YulIdentifier","src":"17717:6:2"},"nativeSrc":"17717:30:2","nodeType":"YulFunctionCall","src":"17717:30:2"},"nativeSrc":"17717:30:2","nodeType":"YulExpressionStatement","src":"17717:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17775:3:2","nodeType":"YulIdentifier","src":"17775:3:2"},{"kind":"number","nativeSrc":"17779:2:2","nodeType":"YulLiteral","src":"17779:2:2","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"17771:3:2","nodeType":"YulIdentifier","src":"17771:3:2"},"nativeSrc":"17771:11:2","nodeType":"YulFunctionCall","src":"17771:11:2"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"17794:2:2","nodeType":"YulIdentifier","src":"17794:2:2"},{"kind":"number","nativeSrc":"17798:2:2","nodeType":"YulLiteral","src":"17798:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17790:3:2","nodeType":"YulIdentifier","src":"17790:3:2"},"nativeSrc":"17790:11:2","nodeType":"YulFunctionCall","src":"17790:11:2"}],"functionName":{"name":"mload","nativeSrc":"17784:5:2","nodeType":"YulIdentifier","src":"17784:5:2"},"nativeSrc":"17784:18:2","nodeType":"YulFunctionCall","src":"17784:18:2"}],"functionName":{"name":"mstore","nativeSrc":"17764:6:2","nodeType":"YulIdentifier","src":"17764:6:2"},"nativeSrc":"17764:39:2","nodeType":"YulFunctionCall","src":"17764:39:2"},"nativeSrc":"17764:39:2","nodeType":"YulExpressionStatement","src":"17764:39:2"},{"nativeSrc":"17821:60:2","nodeType":"YulAssignment","src":"17821:60:2","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17847:3:2","nodeType":"YulIdentifier","src":"17847:3:2"},"nativeSrc":"17847:5:2","nodeType":"YulFunctionCall","src":"17847:5:2"},{"kind":"number","nativeSrc":"17854:4:2","nodeType":"YulLiteral","src":"17854:4:2","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17843:3:2","nodeType":"YulIdentifier","src":"17843:3:2"},"nativeSrc":"17843:16:2","nodeType":"YulFunctionCall","src":"17843:16:2"},{"kind":"number","nativeSrc":"17861:1:2","nodeType":"YulLiteral","src":"17861:1:2","type":"","value":"6"},{"name":"mIn","nativeSrc":"17864:3:2","nodeType":"YulIdentifier","src":"17864:3:2"},{"kind":"number","nativeSrc":"17869:3:2","nodeType":"YulLiteral","src":"17869:3:2","type":"","value":"128"},{"name":"pR","nativeSrc":"17874:2:2","nodeType":"YulIdentifier","src":"17874:2:2"},{"kind":"number","nativeSrc":"17878:2:2","nodeType":"YulLiteral","src":"17878:2:2","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17832:10:2","nodeType":"YulIdentifier","src":"17832:10:2"},"nativeSrc":"17832:49:2","nodeType":"YulFunctionCall","src":"17832:49:2"},"variableNames":[{"name":"success","nativeSrc":"17821:7:2","nodeType":"YulIdentifier","src":"17821:7:2"}]},{"body":{"nativeSrc":"17934:87:2","nodeType":"YulBlock","src":"17934:87:2","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17963:1:2","nodeType":"YulLiteral","src":"17963:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"17966:1:2","nodeType":"YulLiteral","src":"17966:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17956:6:2","nodeType":"YulIdentifier","src":"17956:6:2"},"nativeSrc":"17956:12:2","nodeType":"YulFunctionCall","src":"17956:12:2"},"nativeSrc":"17956:12:2","nodeType":"YulExpressionStatement","src":"17956:12:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17996:1:2","nodeType":"YulLiteral","src":"17996:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"17998:4:2","nodeType":"YulLiteral","src":"17998:4:2","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17989:6:2","nodeType":"YulIdentifier","src":"17989:6:2"},"nativeSrc":"17989:14:2","nodeType":"YulFunctionCall","src":"17989:14:2"},"nativeSrc":"17989:14:2","nodeType":"YulExpressionStatement","src":"17989:14:2"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17925:7:2","nodeType":"YulIdentifier","src":"17925:7:2"}],"functionName":{"name":"iszero","nativeSrc":"17918:6:2","nodeType":"YulIdentifier","src":"17918:6:2"},"nativeSrc":"17918:15:2","nodeType":"YulFunctionCall","src":"17918:15:2"},"nativeSrc":"17915:106:2","nodeType":"YulIf","src":"17915:106:2"}]},"name":"g1_mulAccC","nativeSrc":"17255:780:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"17275:2:2","nodeType":"YulTypedName","src":"17275:2:2","type":""},{"name":"x","nativeSrc":"17279:1:2","nodeType":"YulTypedName","src":"17279:1:2","type":""},{"name":"y","nativeSrc":"17282:1:2","nodeType":"YulTypedName","src":"17282:1:2","type":""},{"name":"s","nativeSrc":"17285:1:2","nodeType":"YulTypedName","src":"17285:1:2","type":""}],"src":"17255:780:2"},{"body":{"nativeSrc":"18082:408:2","nodeType":"YulBlock","src":"18082:408:2","statements":[{"nativeSrc":"18100:11:2","nodeType":"YulVariableDeclaration","src":"18100:11:2","variables":[{"name":"success","nativeSrc":"18104:7:2","nodeType":"YulTypedName","src":"18104:7:2","type":""}]},{"nativeSrc":"18128:22:2","nodeType":"YulVariableDeclaration","src":"18128:22:2","value":{"arguments":[{"kind":"number","nativeSrc":"18145:4:2","nodeType":"YulLiteral","src":"18145:4:2","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"18139:5:2","nodeType":"YulIdentifier","src":"18139:5:2"},"nativeSrc":"18139:11:2","nodeType":"YulFunctionCall","src":"18139:11:2"},"variables":[{"name":"mIn","nativeSrc":"18132:3:2","nodeType":"YulTypedName","src":"18132:3:2","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"18174:3:2","nodeType":"YulIdentifier","src":"18174:3:2"},{"name":"x","nativeSrc":"18179:1:2","nodeType":"YulIdentifier","src":"18179:1:2"}],"functionName":{"name":"mstore","nativeSrc":"18167:6:2","nodeType":"YulIdentifier","src":"18167:6:2"},"nativeSrc":"18167:14:2","nodeType":"YulFunctionCall","src":"18167:14:2"},"nativeSrc":"18167:14:2","nodeType":"YulExpressionStatement","src":"18167:14:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18209:3:2","nodeType":"YulIdentifier","src":"18209:3:2"},{"kind":"number","nativeSrc":"18213:2:2","nodeType":"YulLiteral","src":"18213:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"18205:3:2","nodeType":"YulIdentifier","src":"18205:3:2"},"nativeSrc":"18205:11:2","nodeType":"YulFunctionCall","src":"18205:11:2"},{"name":"y","nativeSrc":"18218:1:2","nodeType":"YulIdentifier","src":"18218:1:2"}],"functionName":{"name":"mstore","nativeSrc":"18198:6:2","nodeType":"YulIdentifier","src":"18198:6:2"},"nativeSrc":"18198:22:2","nodeType":"YulFunctionCall","src":"18198:22:2"},"nativeSrc":"18198:22:2","nodeType":"YulExpressionStatement","src":"18198:22:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18248:3:2","nodeType":"YulIdentifier","src":"18248:3:2"},{"kind":"number","nativeSrc":"18252:2:2","nodeType":"YulLiteral","src":"18252:2:2","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"18244:3:2","nodeType":"YulIdentifier","src":"18244:3:2"},"nativeSrc":"18244:11:2","nodeType":"YulFunctionCall","src":"18244:11:2"},{"name":"s","nativeSrc":"18257:1:2","nodeType":"YulIdentifier","src":"18257:1:2"}],"functionName":{"name":"mstore","nativeSrc":"18237:6:2","nodeType":"YulIdentifier","src":"18237:6:2"},"nativeSrc":"18237:22:2","nodeType":"YulFunctionCall","src":"18237:22:2"},"nativeSrc":"18237:22:2","nodeType":"YulExpressionStatement","src":"18237:22:2"},{"nativeSrc":"18277:59:2","nodeType":"YulAssignment","src":"18277:59:2","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"18303:3:2","nodeType":"YulIdentifier","src":"18303:3:2"},"nativeSrc":"18303:5:2","nodeType":"YulFunctionCall","src":"18303:5:2"},{"kind":"number","nativeSrc":"18310:4:2","nodeType":"YulLiteral","src":"18310:4:2","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"18299:3:2","nodeType":"YulIdentifier","src":"18299:3:2"},"nativeSrc":"18299:16:2","nodeType":"YulFunctionCall","src":"18299:16:2"},{"kind":"number","nativeSrc":"18317:1:2","nodeType":"YulLiteral","src":"18317:1:2","type":"","value":"7"},{"name":"mIn","nativeSrc":"18320:3:2","nodeType":"YulIdentifier","src":"18320:3:2"},{"kind":"number","nativeSrc":"18325:2:2","nodeType":"YulLiteral","src":"18325:2:2","type":"","value":"96"},{"name":"pR","nativeSrc":"18329:2:2","nodeType":"YulIdentifier","src":"18329:2:2"},{"kind":"number","nativeSrc":"18333:2:2","nodeType":"YulLiteral","src":"18333:2:2","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"18288:10:2","nodeType":"YulIdentifier","src":"18288:10:2"},"nativeSrc":"18288:48:2","nodeType":"YulFunctionCall","src":"18288:48:2"},"variableNames":[{"name":"success","nativeSrc":"18277:7:2","nodeType":"YulIdentifier","src":"18277:7:2"}]},{"body":{"nativeSrc":"18389:87:2","nodeType":"YulBlock","src":"18389:87:2","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"18418:1:2","nodeType":"YulLiteral","src":"18418:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"18421:1:2","nodeType":"YulLiteral","src":"18421:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"18411:6:2","nodeType":"YulIdentifier","src":"18411:6:2"},"nativeSrc":"18411:12:2","nodeType":"YulFunctionCall","src":"18411:12:2"},"nativeSrc":"18411:12:2","nodeType":"YulExpressionStatement","src":"18411:12:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18451:1:2","nodeType":"YulLiteral","src":"18451:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"18453:4:2","nodeType":"YulLiteral","src":"18453:4:2","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"18444:6:2","nodeType":"YulIdentifier","src":"18444:6:2"},"nativeSrc":"18444:14:2","nodeType":"YulFunctionCall","src":"18444:14:2"},"nativeSrc":"18444:14:2","nodeType":"YulExpressionStatement","src":"18444:14:2"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"18380:7:2","nodeType":"YulIdentifier","src":"18380:7:2"}],"functionName":{"name":"iszero","nativeSrc":"18373:6:2","nodeType":"YulIdentifier","src":"18373:6:2"},"nativeSrc":"18373:15:2","nodeType":"YulFunctionCall","src":"18373:15:2"},"nativeSrc":"18370:106:2","nodeType":"YulIf","src":"18370:106:2"}]},"name":"g1_mulSetC","nativeSrc":"18049:441:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"18069:2:2","nodeType":"YulTypedName","src":"18069:2:2","type":""},{"name":"x","nativeSrc":"18073:1:2","nodeType":"YulTypedName","src":"18073:1:2","type":""},{"name":"y","nativeSrc":"18076:1:2","nodeType":"YulTypedName","src":"18076:1:2","type":""},{"name":"s","nativeSrc":"18079:1:2","nodeType":"YulTypedName","src":"18079:1:2","type":""}],"src":"18049:441:2"},{"body":{"nativeSrc":"18540:171:2","nodeType":"YulBlock","src":"18540:171:2","statements":[{"nativeSrc":"18558:23:2","nodeType":"YulVariableDeclaration","src":"18558:23:2","value":{"arguments":[{"name":"pMem","nativeSrc":"18571:4:2","nodeType":"YulIdentifier","src":"18571:4:2"},{"name":"pA1","nativeSrc":"18577:3:2","nodeType":"YulIdentifier","src":"18577:3:2"}],"functionName":{"name":"add","nativeSrc":"18567:3:2","nodeType":"YulIdentifier","src":"18567:3:2"},"nativeSrc":"18567:14:2","nodeType":"YulFunctionCall","src":"18567:14:2"},"variables":[{"name":"p","nativeSrc":"18562:1:2","nodeType":"YulTypedName","src":"18562:1:2","type":""}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"18605:1:2","nodeType":"YulIdentifier","src":"18605:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"18612:6:2","nodeType":"YulIdentifier","src":"18612:6:2"},{"name":"pWxi","nativeSrc":"18620:4:2","nodeType":"YulIdentifier","src":"18620:4:2"}],"functionName":{"name":"add","nativeSrc":"18608:3:2","nodeType":"YulIdentifier","src":"18608:3:2"},"nativeSrc":"18608:17:2","nodeType":"YulFunctionCall","src":"18608:17:2"}],"functionName":{"name":"g1_set","nativeSrc":"18598:6:2","nodeType":"YulIdentifier","src":"18598:6:2"},"nativeSrc":"18598:28:2","nodeType":"YulFunctionCall","src":"18598:28:2"},"nativeSrc":"18598:28:2","nodeType":"YulExpressionStatement","src":"18598:28:2"},{"expression":{"arguments":[{"name":"p","nativeSrc":"18653:1:2","nodeType":"YulIdentifier","src":"18653:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"18660:6:2","nodeType":"YulIdentifier","src":"18660:6:2"},{"name":"pWxiw","nativeSrc":"18668:5:2","nodeType":"YulIdentifier","src":"18668:5:2"}],"functionName":{"name":"add","nativeSrc":"18656:3:2","nodeType":"YulIdentifier","src":"18656:3:2"},"nativeSrc":"18656:18:2","nodeType":"YulFunctionCall","src":"18656:18:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18686:4:2","nodeType":"YulIdentifier","src":"18686:4:2"},{"name":"pU","nativeSrc":"18692:2:2","nodeType":"YulIdentifier","src":"18692:2:2"}],"functionName":{"name":"add","nativeSrc":"18682:3:2","nodeType":"YulIdentifier","src":"18682:3:2"},"nativeSrc":"18682:13:2","nodeType":"YulFunctionCall","src":"18682:13:2"}],"functionName":{"name":"mload","nativeSrc":"18676:5:2","nodeType":"YulIdentifier","src":"18676:5:2"},"nativeSrc":"18676:20:2","nodeType":"YulFunctionCall","src":"18676:20:2"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"18643:9:2","nodeType":"YulIdentifier","src":"18643:9:2"},"nativeSrc":"18643:54:2","nodeType":"YulFunctionCall","src":"18643:54:2"},"nativeSrc":"18643:54:2","nodeType":"YulExpressionStatement","src":"18643:54:2"}]},"name":"calculateA1","nativeSrc":"18505:206:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18526:6:2","nodeType":"YulTypedName","src":"18526:6:2","type":""},{"name":"pMem","nativeSrc":"18534:4:2","nodeType":"YulTypedName","src":"18534:4:2","type":""}],"src":"18505:206:2"},{"body":{"nativeSrc":"18785:4443:2","nodeType":"YulBlock","src":"18785:4443:2","statements":[{"nativeSrc":"18803:5:2","nodeType":"YulVariableDeclaration","src":"18803:5:2","variables":[{"name":"s","nativeSrc":"18807:1:2","nodeType":"YulTypedName","src":"18807:1:2","type":""}]},{"nativeSrc":"18825:6:2","nodeType":"YulVariableDeclaration","src":"18825:6:2","variables":[{"name":"s1","nativeSrc":"18829:2:2","nodeType":"YulTypedName","src":"18829:2:2","type":""}]},{"nativeSrc":"18848:23:2","nodeType":"YulVariableDeclaration","src":"18848:23:2","value":{"arguments":[{"name":"pMem","nativeSrc":"18861:4:2","nodeType":"YulIdentifier","src":"18861:4:2"},{"name":"pB1","nativeSrc":"18867:3:2","nodeType":"YulIdentifier","src":"18867:3:2"}],"functionName":{"name":"add","nativeSrc":"18857:3:2","nodeType":"YulIdentifier","src":"18857:3:2"},"nativeSrc":"18857:14:2","nodeType":"YulFunctionCall","src":"18857:14:2"},"variables":[{"name":"p","nativeSrc":"18852:1:2","nodeType":"YulTypedName","src":"18852:1:2","type":""}]},{"nativeSrc":"18936:67:2","nodeType":"YulAssignment","src":"18936:67:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"18959:6:2","nodeType":"YulIdentifier","src":"18959:6:2"},{"name":"pEval_a","nativeSrc":"18967:7:2","nodeType":"YulIdentifier","src":"18967:7:2"}],"functionName":{"name":"add","nativeSrc":"18955:3:2","nodeType":"YulIdentifier","src":"18955:3:2"},"nativeSrc":"18955:20:2","nodeType":"YulFunctionCall","src":"18955:20:2"}],"functionName":{"name":"mload","nativeSrc":"18949:5:2","nodeType":"YulIdentifier","src":"18949:5:2"},"nativeSrc":"18949:27:2","nodeType":"YulFunctionCall","src":"18949:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18988:4:2","nodeType":"YulIdentifier","src":"18988:4:2"},{"name":"pV1","nativeSrc":"18994:3:2","nodeType":"YulIdentifier","src":"18994:3:2"}],"functionName":{"name":"add","nativeSrc":"18984:3:2","nodeType":"YulIdentifier","src":"18984:3:2"},"nativeSrc":"18984:14:2","nodeType":"YulFunctionCall","src":"18984:14:2"}],"functionName":{"name":"mload","nativeSrc":"18978:5:2","nodeType":"YulIdentifier","src":"18978:5:2"},"nativeSrc":"18978:21:2","nodeType":"YulFunctionCall","src":"18978:21:2"},{"name":"q","nativeSrc":"19001:1:2","nodeType":"YulIdentifier","src":"19001:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"18941:6:2","nodeType":"YulIdentifier","src":"18941:6:2"},"nativeSrc":"18941:62:2","nodeType":"YulFunctionCall","src":"18941:62:2"},"variableNames":[{"name":"s","nativeSrc":"18936:1:2","nodeType":"YulIdentifier","src":"18936:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19031:1:2","nodeType":"YulIdentifier","src":"19031:1:2"},{"name":"Qlx","nativeSrc":"19034:3:2","nodeType":"YulIdentifier","src":"19034:3:2"},{"name":"Qly","nativeSrc":"19039:3:2","nodeType":"YulIdentifier","src":"19039:3:2"},{"name":"s","nativeSrc":"19044:1:2","nodeType":"YulIdentifier","src":"19044:1:2"}],"functionName":{"name":"g1_mulSetC","nativeSrc":"19020:10:2","nodeType":"YulIdentifier","src":"19020:10:2"},"nativeSrc":"19020:26:2","nodeType":"YulFunctionCall","src":"19020:26:2"},"nativeSrc":"19020:26:2","nodeType":"YulExpressionStatement","src":"19020:26:2"},{"nativeSrc":"19064:47:2","nodeType":"YulAssignment","src":"19064:47:2","value":{"arguments":[{"name":"s","nativeSrc":"19077:1:2","nodeType":"YulIdentifier","src":"19077:1:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19090:6:2","nodeType":"YulIdentifier","src":"19090:6:2"},{"name":"pEval_b","nativeSrc":"19098:7:2","nodeType":"YulIdentifier","src":"19098:7:2"}],"functionName":{"name":"add","nativeSrc":"19086:3:2","nodeType":"YulIdentifier","src":"19086:3:2"},"nativeSrc":"19086:20:2","nodeType":"YulFunctionCall","src":"19086:20:2"}],"functionName":{"name":"mload","nativeSrc":"19080:5:2","nodeType":"YulIdentifier","src":"19080:5:2"},"nativeSrc":"19080:27:2","nodeType":"YulFunctionCall","src":"19080:27:2"},{"name":"q","nativeSrc":"19109:1:2","nodeType":"YulIdentifier","src":"19109:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"19069:6:2","nodeType":"YulIdentifier","src":"19069:6:2"},"nativeSrc":"19069:42:2","nodeType":"YulFunctionCall","src":"19069:42:2"},"variableNames":[{"name":"s","nativeSrc":"19064:1:2","nodeType":"YulIdentifier","src":"19064:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19155:1:2","nodeType":"YulIdentifier","src":"19155:1:2"},{"name":"Qmx","nativeSrc":"19158:3:2","nodeType":"YulIdentifier","src":"19158:3:2"},{"name":"Qmy","nativeSrc":"19163:3:2","nodeType":"YulIdentifier","src":"19163:3:2"},{"name":"s","nativeSrc":"19168:1:2","nodeType":"YulIdentifier","src":"19168:1:2"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19144:10:2","nodeType":"YulIdentifier","src":"19144:10:2"},"nativeSrc":"19144:26:2","nodeType":"YulFunctionCall","src":"19144:26:2"},"nativeSrc":"19144:26:2","nodeType":"YulExpressionStatement","src":"19144:26:2"},{"nativeSrc":"19188:67:2","nodeType":"YulAssignment","src":"19188:67:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19211:6:2","nodeType":"YulIdentifier","src":"19211:6:2"},{"name":"pEval_b","nativeSrc":"19219:7:2","nodeType":"YulIdentifier","src":"19219:7:2"}],"functionName":{"name":"add","nativeSrc":"19207:3:2","nodeType":"YulIdentifier","src":"19207:3:2"},"nativeSrc":"19207:20:2","nodeType":"YulFunctionCall","src":"19207:20:2"}],"functionName":{"name":"mload","nativeSrc":"19201:5:2","nodeType":"YulIdentifier","src":"19201:5:2"},"nativeSrc":"19201:27:2","nodeType":"YulFunctionCall","src":"19201:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19240:4:2","nodeType":"YulIdentifier","src":"19240:4:2"},{"name":"pV1","nativeSrc":"19246:3:2","nodeType":"YulIdentifier","src":"19246:3:2"}],"functionName":{"name":"add","nativeSrc":"19236:3:2","nodeType":"YulIdentifier","src":"19236:3:2"},"nativeSrc":"19236:14:2","nodeType":"YulFunctionCall","src":"19236:14:2"}],"functionName":{"name":"mload","nativeSrc":"19230:5:2","nodeType":"YulIdentifier","src":"19230:5:2"},"nativeSrc":"19230:21:2","nodeType":"YulFunctionCall","src":"19230:21:2"},{"name":"q","nativeSrc":"19253:1:2","nodeType":"YulIdentifier","src":"19253:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"19193:6:2","nodeType":"YulIdentifier","src":"19193:6:2"},"nativeSrc":"19193:62:2","nodeType":"YulFunctionCall","src":"19193:62:2"},"variableNames":[{"name":"s","nativeSrc":"19188:1:2","nodeType":"YulIdentifier","src":"19188:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19283:1:2","nodeType":"YulIdentifier","src":"19283:1:2"},{"name":"Qrx","nativeSrc":"19286:3:2","nodeType":"YulIdentifier","src":"19286:3:2"},{"name":"Qry","nativeSrc":"19291:3:2","nodeType":"YulIdentifier","src":"19291:3:2"},{"name":"s","nativeSrc":"19296:1:2","nodeType":"YulIdentifier","src":"19296:1:2"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19272:10:2","nodeType":"YulIdentifier","src":"19272:10:2"},"nativeSrc":"19272:26:2","nodeType":"YulFunctionCall","src":"19272:26:2"},"nativeSrc":"19272:26:2","nodeType":"YulExpressionStatement","src":"19272:26:2"},{"nativeSrc":"19332:67:2","nodeType":"YulAssignment","src":"19332:67:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19355:6:2","nodeType":"YulIdentifier","src":"19355:6:2"},{"name":"pEval_c","nativeSrc":"19363:7:2","nodeType":"YulIdentifier","src":"19363:7:2"}],"functionName":{"name":"add","nativeSrc":"19351:3:2","nodeType":"YulIdentifier","src":"19351:3:2"},"nativeSrc":"19351:20:2","nodeType":"YulFunctionCall","src":"19351:20:2"}],"functionName":{"name":"mload","nativeSrc":"19345:5:2","nodeType":"YulIdentifier","src":"19345:5:2"},"nativeSrc":"19345:27:2","nodeType":"YulFunctionCall","src":"19345:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19384:4:2","nodeType":"YulIdentifier","src":"19384:4:2"},{"name":"pV1","nativeSrc":"19390:3:2","nodeType":"YulIdentifier","src":"19390:3:2"}],"functionName":{"name":"add","nativeSrc":"19380:3:2","nodeType":"YulIdentifier","src":"19380:3:2"},"nativeSrc":"19380:14:2","nodeType":"YulFunctionCall","src":"19380:14:2"}],"functionName":{"name":"mload","nativeSrc":"19374:5:2","nodeType":"YulIdentifier","src":"19374:5:2"},"nativeSrc":"19374:21:2","nodeType":"YulFunctionCall","src":"19374:21:2"},{"name":"q","nativeSrc":"19397:1:2","nodeType":"YulIdentifier","src":"19397:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"19337:6:2","nodeType":"YulIdentifier","src":"19337:6:2"},"nativeSrc":"19337:62:2","nodeType":"YulFunctionCall","src":"19337:62:2"},"variableNames":[{"name":"s","nativeSrc":"19332:1:2","nodeType":"YulIdentifier","src":"19332:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19427:1:2","nodeType":"YulIdentifier","src":"19427:1:2"},{"name":"Qox","nativeSrc":"19430:3:2","nodeType":"YulIdentifier","src":"19430:3:2"},{"name":"Qoy","nativeSrc":"19435:3:2","nodeType":"YulIdentifier","src":"19435:3:2"},{"name":"s","nativeSrc":"19440:1:2","nodeType":"YulIdentifier","src":"19440:1:2"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19416:10:2","nodeType":"YulIdentifier","src":"19416:10:2"},"nativeSrc":"19416:26:2","nodeType":"YulFunctionCall","src":"19416:26:2"},"nativeSrc":"19416:26:2","nodeType":"YulExpressionStatement","src":"19416:26:2"},{"nativeSrc":"19460:25:2","nodeType":"YulAssignment","src":"19460:25:2","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19474:4:2","nodeType":"YulIdentifier","src":"19474:4:2"},{"name":"pV1","nativeSrc":"19480:3:2","nodeType":"YulIdentifier","src":"19480:3:2"}],"functionName":{"name":"add","nativeSrc":"19470:3:2","nodeType":"YulIdentifier","src":"19470:3:2"},"nativeSrc":"19470:14:2","nodeType":"YulFunctionCall","src":"19470:14:2"}],"functionName":{"name":"mload","nativeSrc":"19464:5:2","nodeType":"YulIdentifier","src":"19464:5:2"},"nativeSrc":"19464:21:2","nodeType":"YulFunctionCall","src":"19464:21:2"},"variableNames":[{"name":"s","nativeSrc":"19460:1:2","nodeType":"YulIdentifier","src":"19460:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19513:1:2","nodeType":"YulIdentifier","src":"19513:1:2"},{"name":"Qcx","nativeSrc":"19516:3:2","nodeType":"YulIdentifier","src":"19516:3:2"},{"name":"Qcy","nativeSrc":"19521:3:2","nodeType":"YulIdentifier","src":"19521:3:2"},{"name":"s","nativeSrc":"19526:1:2","nodeType":"YulIdentifier","src":"19526:1:2"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19502:10:2","nodeType":"YulIdentifier","src":"19502:10:2"},"nativeSrc":"19502:26:2","nodeType":"YulFunctionCall","src":"19502:26:2"},"nativeSrc":"19502:26:2","nodeType":"YulExpressionStatement","src":"19502:26:2"},{"nativeSrc":"19546:70:2","nodeType":"YulAssignment","src":"19546:70:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19568:6:2","nodeType":"YulIdentifier","src":"19568:6:2"},{"name":"pEval_a","nativeSrc":"19576:7:2","nodeType":"YulIdentifier","src":"19576:7:2"}],"functionName":{"name":"add","nativeSrc":"19564:3:2","nodeType":"YulIdentifier","src":"19564:3:2"},"nativeSrc":"19564:20:2","nodeType":"YulFunctionCall","src":"19564:20:2"}],"functionName":{"name":"mload","nativeSrc":"19558:5:2","nodeType":"YulIdentifier","src":"19558:5:2"},"nativeSrc":"19558:27:2","nodeType":"YulFunctionCall","src":"19558:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19597:4:2","nodeType":"YulIdentifier","src":"19597:4:2"},{"name":"pBetaXi","nativeSrc":"19603:7:2","nodeType":"YulIdentifier","src":"19603:7:2"}],"functionName":{"name":"add","nativeSrc":"19593:3:2","nodeType":"YulIdentifier","src":"19593:3:2"},"nativeSrc":"19593:18:2","nodeType":"YulFunctionCall","src":"19593:18:2"}],"functionName":{"name":"mload","nativeSrc":"19587:5:2","nodeType":"YulIdentifier","src":"19587:5:2"},"nativeSrc":"19587:25:2","nodeType":"YulFunctionCall","src":"19587:25:2"},{"name":"q","nativeSrc":"19614:1:2","nodeType":"YulIdentifier","src":"19614:1:2"}],"functionName":{"name":"addmod","nativeSrc":"19551:6:2","nodeType":"YulIdentifier","src":"19551:6:2"},"nativeSrc":"19551:65:2","nodeType":"YulFunctionCall","src":"19551:65:2"},"variableNames":[{"name":"s","nativeSrc":"19546:1:2","nodeType":"YulIdentifier","src":"19546:1:2"}]},{"nativeSrc":"19633:43:2","nodeType":"YulAssignment","src":"19633:43:2","value":{"arguments":[{"name":"s","nativeSrc":"19645:1:2","nodeType":"YulIdentifier","src":"19645:1:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19658:4:2","nodeType":"YulIdentifier","src":"19658:4:2"},{"name":"pGamma","nativeSrc":"19664:6:2","nodeType":"YulIdentifier","src":"19664:6:2"}],"functionName":{"name":"add","nativeSrc":"19654:3:2","nodeType":"YulIdentifier","src":"19654:3:2"},"nativeSrc":"19654:17:2","nodeType":"YulFunctionCall","src":"19654:17:2"}],"functionName":{"name":"mload","nativeSrc":"19648:5:2","nodeType":"YulIdentifier","src":"19648:5:2"},"nativeSrc":"19648:24:2","nodeType":"YulFunctionCall","src":"19648:24:2"},{"name":"q","nativeSrc":"19674:1:2","nodeType":"YulIdentifier","src":"19674:1:2"}],"functionName":{"name":"addmod","nativeSrc":"19638:6:2","nodeType":"YulIdentifier","src":"19638:6:2"},"nativeSrc":"19638:38:2","nodeType":"YulFunctionCall","src":"19638:38:2"},"variableNames":[{"name":"s","nativeSrc":"19633:1:2","nodeType":"YulIdentifier","src":"19633:1:2"}]},{"nativeSrc":"19693:46:2","nodeType":"YulAssignment","src":"19693:46:2","value":{"arguments":[{"name":"k1","nativeSrc":"19706:2:2","nodeType":"YulIdentifier","src":"19706:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19720:4:2","nodeType":"YulIdentifier","src":"19720:4:2"},{"name":"pBetaXi","nativeSrc":"19726:7:2","nodeType":"YulIdentifier","src":"19726:7:2"}],"functionName":{"name":"add","nativeSrc":"19716:3:2","nodeType":"YulIdentifier","src":"19716:3:2"},"nativeSrc":"19716:18:2","nodeType":"YulFunctionCall","src":"19716:18:2"}],"functionName":{"name":"mload","nativeSrc":"19710:5:2","nodeType":"YulIdentifier","src":"19710:5:2"},"nativeSrc":"19710:25:2","nodeType":"YulFunctionCall","src":"19710:25:2"},{"name":"q","nativeSrc":"19737:1:2","nodeType":"YulIdentifier","src":"19737:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"19699:6:2","nodeType":"YulIdentifier","src":"19699:6:2"},"nativeSrc":"19699:40:2","nodeType":"YulFunctionCall","src":"19699:40:2"},"variableNames":[{"name":"s1","nativeSrc":"19693:2:2","nodeType":"YulIdentifier","src":"19693:2:2"}]},{"nativeSrc":"19756:48:2","nodeType":"YulAssignment","src":"19756:48:2","value":{"arguments":[{"name":"s1","nativeSrc":"19769:2:2","nodeType":"YulIdentifier","src":"19769:2:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19783:6:2","nodeType":"YulIdentifier","src":"19783:6:2"},{"name":"pEval_b","nativeSrc":"19791:7:2","nodeType":"YulIdentifier","src":"19791:7:2"}],"functionName":{"name":"add","nativeSrc":"19779:3:2","nodeType":"YulIdentifier","src":"19779:3:2"},"nativeSrc":"19779:20:2","nodeType":"YulFunctionCall","src":"19779:20:2"}],"functionName":{"name":"mload","nativeSrc":"19773:5:2","nodeType":"YulIdentifier","src":"19773:5:2"},"nativeSrc":"19773:27:2","nodeType":"YulFunctionCall","src":"19773:27:2"},{"name":"q","nativeSrc":"19802:1:2","nodeType":"YulIdentifier","src":"19802:1:2"}],"functionName":{"name":"addmod","nativeSrc":"19762:6:2","nodeType":"YulIdentifier","src":"19762:6:2"},"nativeSrc":"19762:42:2","nodeType":"YulFunctionCall","src":"19762:42:2"},"variableNames":[{"name":"s1","nativeSrc":"19756:2:2","nodeType":"YulIdentifier","src":"19756:2:2"}]},{"nativeSrc":"19821:45:2","nodeType":"YulAssignment","src":"19821:45:2","value":{"arguments":[{"name":"s1","nativeSrc":"19834:2:2","nodeType":"YulIdentifier","src":"19834:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19848:4:2","nodeType":"YulIdentifier","src":"19848:4:2"},{"name":"pGamma","nativeSrc":"19854:6:2","nodeType":"YulIdentifier","src":"19854:6:2"}],"functionName":{"name":"add","nativeSrc":"19844:3:2","nodeType":"YulIdentifier","src":"19844:3:2"},"nativeSrc":"19844:17:2","nodeType":"YulFunctionCall","src":"19844:17:2"}],"functionName":{"name":"mload","nativeSrc":"19838:5:2","nodeType":"YulIdentifier","src":"19838:5:2"},"nativeSrc":"19838:24:2","nodeType":"YulFunctionCall","src":"19838:24:2"},{"name":"q","nativeSrc":"19864:1:2","nodeType":"YulIdentifier","src":"19864:1:2"}],"functionName":{"name":"addmod","nativeSrc":"19827:6:2","nodeType":"YulIdentifier","src":"19827:6:2"},"nativeSrc":"19827:39:2","nodeType":"YulFunctionCall","src":"19827:39:2"},"variableNames":[{"name":"s1","nativeSrc":"19821:2:2","nodeType":"YulIdentifier","src":"19821:2:2"}]},{"nativeSrc":"19883:21:2","nodeType":"YulAssignment","src":"19883:21:2","value":{"arguments":[{"name":"s","nativeSrc":"19895:1:2","nodeType":"YulIdentifier","src":"19895:1:2"},{"name":"s1","nativeSrc":"19898:2:2","nodeType":"YulIdentifier","src":"19898:2:2"},{"name":"q","nativeSrc":"19902:1:2","nodeType":"YulIdentifier","src":"19902:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"19888:6:2","nodeType":"YulIdentifier","src":"19888:6:2"},"nativeSrc":"19888:16:2","nodeType":"YulFunctionCall","src":"19888:16:2"},"variableNames":[{"name":"s","nativeSrc":"19883:1:2","nodeType":"YulIdentifier","src":"19883:1:2"}]},{"nativeSrc":"19921:46:2","nodeType":"YulAssignment","src":"19921:46:2","value":{"arguments":[{"name":"k2","nativeSrc":"19934:2:2","nodeType":"YulIdentifier","src":"19934:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19948:4:2","nodeType":"YulIdentifier","src":"19948:4:2"},{"name":"pBetaXi","nativeSrc":"19954:7:2","nodeType":"YulIdentifier","src":"19954:7:2"}],"functionName":{"name":"add","nativeSrc":"19944:3:2","nodeType":"YulIdentifier","src":"19944:3:2"},"nativeSrc":"19944:18:2","nodeType":"YulFunctionCall","src":"19944:18:2"}],"functionName":{"name":"mload","nativeSrc":"19938:5:2","nodeType":"YulIdentifier","src":"19938:5:2"},"nativeSrc":"19938:25:2","nodeType":"YulFunctionCall","src":"19938:25:2"},{"name":"q","nativeSrc":"19965:1:2","nodeType":"YulIdentifier","src":"19965:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"19927:6:2","nodeType":"YulIdentifier","src":"19927:6:2"},"nativeSrc":"19927:40:2","nodeType":"YulFunctionCall","src":"19927:40:2"},"variableNames":[{"name":"s1","nativeSrc":"19921:2:2","nodeType":"YulIdentifier","src":"19921:2:2"}]},{"nativeSrc":"19984:48:2","nodeType":"YulAssignment","src":"19984:48:2","value":{"arguments":[{"name":"s1","nativeSrc":"19997:2:2","nodeType":"YulIdentifier","src":"19997:2:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20011:6:2","nodeType":"YulIdentifier","src":"20011:6:2"},{"name":"pEval_c","nativeSrc":"20019:7:2","nodeType":"YulIdentifier","src":"20019:7:2"}],"functionName":{"name":"add","nativeSrc":"20007:3:2","nodeType":"YulIdentifier","src":"20007:3:2"},"nativeSrc":"20007:20:2","nodeType":"YulFunctionCall","src":"20007:20:2"}],"functionName":{"name":"mload","nativeSrc":"20001:5:2","nodeType":"YulIdentifier","src":"20001:5:2"},"nativeSrc":"20001:27:2","nodeType":"YulFunctionCall","src":"20001:27:2"},{"name":"q","nativeSrc":"20030:1:2","nodeType":"YulIdentifier","src":"20030:1:2"}],"functionName":{"name":"addmod","nativeSrc":"19990:6:2","nodeType":"YulIdentifier","src":"19990:6:2"},"nativeSrc":"19990:42:2","nodeType":"YulFunctionCall","src":"19990:42:2"},"variableNames":[{"name":"s1","nativeSrc":"19984:2:2","nodeType":"YulIdentifier","src":"19984:2:2"}]},{"nativeSrc":"20049:45:2","nodeType":"YulAssignment","src":"20049:45:2","value":{"arguments":[{"name":"s1","nativeSrc":"20062:2:2","nodeType":"YulIdentifier","src":"20062:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20076:4:2","nodeType":"YulIdentifier","src":"20076:4:2"},{"name":"pGamma","nativeSrc":"20082:6:2","nodeType":"YulIdentifier","src":"20082:6:2"}],"functionName":{"name":"add","nativeSrc":"20072:3:2","nodeType":"YulIdentifier","src":"20072:3:2"},"nativeSrc":"20072:17:2","nodeType":"YulFunctionCall","src":"20072:17:2"}],"functionName":{"name":"mload","nativeSrc":"20066:5:2","nodeType":"YulIdentifier","src":"20066:5:2"},"nativeSrc":"20066:24:2","nodeType":"YulFunctionCall","src":"20066:24:2"},{"name":"q","nativeSrc":"20092:1:2","nodeType":"YulIdentifier","src":"20092:1:2"}],"functionName":{"name":"addmod","nativeSrc":"20055:6:2","nodeType":"YulIdentifier","src":"20055:6:2"},"nativeSrc":"20055:39:2","nodeType":"YulFunctionCall","src":"20055:39:2"},"variableNames":[{"name":"s1","nativeSrc":"20049:2:2","nodeType":"YulIdentifier","src":"20049:2:2"}]},{"nativeSrc":"20111:21:2","nodeType":"YulAssignment","src":"20111:21:2","value":{"arguments":[{"name":"s","nativeSrc":"20123:1:2","nodeType":"YulIdentifier","src":"20123:1:2"},{"name":"s1","nativeSrc":"20126:2:2","nodeType":"YulIdentifier","src":"20126:2:2"},{"name":"q","nativeSrc":"20130:1:2","nodeType":"YulIdentifier","src":"20130:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"20116:6:2","nodeType":"YulIdentifier","src":"20116:6:2"},"nativeSrc":"20116:16:2","nodeType":"YulFunctionCall","src":"20116:16:2"},"variableNames":[{"name":"s","nativeSrc":"20111:1:2","nodeType":"YulIdentifier","src":"20111:1:2"}]},{"nativeSrc":"20149:43:2","nodeType":"YulAssignment","src":"20149:43:2","value":{"arguments":[{"name":"s","nativeSrc":"20161:1:2","nodeType":"YulIdentifier","src":"20161:1:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20174:4:2","nodeType":"YulIdentifier","src":"20174:4:2"},{"name":"pAlpha","nativeSrc":"20180:6:2","nodeType":"YulIdentifier","src":"20180:6:2"}],"functionName":{"name":"add","nativeSrc":"20170:3:2","nodeType":"YulIdentifier","src":"20170:3:2"},"nativeSrc":"20170:17:2","nodeType":"YulFunctionCall","src":"20170:17:2"}],"functionName":{"name":"mload","nativeSrc":"20164:5:2","nodeType":"YulIdentifier","src":"20164:5:2"},"nativeSrc":"20164:24:2","nodeType":"YulFunctionCall","src":"20164:24:2"},{"name":"q","nativeSrc":"20190:1:2","nodeType":"YulIdentifier","src":"20190:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"20154:6:2","nodeType":"YulIdentifier","src":"20154:6:2"},"nativeSrc":"20154:38:2","nodeType":"YulFunctionCall","src":"20154:38:2"},"variableNames":[{"name":"s","nativeSrc":"20149:1:2","nodeType":"YulIdentifier","src":"20149:1:2"}]},{"nativeSrc":"20209:40:2","nodeType":"YulAssignment","src":"20209:40:2","value":{"arguments":[{"name":"s","nativeSrc":"20221:1:2","nodeType":"YulIdentifier","src":"20221:1:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20234:4:2","nodeType":"YulIdentifier","src":"20234:4:2"},{"name":"pV1","nativeSrc":"20240:3:2","nodeType":"YulIdentifier","src":"20240:3:2"}],"functionName":{"name":"add","nativeSrc":"20230:3:2","nodeType":"YulIdentifier","src":"20230:3:2"},"nativeSrc":"20230:14:2","nodeType":"YulFunctionCall","src":"20230:14:2"}],"functionName":{"name":"mload","nativeSrc":"20224:5:2","nodeType":"YulIdentifier","src":"20224:5:2"},"nativeSrc":"20224:21:2","nodeType":"YulFunctionCall","src":"20224:21:2"},{"name":"q","nativeSrc":"20247:1:2","nodeType":"YulIdentifier","src":"20247:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"20214:6:2","nodeType":"YulIdentifier","src":"20214:6:2"},"nativeSrc":"20214:35:2","nodeType":"YulFunctionCall","src":"20214:35:2"},"variableNames":[{"name":"s","nativeSrc":"20209:1:2","nodeType":"YulIdentifier","src":"20209:1:2"}]},{"nativeSrc":"20266:69:2","nodeType":"YulAssignment","src":"20266:69:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20289:4:2","nodeType":"YulIdentifier","src":"20289:4:2"},{"name":"pEval_l1","nativeSrc":"20295:8:2","nodeType":"YulIdentifier","src":"20295:8:2"}],"functionName":{"name":"add","nativeSrc":"20285:3:2","nodeType":"YulIdentifier","src":"20285:3:2"},"nativeSrc":"20285:19:2","nodeType":"YulFunctionCall","src":"20285:19:2"}],"functionName":{"name":"mload","nativeSrc":"20279:5:2","nodeType":"YulIdentifier","src":"20279:5:2"},"nativeSrc":"20279:26:2","nodeType":"YulFunctionCall","src":"20279:26:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20317:4:2","nodeType":"YulIdentifier","src":"20317:4:2"},{"name":"pAlpha","nativeSrc":"20323:6:2","nodeType":"YulIdentifier","src":"20323:6:2"}],"functionName":{"name":"add","nativeSrc":"20313:3:2","nodeType":"YulIdentifier","src":"20313:3:2"},"nativeSrc":"20313:17:2","nodeType":"YulFunctionCall","src":"20313:17:2"}],"functionName":{"name":"mload","nativeSrc":"20307:5:2","nodeType":"YulIdentifier","src":"20307:5:2"},"nativeSrc":"20307:24:2","nodeType":"YulFunctionCall","src":"20307:24:2"},{"name":"q","nativeSrc":"20333:1:2","nodeType":"YulIdentifier","src":"20333:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"20272:6:2","nodeType":"YulIdentifier","src":"20272:6:2"},"nativeSrc":"20272:63:2","nodeType":"YulFunctionCall","src":"20272:63:2"},"variableNames":[{"name":"s1","nativeSrc":"20266:2:2","nodeType":"YulIdentifier","src":"20266:2:2"}]},{"nativeSrc":"20352:45:2","nodeType":"YulAssignment","src":"20352:45:2","value":{"arguments":[{"name":"s1","nativeSrc":"20365:2:2","nodeType":"YulIdentifier","src":"20365:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20379:4:2","nodeType":"YulIdentifier","src":"20379:4:2"},{"name":"pAlpha","nativeSrc":"20385:6:2","nodeType":"YulIdentifier","src":"20385:6:2"}],"functionName":{"name":"add","nativeSrc":"20375:3:2","nodeType":"YulIdentifier","src":"20375:3:2"},"nativeSrc":"20375:17:2","nodeType":"YulFunctionCall","src":"20375:17:2"}],"functionName":{"name":"mload","nativeSrc":"20369:5:2","nodeType":"YulIdentifier","src":"20369:5:2"},"nativeSrc":"20369:24:2","nodeType":"YulFunctionCall","src":"20369:24:2"},{"name":"q","nativeSrc":"20395:1:2","nodeType":"YulIdentifier","src":"20395:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"20358:6:2","nodeType":"YulIdentifier","src":"20358:6:2"},"nativeSrc":"20358:39:2","nodeType":"YulFunctionCall","src":"20358:39:2"},"variableNames":[{"name":"s1","nativeSrc":"20352:2:2","nodeType":"YulIdentifier","src":"20352:2:2"}]},{"nativeSrc":"20414:42:2","nodeType":"YulAssignment","src":"20414:42:2","value":{"arguments":[{"name":"s1","nativeSrc":"20427:2:2","nodeType":"YulIdentifier","src":"20427:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20441:4:2","nodeType":"YulIdentifier","src":"20441:4:2"},{"name":"pV1","nativeSrc":"20447:3:2","nodeType":"YulIdentifier","src":"20447:3:2"}],"functionName":{"name":"add","nativeSrc":"20437:3:2","nodeType":"YulIdentifier","src":"20437:3:2"},"nativeSrc":"20437:14:2","nodeType":"YulFunctionCall","src":"20437:14:2"}],"functionName":{"name":"mload","nativeSrc":"20431:5:2","nodeType":"YulIdentifier","src":"20431:5:2"},"nativeSrc":"20431:21:2","nodeType":"YulFunctionCall","src":"20431:21:2"},{"name":"q","nativeSrc":"20454:1:2","nodeType":"YulIdentifier","src":"20454:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"20420:6:2","nodeType":"YulIdentifier","src":"20420:6:2"},"nativeSrc":"20420:36:2","nodeType":"YulFunctionCall","src":"20420:36:2"},"variableNames":[{"name":"s1","nativeSrc":"20414:2:2","nodeType":"YulIdentifier","src":"20414:2:2"}]},{"nativeSrc":"20473:21:2","nodeType":"YulAssignment","src":"20473:21:2","value":{"arguments":[{"name":"s","nativeSrc":"20485:1:2","nodeType":"YulIdentifier","src":"20485:1:2"},{"name":"s1","nativeSrc":"20488:2:2","nodeType":"YulIdentifier","src":"20488:2:2"},{"name":"q","nativeSrc":"20492:1:2","nodeType":"YulIdentifier","src":"20492:1:2"}],"functionName":{"name":"addmod","nativeSrc":"20478:6:2","nodeType":"YulIdentifier","src":"20478:6:2"},"nativeSrc":"20478:16:2","nodeType":"YulFunctionCall","src":"20478:16:2"},"variableNames":[{"name":"s","nativeSrc":"20473:1:2","nodeType":"YulIdentifier","src":"20473:1:2"}]},{"nativeSrc":"20511:39:2","nodeType":"YulAssignment","src":"20511:39:2","value":{"arguments":[{"name":"s","nativeSrc":"20523:1:2","nodeType":"YulIdentifier","src":"20523:1:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20536:4:2","nodeType":"YulIdentifier","src":"20536:4:2"},{"name":"pU","nativeSrc":"20542:2:2","nodeType":"YulIdentifier","src":"20542:2:2"}],"functionName":{"name":"add","nativeSrc":"20532:3:2","nodeType":"YulIdentifier","src":"20532:3:2"},"nativeSrc":"20532:13:2","nodeType":"YulFunctionCall","src":"20532:13:2"}],"functionName":{"name":"mload","nativeSrc":"20526:5:2","nodeType":"YulIdentifier","src":"20526:5:2"},"nativeSrc":"20526:20:2","nodeType":"YulFunctionCall","src":"20526:20:2"},{"name":"q","nativeSrc":"20548:1:2","nodeType":"YulIdentifier","src":"20548:1:2"}],"functionName":{"name":"addmod","nativeSrc":"20516:6:2","nodeType":"YulIdentifier","src":"20516:6:2"},"nativeSrc":"20516:34:2","nodeType":"YulFunctionCall","src":"20516:34:2"},"variableNames":[{"name":"s","nativeSrc":"20511:1:2","nodeType":"YulIdentifier","src":"20511:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"20577:1:2","nodeType":"YulIdentifier","src":"20577:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"20584:6:2","nodeType":"YulIdentifier","src":"20584:6:2"},{"name":"pZ","nativeSrc":"20592:2:2","nodeType":"YulIdentifier","src":"20592:2:2"}],"functionName":{"name":"add","nativeSrc":"20580:3:2","nodeType":"YulIdentifier","src":"20580:3:2"},"nativeSrc":"20580:15:2","nodeType":"YulFunctionCall","src":"20580:15:2"},{"name":"s","nativeSrc":"20597:1:2","nodeType":"YulIdentifier","src":"20597:1:2"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"20567:9:2","nodeType":"YulIdentifier","src":"20567:9:2"},"nativeSrc":"20567:32:2","nodeType":"YulFunctionCall","src":"20567:32:2"},"nativeSrc":"20567:32:2","nodeType":"YulExpressionStatement","src":"20567:32:2"},{"nativeSrc":"20633:69:2","nodeType":"YulAssignment","src":"20633:69:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20655:4:2","nodeType":"YulIdentifier","src":"20655:4:2"},{"name":"pBeta","nativeSrc":"20661:5:2","nodeType":"YulIdentifier","src":"20661:5:2"}],"functionName":{"name":"add","nativeSrc":"20651:3:2","nodeType":"YulIdentifier","src":"20651:3:2"},"nativeSrc":"20651:16:2","nodeType":"YulFunctionCall","src":"20651:16:2"}],"functionName":{"name":"mload","nativeSrc":"20645:5:2","nodeType":"YulIdentifier","src":"20645:5:2"},"nativeSrc":"20645:23:2","nodeType":"YulFunctionCall","src":"20645:23:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20680:6:2","nodeType":"YulIdentifier","src":"20680:6:2"},{"name":"pEval_s1","nativeSrc":"20688:8:2","nodeType":"YulIdentifier","src":"20688:8:2"}],"functionName":{"name":"add","nativeSrc":"20676:3:2","nodeType":"YulIdentifier","src":"20676:3:2"},"nativeSrc":"20676:21:2","nodeType":"YulFunctionCall","src":"20676:21:2"}],"functionName":{"name":"mload","nativeSrc":"20670:5:2","nodeType":"YulIdentifier","src":"20670:5:2"},"nativeSrc":"20670:28:2","nodeType":"YulFunctionCall","src":"20670:28:2"},{"name":"q","nativeSrc":"20700:1:2","nodeType":"YulIdentifier","src":"20700:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"20638:6:2","nodeType":"YulIdentifier","src":"20638:6:2"},"nativeSrc":"20638:64:2","nodeType":"YulFunctionCall","src":"20638:64:2"},"variableNames":[{"name":"s","nativeSrc":"20633:1:2","nodeType":"YulIdentifier","src":"20633:1:2"}]},{"nativeSrc":"20719:46:2","nodeType":"YulAssignment","src":"20719:46:2","value":{"arguments":[{"name":"s","nativeSrc":"20731:1:2","nodeType":"YulIdentifier","src":"20731:1:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20744:6:2","nodeType":"YulIdentifier","src":"20744:6:2"},{"name":"pEval_a","nativeSrc":"20752:7:2","nodeType":"YulIdentifier","src":"20752:7:2"}],"functionName":{"name":"add","nativeSrc":"20740:3:2","nodeType":"YulIdentifier","src":"20740:3:2"},"nativeSrc":"20740:20:2","nodeType":"YulFunctionCall","src":"20740:20:2"}],"functionName":{"name":"mload","nativeSrc":"20734:5:2","nodeType":"YulIdentifier","src":"20734:5:2"},"nativeSrc":"20734:27:2","nodeType":"YulFunctionCall","src":"20734:27:2"},{"name":"q","nativeSrc":"20763:1:2","nodeType":"YulIdentifier","src":"20763:1:2"}],"functionName":{"name":"addmod","nativeSrc":"20724:6:2","nodeType":"YulIdentifier","src":"20724:6:2"},"nativeSrc":"20724:41:2","nodeType":"YulFunctionCall","src":"20724:41:2"},"variableNames":[{"name":"s","nativeSrc":"20719:1:2","nodeType":"YulIdentifier","src":"20719:1:2"}]},{"nativeSrc":"20782:43:2","nodeType":"YulAssignment","src":"20782:43:2","value":{"arguments":[{"name":"s","nativeSrc":"20794:1:2","nodeType":"YulIdentifier","src":"20794:1:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20807:4:2","nodeType":"YulIdentifier","src":"20807:4:2"},{"name":"pGamma","nativeSrc":"20813:6:2","nodeType":"YulIdentifier","src":"20813:6:2"}],"functionName":{"name":"add","nativeSrc":"20803:3:2","nodeType":"YulIdentifier","src":"20803:3:2"},"nativeSrc":"20803:17:2","nodeType":"YulFunctionCall","src":"20803:17:2"}],"functionName":{"name":"mload","nativeSrc":"20797:5:2","nodeType":"YulIdentifier","src":"20797:5:2"},"nativeSrc":"20797:24:2","nodeType":"YulFunctionCall","src":"20797:24:2"},{"name":"q","nativeSrc":"20823:1:2","nodeType":"YulIdentifier","src":"20823:1:2"}],"functionName":{"name":"addmod","nativeSrc":"20787:6:2","nodeType":"YulIdentifier","src":"20787:6:2"},"nativeSrc":"20787:38:2","nodeType":"YulFunctionCall","src":"20787:38:2"},"variableNames":[{"name":"s","nativeSrc":"20782:1:2","nodeType":"YulIdentifier","src":"20782:1:2"}]},{"nativeSrc":"20842:70:2","nodeType":"YulAssignment","src":"20842:70:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20865:4:2","nodeType":"YulIdentifier","src":"20865:4:2"},{"name":"pBeta","nativeSrc":"20871:5:2","nodeType":"YulIdentifier","src":"20871:5:2"}],"functionName":{"name":"add","nativeSrc":"20861:3:2","nodeType":"YulIdentifier","src":"20861:3:2"},"nativeSrc":"20861:16:2","nodeType":"YulFunctionCall","src":"20861:16:2"}],"functionName":{"name":"mload","nativeSrc":"20855:5:2","nodeType":"YulIdentifier","src":"20855:5:2"},"nativeSrc":"20855:23:2","nodeType":"YulFunctionCall","src":"20855:23:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20890:6:2","nodeType":"YulIdentifier","src":"20890:6:2"},{"name":"pEval_s2","nativeSrc":"20898:8:2","nodeType":"YulIdentifier","src":"20898:8:2"}],"functionName":{"name":"add","nativeSrc":"20886:3:2","nodeType":"YulIdentifier","src":"20886:3:2"},"nativeSrc":"20886:21:2","nodeType":"YulFunctionCall","src":"20886:21:2"}],"functionName":{"name":"mload","nativeSrc":"20880:5:2","nodeType":"YulIdentifier","src":"20880:5:2"},"nativeSrc":"20880:28:2","nodeType":"YulFunctionCall","src":"20880:28:2"},{"name":"q","nativeSrc":"20910:1:2","nodeType":"YulIdentifier","src":"20910:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"20848:6:2","nodeType":"YulIdentifier","src":"20848:6:2"},"nativeSrc":"20848:64:2","nodeType":"YulFunctionCall","src":"20848:64:2"},"variableNames":[{"name":"s1","nativeSrc":"20842:2:2","nodeType":"YulIdentifier","src":"20842:2:2"}]},{"nativeSrc":"20929:48:2","nodeType":"YulAssignment","src":"20929:48:2","value":{"arguments":[{"name":"s1","nativeSrc":"20942:2:2","nodeType":"YulIdentifier","src":"20942:2:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20956:6:2","nodeType":"YulIdentifier","src":"20956:6:2"},{"name":"pEval_b","nativeSrc":"20964:7:2","nodeType":"YulIdentifier","src":"20964:7:2"}],"functionName":{"name":"add","nativeSrc":"20952:3:2","nodeType":"YulIdentifier","src":"20952:3:2"},"nativeSrc":"20952:20:2","nodeType":"YulFunctionCall","src":"20952:20:2"}],"functionName":{"name":"mload","nativeSrc":"20946:5:2","nodeType":"YulIdentifier","src":"20946:5:2"},"nativeSrc":"20946:27:2","nodeType":"YulFunctionCall","src":"20946:27:2"},{"name":"q","nativeSrc":"20975:1:2","nodeType":"YulIdentifier","src":"20975:1:2"}],"functionName":{"name":"addmod","nativeSrc":"20935:6:2","nodeType":"YulIdentifier","src":"20935:6:2"},"nativeSrc":"20935:42:2","nodeType":"YulFunctionCall","src":"20935:42:2"},"variableNames":[{"name":"s1","nativeSrc":"20929:2:2","nodeType":"YulIdentifier","src":"20929:2:2"}]},{"nativeSrc":"20994:45:2","nodeType":"YulAssignment","src":"20994:45:2","value":{"arguments":[{"name":"s1","nativeSrc":"21007:2:2","nodeType":"YulIdentifier","src":"21007:2:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21021:4:2","nodeType":"YulIdentifier","src":"21021:4:2"},{"name":"pGamma","nativeSrc":"21027:6:2","nodeType":"YulIdentifier","src":"21027:6:2"}],"functionName":{"name":"add","nativeSrc":"21017:3:2","nodeType":"YulIdentifier","src":"21017:3:2"},"nativeSrc":"21017:17:2","nodeType":"YulFunctionCall","src":"21017:17:2"}],"functionName":{"name":"mload","nativeSrc":"21011:5:2","nodeType":"YulIdentifier","src":"21011:5:2"},"nativeSrc":"21011:24:2","nodeType":"YulFunctionCall","src":"21011:24:2"},{"name":"q","nativeSrc":"21037:1:2","nodeType":"YulIdentifier","src":"21037:1:2"}],"functionName":{"name":"addmod","nativeSrc":"21000:6:2","nodeType":"YulIdentifier","src":"21000:6:2"},"nativeSrc":"21000:39:2","nodeType":"YulFunctionCall","src":"21000:39:2"},"variableNames":[{"name":"s1","nativeSrc":"20994:2:2","nodeType":"YulIdentifier","src":"20994:2:2"}]},{"nativeSrc":"21056:21:2","nodeType":"YulAssignment","src":"21056:21:2","value":{"arguments":[{"name":"s","nativeSrc":"21068:1:2","nodeType":"YulIdentifier","src":"21068:1:2"},{"name":"s1","nativeSrc":"21071:2:2","nodeType":"YulIdentifier","src":"21071:2:2"},{"name":"q","nativeSrc":"21075:1:2","nodeType":"YulIdentifier","src":"21075:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"21061:6:2","nodeType":"YulIdentifier","src":"21061:6:2"},"nativeSrc":"21061:16:2","nodeType":"YulFunctionCall","src":"21061:16:2"},"variableNames":[{"name":"s","nativeSrc":"21056:1:2","nodeType":"YulIdentifier","src":"21056:1:2"}]},{"nativeSrc":"21094:43:2","nodeType":"YulAssignment","src":"21094:43:2","value":{"arguments":[{"name":"s","nativeSrc":"21106:1:2","nodeType":"YulIdentifier","src":"21106:1:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21119:4:2","nodeType":"YulIdentifier","src":"21119:4:2"},{"name":"pAlpha","nativeSrc":"21125:6:2","nodeType":"YulIdentifier","src":"21125:6:2"}],"functionName":{"name":"add","nativeSrc":"21115:3:2","nodeType":"YulIdentifier","src":"21115:3:2"},"nativeSrc":"21115:17:2","nodeType":"YulFunctionCall","src":"21115:17:2"}],"functionName":{"name":"mload","nativeSrc":"21109:5:2","nodeType":"YulIdentifier","src":"21109:5:2"},"nativeSrc":"21109:24:2","nodeType":"YulFunctionCall","src":"21109:24:2"},{"name":"q","nativeSrc":"21135:1:2","nodeType":"YulIdentifier","src":"21135:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"21099:6:2","nodeType":"YulIdentifier","src":"21099:6:2"},"nativeSrc":"21099:38:2","nodeType":"YulFunctionCall","src":"21099:38:2"},"variableNames":[{"name":"s","nativeSrc":"21094:1:2","nodeType":"YulIdentifier","src":"21094:1:2"}]},{"nativeSrc":"21154:40:2","nodeType":"YulAssignment","src":"21154:40:2","value":{"arguments":[{"name":"s","nativeSrc":"21166:1:2","nodeType":"YulIdentifier","src":"21166:1:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21179:4:2","nodeType":"YulIdentifier","src":"21179:4:2"},{"name":"pV1","nativeSrc":"21185:3:2","nodeType":"YulIdentifier","src":"21185:3:2"}],"functionName":{"name":"add","nativeSrc":"21175:3:2","nodeType":"YulIdentifier","src":"21175:3:2"},"nativeSrc":"21175:14:2","nodeType":"YulFunctionCall","src":"21175:14:2"}],"functionName":{"name":"mload","nativeSrc":"21169:5:2","nodeType":"YulIdentifier","src":"21169:5:2"},"nativeSrc":"21169:21:2","nodeType":"YulFunctionCall","src":"21169:21:2"},{"name":"q","nativeSrc":"21192:1:2","nodeType":"YulIdentifier","src":"21192:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"21159:6:2","nodeType":"YulIdentifier","src":"21159:6:2"},"nativeSrc":"21159:35:2","nodeType":"YulFunctionCall","src":"21159:35:2"},"variableNames":[{"name":"s","nativeSrc":"21154:1:2","nodeType":"YulIdentifier","src":"21154:1:2"}]},{"nativeSrc":"21211:42:2","nodeType":"YulAssignment","src":"21211:42:2","value":{"arguments":[{"name":"s","nativeSrc":"21223:1:2","nodeType":"YulIdentifier","src":"21223:1:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21236:4:2","nodeType":"YulIdentifier","src":"21236:4:2"},{"name":"pBeta","nativeSrc":"21242:5:2","nodeType":"YulIdentifier","src":"21242:5:2"}],"functionName":{"name":"add","nativeSrc":"21232:3:2","nodeType":"YulIdentifier","src":"21232:3:2"},"nativeSrc":"21232:16:2","nodeType":"YulFunctionCall","src":"21232:16:2"}],"functionName":{"name":"mload","nativeSrc":"21226:5:2","nodeType":"YulIdentifier","src":"21226:5:2"},"nativeSrc":"21226:23:2","nodeType":"YulFunctionCall","src":"21226:23:2"},{"name":"q","nativeSrc":"21251:1:2","nodeType":"YulIdentifier","src":"21251:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"21216:6:2","nodeType":"YulIdentifier","src":"21216:6:2"},"nativeSrc":"21216:37:2","nodeType":"YulFunctionCall","src":"21216:37:2"},"variableNames":[{"name":"s","nativeSrc":"21211:1:2","nodeType":"YulIdentifier","src":"21211:1:2"}]},{"nativeSrc":"21270:47:2","nodeType":"YulAssignment","src":"21270:47:2","value":{"arguments":[{"name":"s","nativeSrc":"21282:1:2","nodeType":"YulIdentifier","src":"21282:1:2"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"21295:6:2","nodeType":"YulIdentifier","src":"21295:6:2"},{"name":"pEval_zw","nativeSrc":"21303:8:2","nodeType":"YulIdentifier","src":"21303:8:2"}],"functionName":{"name":"add","nativeSrc":"21291:3:2","nodeType":"YulIdentifier","src":"21291:3:2"},"nativeSrc":"21291:21:2","nodeType":"YulFunctionCall","src":"21291:21:2"}],"functionName":{"name":"mload","nativeSrc":"21285:5:2","nodeType":"YulIdentifier","src":"21285:5:2"},"nativeSrc":"21285:28:2","nodeType":"YulFunctionCall","src":"21285:28:2"},{"name":"q","nativeSrc":"21315:1:2","nodeType":"YulIdentifier","src":"21315:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"21275:6:2","nodeType":"YulIdentifier","src":"21275:6:2"},"nativeSrc":"21275:42:2","nodeType":"YulFunctionCall","src":"21275:42:2"},"variableNames":[{"name":"s","nativeSrc":"21270:1:2","nodeType":"YulIdentifier","src":"21270:1:2"}]},{"nativeSrc":"21334:22:2","nodeType":"YulAssignment","src":"21334:22:2","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"21347:1:2","nodeType":"YulIdentifier","src":"21347:1:2"},{"name":"s","nativeSrc":"21350:1:2","nodeType":"YulIdentifier","src":"21350:1:2"}],"functionName":{"name":"sub","nativeSrc":"21343:3:2","nodeType":"YulIdentifier","src":"21343:3:2"},"nativeSrc":"21343:9:2","nodeType":"YulFunctionCall","src":"21343:9:2"},{"name":"q","nativeSrc":"21354:1:2","nodeType":"YulIdentifier","src":"21354:1:2"}],"functionName":{"name":"mod","nativeSrc":"21339:3:2","nodeType":"YulIdentifier","src":"21339:3:2"},"nativeSrc":"21339:17:2","nodeType":"YulFunctionCall","src":"21339:17:2"},"variableNames":[{"name":"s","nativeSrc":"21334:1:2","nodeType":"YulIdentifier","src":"21334:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21384:1:2","nodeType":"YulIdentifier","src":"21384:1:2"},{"name":"S3x","nativeSrc":"21387:3:2","nodeType":"YulIdentifier","src":"21387:3:2"},{"name":"S3y","nativeSrc":"21392:3:2","nodeType":"YulIdentifier","src":"21392:3:2"},{"name":"s","nativeSrc":"21397:1:2","nodeType":"YulIdentifier","src":"21397:1:2"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21373:10:2","nodeType":"YulIdentifier","src":"21373:10:2"},"nativeSrc":"21373:26:2","nodeType":"YulFunctionCall","src":"21373:26:2"},"nativeSrc":"21373:26:2","nodeType":"YulExpressionStatement","src":"21373:26:2"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21456:1:2","nodeType":"YulIdentifier","src":"21456:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"21464:6:2","nodeType":"YulIdentifier","src":"21464:6:2"},{"name":"pT1","nativeSrc":"21472:3:2","nodeType":"YulIdentifier","src":"21472:3:2"}],"functionName":{"name":"add","nativeSrc":"21460:3:2","nodeType":"YulIdentifier","src":"21460:3:2"},"nativeSrc":"21460:16:2","nodeType":"YulFunctionCall","src":"21460:16:2"}],"functionName":{"name":"g1_acc","nativeSrc":"21449:6:2","nodeType":"YulIdentifier","src":"21449:6:2"},"nativeSrc":"21449:28:2","nodeType":"YulFunctionCall","src":"21449:28:2"},"nativeSrc":"21449:28:2","nodeType":"YulExpressionStatement","src":"21449:28:2"},{"nativeSrc":"21495:27:2","nodeType":"YulAssignment","src":"21495:27:2","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21510:4:2","nodeType":"YulIdentifier","src":"21510:4:2"},{"name":"pXin","nativeSrc":"21516:4:2","nodeType":"YulIdentifier","src":"21516:4:2"}],"functionName":{"name":"add","nativeSrc":"21506:3:2","nodeType":"YulIdentifier","src":"21506:3:2"},"nativeSrc":"21506:15:2","nodeType":"YulFunctionCall","src":"21506:15:2"}],"functionName":{"name":"mload","nativeSrc":"21500:5:2","nodeType":"YulIdentifier","src":"21500:5:2"},"nativeSrc":"21500:22:2","nodeType":"YulFunctionCall","src":"21500:22:2"},"variableNames":[{"name":"s","nativeSrc":"21495:1:2","nodeType":"YulIdentifier","src":"21495:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21549:1:2","nodeType":"YulIdentifier","src":"21549:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"21556:6:2","nodeType":"YulIdentifier","src":"21556:6:2"},{"name":"pT2","nativeSrc":"21564:3:2","nodeType":"YulIdentifier","src":"21564:3:2"}],"functionName":{"name":"add","nativeSrc":"21552:3:2","nodeType":"YulIdentifier","src":"21552:3:2"},"nativeSrc":"21552:16:2","nodeType":"YulFunctionCall","src":"21552:16:2"},{"name":"s","nativeSrc":"21570:1:2","nodeType":"YulIdentifier","src":"21570:1:2"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21539:9:2","nodeType":"YulIdentifier","src":"21539:9:2"},"nativeSrc":"21539:33:2","nodeType":"YulFunctionCall","src":"21539:33:2"},"nativeSrc":"21539:33:2","nodeType":"YulExpressionStatement","src":"21539:33:2"},{"nativeSrc":"21606:20:2","nodeType":"YulAssignment","src":"21606:20:2","value":{"arguments":[{"name":"s","nativeSrc":"21618:1:2","nodeType":"YulIdentifier","src":"21618:1:2"},{"name":"s","nativeSrc":"21621:1:2","nodeType":"YulIdentifier","src":"21621:1:2"},{"name":"q","nativeSrc":"21624:1:2","nodeType":"YulIdentifier","src":"21624:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"21611:6:2","nodeType":"YulIdentifier","src":"21611:6:2"},"nativeSrc":"21611:15:2","nodeType":"YulFunctionCall","src":"21611:15:2"},"variableNames":[{"name":"s","nativeSrc":"21606:1:2","nodeType":"YulIdentifier","src":"21606:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21653:1:2","nodeType":"YulIdentifier","src":"21653:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"21660:6:2","nodeType":"YulIdentifier","src":"21660:6:2"},{"name":"pT3","nativeSrc":"21668:3:2","nodeType":"YulIdentifier","src":"21668:3:2"}],"functionName":{"name":"add","nativeSrc":"21656:3:2","nodeType":"YulIdentifier","src":"21656:3:2"},"nativeSrc":"21656:16:2","nodeType":"YulFunctionCall","src":"21656:16:2"},{"name":"s","nativeSrc":"21674:1:2","nodeType":"YulIdentifier","src":"21674:1:2"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21643:9:2","nodeType":"YulIdentifier","src":"21643:9:2"},"nativeSrc":"21643:33:2","nodeType":"YulFunctionCall","src":"21643:33:2"},"nativeSrc":"21643:33:2","nodeType":"YulExpressionStatement","src":"21643:33:2"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21720:1:2","nodeType":"YulIdentifier","src":"21720:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"21727:6:2","nodeType":"YulIdentifier","src":"21727:6:2"},{"name":"pA","nativeSrc":"21735:2:2","nodeType":"YulIdentifier","src":"21735:2:2"}],"functionName":{"name":"add","nativeSrc":"21723:3:2","nodeType":"YulIdentifier","src":"21723:3:2"},"nativeSrc":"21723:15:2","nodeType":"YulFunctionCall","src":"21723:15:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21750:4:2","nodeType":"YulIdentifier","src":"21750:4:2"},{"name":"pV2","nativeSrc":"21756:3:2","nodeType":"YulIdentifier","src":"21756:3:2"}],"functionName":{"name":"add","nativeSrc":"21746:3:2","nodeType":"YulIdentifier","src":"21746:3:2"},"nativeSrc":"21746:14:2","nodeType":"YulFunctionCall","src":"21746:14:2"}],"functionName":{"name":"mload","nativeSrc":"21740:5:2","nodeType":"YulIdentifier","src":"21740:5:2"},"nativeSrc":"21740:21:2","nodeType":"YulFunctionCall","src":"21740:21:2"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21710:9:2","nodeType":"YulIdentifier","src":"21710:9:2"},"nativeSrc":"21710:52:2","nodeType":"YulFunctionCall","src":"21710:52:2"},"nativeSrc":"21710:52:2","nodeType":"YulExpressionStatement","src":"21710:52:2"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21789:1:2","nodeType":"YulIdentifier","src":"21789:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"21796:6:2","nodeType":"YulIdentifier","src":"21796:6:2"},{"name":"pB","nativeSrc":"21804:2:2","nodeType":"YulIdentifier","src":"21804:2:2"}],"functionName":{"name":"add","nativeSrc":"21792:3:2","nodeType":"YulIdentifier","src":"21792:3:2"},"nativeSrc":"21792:15:2","nodeType":"YulFunctionCall","src":"21792:15:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21819:4:2","nodeType":"YulIdentifier","src":"21819:4:2"},{"name":"pV3","nativeSrc":"21825:3:2","nodeType":"YulIdentifier","src":"21825:3:2"}],"functionName":{"name":"add","nativeSrc":"21815:3:2","nodeType":"YulIdentifier","src":"21815:3:2"},"nativeSrc":"21815:14:2","nodeType":"YulFunctionCall","src":"21815:14:2"}],"functionName":{"name":"mload","nativeSrc":"21809:5:2","nodeType":"YulIdentifier","src":"21809:5:2"},"nativeSrc":"21809:21:2","nodeType":"YulFunctionCall","src":"21809:21:2"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21779:9:2","nodeType":"YulIdentifier","src":"21779:9:2"},"nativeSrc":"21779:52:2","nodeType":"YulFunctionCall","src":"21779:52:2"},"nativeSrc":"21779:52:2","nodeType":"YulExpressionStatement","src":"21779:52:2"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21858:1:2","nodeType":"YulIdentifier","src":"21858:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"21865:6:2","nodeType":"YulIdentifier","src":"21865:6:2"},{"name":"pC","nativeSrc":"21873:2:2","nodeType":"YulIdentifier","src":"21873:2:2"}],"functionName":{"name":"add","nativeSrc":"21861:3:2","nodeType":"YulIdentifier","src":"21861:3:2"},"nativeSrc":"21861:15:2","nodeType":"YulFunctionCall","src":"21861:15:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21888:4:2","nodeType":"YulIdentifier","src":"21888:4:2"},{"name":"pV4","nativeSrc":"21894:3:2","nodeType":"YulIdentifier","src":"21894:3:2"}],"functionName":{"name":"add","nativeSrc":"21884:3:2","nodeType":"YulIdentifier","src":"21884:3:2"},"nativeSrc":"21884:14:2","nodeType":"YulFunctionCall","src":"21884:14:2"}],"functionName":{"name":"mload","nativeSrc":"21878:5:2","nodeType":"YulIdentifier","src":"21878:5:2"},"nativeSrc":"21878:21:2","nodeType":"YulFunctionCall","src":"21878:21:2"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21848:9:2","nodeType":"YulIdentifier","src":"21848:9:2"},"nativeSrc":"21848:52:2","nodeType":"YulFunctionCall","src":"21848:52:2"},"nativeSrc":"21848:52:2","nodeType":"YulExpressionStatement","src":"21848:52:2"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21928:1:2","nodeType":"YulIdentifier","src":"21928:1:2"},{"name":"S1x","nativeSrc":"21931:3:2","nodeType":"YulIdentifier","src":"21931:3:2"},{"name":"S1y","nativeSrc":"21936:3:2","nodeType":"YulIdentifier","src":"21936:3:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21951:4:2","nodeType":"YulIdentifier","src":"21951:4:2"},{"name":"pV5","nativeSrc":"21957:3:2","nodeType":"YulIdentifier","src":"21957:3:2"}],"functionName":{"name":"add","nativeSrc":"21947:3:2","nodeType":"YulIdentifier","src":"21947:3:2"},"nativeSrc":"21947:14:2","nodeType":"YulFunctionCall","src":"21947:14:2"}],"functionName":{"name":"mload","nativeSrc":"21941:5:2","nodeType":"YulIdentifier","src":"21941:5:2"},"nativeSrc":"21941:21:2","nodeType":"YulFunctionCall","src":"21941:21:2"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21917:10:2","nodeType":"YulIdentifier","src":"21917:10:2"},"nativeSrc":"21917:46:2","nodeType":"YulFunctionCall","src":"21917:46:2"},"nativeSrc":"21917:46:2","nodeType":"YulExpressionStatement","src":"21917:46:2"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21991:1:2","nodeType":"YulIdentifier","src":"21991:1:2"},{"name":"S2x","nativeSrc":"21994:3:2","nodeType":"YulIdentifier","src":"21994:3:2"},{"name":"S2y","nativeSrc":"21999:3:2","nodeType":"YulIdentifier","src":"21999:3:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22014:4:2","nodeType":"YulIdentifier","src":"22014:4:2"},{"name":"pV6","nativeSrc":"22020:3:2","nodeType":"YulIdentifier","src":"22020:3:2"}],"functionName":{"name":"add","nativeSrc":"22010:3:2","nodeType":"YulIdentifier","src":"22010:3:2"},"nativeSrc":"22010:14:2","nodeType":"YulFunctionCall","src":"22010:14:2"}],"functionName":{"name":"mload","nativeSrc":"22004:5:2","nodeType":"YulIdentifier","src":"22004:5:2"},"nativeSrc":"22004:21:2","nodeType":"YulFunctionCall","src":"22004:21:2"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21980:10:2","nodeType":"YulIdentifier","src":"21980:10:2"},"nativeSrc":"21980:46:2","nodeType":"YulFunctionCall","src":"21980:46:2"},"nativeSrc":"21980:46:2","nodeType":"YulExpressionStatement","src":"21980:46:2"},{"nativeSrc":"22091:30:2","nodeType":"YulAssignment","src":"22091:30:2","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22106:4:2","nodeType":"YulIdentifier","src":"22106:4:2"},{"name":"pEval_t","nativeSrc":"22112:7:2","nodeType":"YulIdentifier","src":"22112:7:2"}],"functionName":{"name":"add","nativeSrc":"22102:3:2","nodeType":"YulIdentifier","src":"22102:3:2"},"nativeSrc":"22102:18:2","nodeType":"YulFunctionCall","src":"22102:18:2"}],"functionName":{"name":"mload","nativeSrc":"22096:5:2","nodeType":"YulIdentifier","src":"22096:5:2"},"nativeSrc":"22096:25:2","nodeType":"YulFunctionCall","src":"22096:25:2"},"variableNames":[{"name":"s","nativeSrc":"22091:1:2","nodeType":"YulIdentifier","src":"22091:1:2"}]},{"nativeSrc":"22138:80:2","nodeType":"YulAssignment","src":"22138:80:2","value":{"arguments":[{"name":"s","nativeSrc":"22150:1:2","nodeType":"YulIdentifier","src":"22150:1:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22170:6:2","nodeType":"YulIdentifier","src":"22170:6:2"},{"name":"pEval_r","nativeSrc":"22178:7:2","nodeType":"YulIdentifier","src":"22178:7:2"}],"functionName":{"name":"add","nativeSrc":"22166:3:2","nodeType":"YulIdentifier","src":"22166:3:2"},"nativeSrc":"22166:20:2","nodeType":"YulFunctionCall","src":"22166:20:2"}],"functionName":{"name":"mload","nativeSrc":"22160:5:2","nodeType":"YulIdentifier","src":"22160:5:2"},"nativeSrc":"22160:27:2","nodeType":"YulFunctionCall","src":"22160:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22199:4:2","nodeType":"YulIdentifier","src":"22199:4:2"},{"name":"pV1","nativeSrc":"22205:3:2","nodeType":"YulIdentifier","src":"22205:3:2"}],"functionName":{"name":"add","nativeSrc":"22195:3:2","nodeType":"YulIdentifier","src":"22195:3:2"},"nativeSrc":"22195:14:2","nodeType":"YulFunctionCall","src":"22195:14:2"}],"functionName":{"name":"mload","nativeSrc":"22189:5:2","nodeType":"YulIdentifier","src":"22189:5:2"},"nativeSrc":"22189:21:2","nodeType":"YulFunctionCall","src":"22189:21:2"},{"name":"q","nativeSrc":"22212:1:2","nodeType":"YulIdentifier","src":"22212:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"22153:6:2","nodeType":"YulIdentifier","src":"22153:6:2"},"nativeSrc":"22153:61:2","nodeType":"YulFunctionCall","src":"22153:61:2"},{"name":"q","nativeSrc":"22216:1:2","nodeType":"YulIdentifier","src":"22216:1:2"}],"functionName":{"name":"addmod","nativeSrc":"22143:6:2","nodeType":"YulIdentifier","src":"22143:6:2"},"nativeSrc":"22143:75:2","nodeType":"YulFunctionCall","src":"22143:75:2"},"variableNames":[{"name":"s","nativeSrc":"22138:1:2","nodeType":"YulIdentifier","src":"22138:1:2"}]},{"nativeSrc":"22235:80:2","nodeType":"YulAssignment","src":"22235:80:2","value":{"arguments":[{"name":"s","nativeSrc":"22247:1:2","nodeType":"YulIdentifier","src":"22247:1:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22267:6:2","nodeType":"YulIdentifier","src":"22267:6:2"},{"name":"pEval_a","nativeSrc":"22275:7:2","nodeType":"YulIdentifier","src":"22275:7:2"}],"functionName":{"name":"add","nativeSrc":"22263:3:2","nodeType":"YulIdentifier","src":"22263:3:2"},"nativeSrc":"22263:20:2","nodeType":"YulFunctionCall","src":"22263:20:2"}],"functionName":{"name":"mload","nativeSrc":"22257:5:2","nodeType":"YulIdentifier","src":"22257:5:2"},"nativeSrc":"22257:27:2","nodeType":"YulFunctionCall","src":"22257:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22296:4:2","nodeType":"YulIdentifier","src":"22296:4:2"},{"name":"pV2","nativeSrc":"22302:3:2","nodeType":"YulIdentifier","src":"22302:3:2"}],"functionName":{"name":"add","nativeSrc":"22292:3:2","nodeType":"YulIdentifier","src":"22292:3:2"},"nativeSrc":"22292:14:2","nodeType":"YulFunctionCall","src":"22292:14:2"}],"functionName":{"name":"mload","nativeSrc":"22286:5:2","nodeType":"YulIdentifier","src":"22286:5:2"},"nativeSrc":"22286:21:2","nodeType":"YulFunctionCall","src":"22286:21:2"},{"name":"q","nativeSrc":"22309:1:2","nodeType":"YulIdentifier","src":"22309:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"22250:6:2","nodeType":"YulIdentifier","src":"22250:6:2"},"nativeSrc":"22250:61:2","nodeType":"YulFunctionCall","src":"22250:61:2"},{"name":"q","nativeSrc":"22313:1:2","nodeType":"YulIdentifier","src":"22313:1:2"}],"functionName":{"name":"addmod","nativeSrc":"22240:6:2","nodeType":"YulIdentifier","src":"22240:6:2"},"nativeSrc":"22240:75:2","nodeType":"YulFunctionCall","src":"22240:75:2"},"variableNames":[{"name":"s","nativeSrc":"22235:1:2","nodeType":"YulIdentifier","src":"22235:1:2"}]},{"nativeSrc":"22332:80:2","nodeType":"YulAssignment","src":"22332:80:2","value":{"arguments":[{"name":"s","nativeSrc":"22344:1:2","nodeType":"YulIdentifier","src":"22344:1:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22364:6:2","nodeType":"YulIdentifier","src":"22364:6:2"},{"name":"pEval_b","nativeSrc":"22372:7:2","nodeType":"YulIdentifier","src":"22372:7:2"}],"functionName":{"name":"add","nativeSrc":"22360:3:2","nodeType":"YulIdentifier","src":"22360:3:2"},"nativeSrc":"22360:20:2","nodeType":"YulFunctionCall","src":"22360:20:2"}],"functionName":{"name":"mload","nativeSrc":"22354:5:2","nodeType":"YulIdentifier","src":"22354:5:2"},"nativeSrc":"22354:27:2","nodeType":"YulFunctionCall","src":"22354:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22393:4:2","nodeType":"YulIdentifier","src":"22393:4:2"},{"name":"pV3","nativeSrc":"22399:3:2","nodeType":"YulIdentifier","src":"22399:3:2"}],"functionName":{"name":"add","nativeSrc":"22389:3:2","nodeType":"YulIdentifier","src":"22389:3:2"},"nativeSrc":"22389:14:2","nodeType":"YulFunctionCall","src":"22389:14:2"}],"functionName":{"name":"mload","nativeSrc":"22383:5:2","nodeType":"YulIdentifier","src":"22383:5:2"},"nativeSrc":"22383:21:2","nodeType":"YulFunctionCall","src":"22383:21:2"},{"name":"q","nativeSrc":"22406:1:2","nodeType":"YulIdentifier","src":"22406:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"22347:6:2","nodeType":"YulIdentifier","src":"22347:6:2"},"nativeSrc":"22347:61:2","nodeType":"YulFunctionCall","src":"22347:61:2"},{"name":"q","nativeSrc":"22410:1:2","nodeType":"YulIdentifier","src":"22410:1:2"}],"functionName":{"name":"addmod","nativeSrc":"22337:6:2","nodeType":"YulIdentifier","src":"22337:6:2"},"nativeSrc":"22337:75:2","nodeType":"YulFunctionCall","src":"22337:75:2"},"variableNames":[{"name":"s","nativeSrc":"22332:1:2","nodeType":"YulIdentifier","src":"22332:1:2"}]},{"nativeSrc":"22429:80:2","nodeType":"YulAssignment","src":"22429:80:2","value":{"arguments":[{"name":"s","nativeSrc":"22441:1:2","nodeType":"YulIdentifier","src":"22441:1:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22461:6:2","nodeType":"YulIdentifier","src":"22461:6:2"},{"name":"pEval_c","nativeSrc":"22469:7:2","nodeType":"YulIdentifier","src":"22469:7:2"}],"functionName":{"name":"add","nativeSrc":"22457:3:2","nodeType":"YulIdentifier","src":"22457:3:2"},"nativeSrc":"22457:20:2","nodeType":"YulFunctionCall","src":"22457:20:2"}],"functionName":{"name":"mload","nativeSrc":"22451:5:2","nodeType":"YulIdentifier","src":"22451:5:2"},"nativeSrc":"22451:27:2","nodeType":"YulFunctionCall","src":"22451:27:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22490:4:2","nodeType":"YulIdentifier","src":"22490:4:2"},{"name":"pV4","nativeSrc":"22496:3:2","nodeType":"YulIdentifier","src":"22496:3:2"}],"functionName":{"name":"add","nativeSrc":"22486:3:2","nodeType":"YulIdentifier","src":"22486:3:2"},"nativeSrc":"22486:14:2","nodeType":"YulFunctionCall","src":"22486:14:2"}],"functionName":{"name":"mload","nativeSrc":"22480:5:2","nodeType":"YulIdentifier","src":"22480:5:2"},"nativeSrc":"22480:21:2","nodeType":"YulFunctionCall","src":"22480:21:2"},{"name":"q","nativeSrc":"22503:1:2","nodeType":"YulIdentifier","src":"22503:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"22444:6:2","nodeType":"YulIdentifier","src":"22444:6:2"},"nativeSrc":"22444:61:2","nodeType":"YulFunctionCall","src":"22444:61:2"},{"name":"q","nativeSrc":"22507:1:2","nodeType":"YulIdentifier","src":"22507:1:2"}],"functionName":{"name":"addmod","nativeSrc":"22434:6:2","nodeType":"YulIdentifier","src":"22434:6:2"},"nativeSrc":"22434:75:2","nodeType":"YulFunctionCall","src":"22434:75:2"},"variableNames":[{"name":"s","nativeSrc":"22429:1:2","nodeType":"YulIdentifier","src":"22429:1:2"}]},{"nativeSrc":"22526:81:2","nodeType":"YulAssignment","src":"22526:81:2","value":{"arguments":[{"name":"s","nativeSrc":"22538:1:2","nodeType":"YulIdentifier","src":"22538:1:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22558:6:2","nodeType":"YulIdentifier","src":"22558:6:2"},{"name":"pEval_s1","nativeSrc":"22566:8:2","nodeType":"YulIdentifier","src":"22566:8:2"}],"functionName":{"name":"add","nativeSrc":"22554:3:2","nodeType":"YulIdentifier","src":"22554:3:2"},"nativeSrc":"22554:21:2","nodeType":"YulFunctionCall","src":"22554:21:2"}],"functionName":{"name":"mload","nativeSrc":"22548:5:2","nodeType":"YulIdentifier","src":"22548:5:2"},"nativeSrc":"22548:28:2","nodeType":"YulFunctionCall","src":"22548:28:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22588:4:2","nodeType":"YulIdentifier","src":"22588:4:2"},{"name":"pV5","nativeSrc":"22594:3:2","nodeType":"YulIdentifier","src":"22594:3:2"}],"functionName":{"name":"add","nativeSrc":"22584:3:2","nodeType":"YulIdentifier","src":"22584:3:2"},"nativeSrc":"22584:14:2","nodeType":"YulFunctionCall","src":"22584:14:2"}],"functionName":{"name":"mload","nativeSrc":"22578:5:2","nodeType":"YulIdentifier","src":"22578:5:2"},"nativeSrc":"22578:21:2","nodeType":"YulFunctionCall","src":"22578:21:2"},{"name":"q","nativeSrc":"22601:1:2","nodeType":"YulIdentifier","src":"22601:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"22541:6:2","nodeType":"YulIdentifier","src":"22541:6:2"},"nativeSrc":"22541:62:2","nodeType":"YulFunctionCall","src":"22541:62:2"},{"name":"q","nativeSrc":"22605:1:2","nodeType":"YulIdentifier","src":"22605:1:2"}],"functionName":{"name":"addmod","nativeSrc":"22531:6:2","nodeType":"YulIdentifier","src":"22531:6:2"},"nativeSrc":"22531:76:2","nodeType":"YulFunctionCall","src":"22531:76:2"},"variableNames":[{"name":"s","nativeSrc":"22526:1:2","nodeType":"YulIdentifier","src":"22526:1:2"}]},{"nativeSrc":"22624:81:2","nodeType":"YulAssignment","src":"22624:81:2","value":{"arguments":[{"name":"s","nativeSrc":"22636:1:2","nodeType":"YulIdentifier","src":"22636:1:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22656:6:2","nodeType":"YulIdentifier","src":"22656:6:2"},{"name":"pEval_s2","nativeSrc":"22664:8:2","nodeType":"YulIdentifier","src":"22664:8:2"}],"functionName":{"name":"add","nativeSrc":"22652:3:2","nodeType":"YulIdentifier","src":"22652:3:2"},"nativeSrc":"22652:21:2","nodeType":"YulFunctionCall","src":"22652:21:2"}],"functionName":{"name":"mload","nativeSrc":"22646:5:2","nodeType":"YulIdentifier","src":"22646:5:2"},"nativeSrc":"22646:28:2","nodeType":"YulFunctionCall","src":"22646:28:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22686:4:2","nodeType":"YulIdentifier","src":"22686:4:2"},{"name":"pV6","nativeSrc":"22692:3:2","nodeType":"YulIdentifier","src":"22692:3:2"}],"functionName":{"name":"add","nativeSrc":"22682:3:2","nodeType":"YulIdentifier","src":"22682:3:2"},"nativeSrc":"22682:14:2","nodeType":"YulFunctionCall","src":"22682:14:2"}],"functionName":{"name":"mload","nativeSrc":"22676:5:2","nodeType":"YulIdentifier","src":"22676:5:2"},"nativeSrc":"22676:21:2","nodeType":"YulFunctionCall","src":"22676:21:2"},{"name":"q","nativeSrc":"22699:1:2","nodeType":"YulIdentifier","src":"22699:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"22639:6:2","nodeType":"YulIdentifier","src":"22639:6:2"},"nativeSrc":"22639:62:2","nodeType":"YulFunctionCall","src":"22639:62:2"},{"name":"q","nativeSrc":"22703:1:2","nodeType":"YulIdentifier","src":"22703:1:2"}],"functionName":{"name":"addmod","nativeSrc":"22629:6:2","nodeType":"YulIdentifier","src":"22629:6:2"},"nativeSrc":"22629:76:2","nodeType":"YulFunctionCall","src":"22629:76:2"},"variableNames":[{"name":"s","nativeSrc":"22624:1:2","nodeType":"YulIdentifier","src":"22624:1:2"}]},{"nativeSrc":"22722:80:2","nodeType":"YulAssignment","src":"22722:80:2","value":{"arguments":[{"name":"s","nativeSrc":"22734:1:2","nodeType":"YulIdentifier","src":"22734:1:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22754:6:2","nodeType":"YulIdentifier","src":"22754:6:2"},{"name":"pEval_zw","nativeSrc":"22762:8:2","nodeType":"YulIdentifier","src":"22762:8:2"}],"functionName":{"name":"add","nativeSrc":"22750:3:2","nodeType":"YulIdentifier","src":"22750:3:2"},"nativeSrc":"22750:21:2","nodeType":"YulFunctionCall","src":"22750:21:2"}],"functionName":{"name":"mload","nativeSrc":"22744:5:2","nodeType":"YulIdentifier","src":"22744:5:2"},"nativeSrc":"22744:28:2","nodeType":"YulFunctionCall","src":"22744:28:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22784:4:2","nodeType":"YulIdentifier","src":"22784:4:2"},{"name":"pU","nativeSrc":"22790:2:2","nodeType":"YulIdentifier","src":"22790:2:2"}],"functionName":{"name":"add","nativeSrc":"22780:3:2","nodeType":"YulIdentifier","src":"22780:3:2"},"nativeSrc":"22780:13:2","nodeType":"YulFunctionCall","src":"22780:13:2"}],"functionName":{"name":"mload","nativeSrc":"22774:5:2","nodeType":"YulIdentifier","src":"22774:5:2"},"nativeSrc":"22774:20:2","nodeType":"YulFunctionCall","src":"22774:20:2"},{"name":"q","nativeSrc":"22796:1:2","nodeType":"YulIdentifier","src":"22796:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"22737:6:2","nodeType":"YulIdentifier","src":"22737:6:2"},"nativeSrc":"22737:61:2","nodeType":"YulFunctionCall","src":"22737:61:2"},{"name":"q","nativeSrc":"22800:1:2","nodeType":"YulIdentifier","src":"22800:1:2"}],"functionName":{"name":"addmod","nativeSrc":"22727:6:2","nodeType":"YulIdentifier","src":"22727:6:2"},"nativeSrc":"22727:75:2","nodeType":"YulFunctionCall","src":"22727:75:2"},"variableNames":[{"name":"s","nativeSrc":"22722:1:2","nodeType":"YulIdentifier","src":"22722:1:2"}]},{"nativeSrc":"22819:22:2","nodeType":"YulAssignment","src":"22819:22:2","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"22832:1:2","nodeType":"YulIdentifier","src":"22832:1:2"},{"name":"s","nativeSrc":"22835:1:2","nodeType":"YulIdentifier","src":"22835:1:2"}],"functionName":{"name":"sub","nativeSrc":"22828:3:2","nodeType":"YulIdentifier","src":"22828:3:2"},"nativeSrc":"22828:9:2","nodeType":"YulFunctionCall","src":"22828:9:2"},{"name":"q","nativeSrc":"22839:1:2","nodeType":"YulIdentifier","src":"22839:1:2"}],"functionName":{"name":"mod","nativeSrc":"22824:3:2","nodeType":"YulIdentifier","src":"22824:3:2"},"nativeSrc":"22824:17:2","nodeType":"YulFunctionCall","src":"22824:17:2"},"variableNames":[{"name":"s","nativeSrc":"22819:1:2","nodeType":"YulIdentifier","src":"22819:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"22869:1:2","nodeType":"YulIdentifier","src":"22869:1:2"},{"name":"G1x","nativeSrc":"22872:3:2","nodeType":"YulIdentifier","src":"22872:3:2"},{"name":"G1y","nativeSrc":"22877:3:2","nodeType":"YulIdentifier","src":"22877:3:2"},{"name":"s","nativeSrc":"22882:1:2","nodeType":"YulIdentifier","src":"22882:1:2"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"22858:10:2","nodeType":"YulIdentifier","src":"22858:10:2"},"nativeSrc":"22858:26:2","nodeType":"YulFunctionCall","src":"22858:26:2"},"nativeSrc":"22858:26:2","nodeType":"YulExpressionStatement","src":"22858:26:2"},{"nativeSrc":"22969:26:2","nodeType":"YulAssignment","src":"22969:26:2","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22984:4:2","nodeType":"YulIdentifier","src":"22984:4:2"},{"name":"pXi","nativeSrc":"22990:3:2","nodeType":"YulIdentifier","src":"22990:3:2"}],"functionName":{"name":"add","nativeSrc":"22980:3:2","nodeType":"YulIdentifier","src":"22980:3:2"},"nativeSrc":"22980:14:2","nodeType":"YulFunctionCall","src":"22980:14:2"}],"functionName":{"name":"mload","nativeSrc":"22974:5:2","nodeType":"YulIdentifier","src":"22974:5:2"},"nativeSrc":"22974:21:2","nodeType":"YulFunctionCall","src":"22974:21:2"},"variableNames":[{"name":"s","nativeSrc":"22969:1:2","nodeType":"YulIdentifier","src":"22969:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23022:1:2","nodeType":"YulIdentifier","src":"23022:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"23029:6:2","nodeType":"YulIdentifier","src":"23029:6:2"},{"name":"pWxi","nativeSrc":"23037:4:2","nodeType":"YulIdentifier","src":"23037:4:2"}],"functionName":{"name":"add","nativeSrc":"23025:3:2","nodeType":"YulIdentifier","src":"23025:3:2"},"nativeSrc":"23025:17:2","nodeType":"YulFunctionCall","src":"23025:17:2"},{"name":"s","nativeSrc":"23044:1:2","nodeType":"YulIdentifier","src":"23044:1:2"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23012:9:2","nodeType":"YulIdentifier","src":"23012:9:2"},"nativeSrc":"23012:34:2","nodeType":"YulFunctionCall","src":"23012:34:2"},"nativeSrc":"23012:34:2","nodeType":"YulExpressionStatement","src":"23012:34:2"},{"nativeSrc":"23064:59:2","nodeType":"YulAssignment","src":"23064:59:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23086:4:2","nodeType":"YulIdentifier","src":"23086:4:2"},{"name":"pU","nativeSrc":"23092:2:2","nodeType":"YulIdentifier","src":"23092:2:2"}],"functionName":{"name":"add","nativeSrc":"23082:3:2","nodeType":"YulIdentifier","src":"23082:3:2"},"nativeSrc":"23082:13:2","nodeType":"YulFunctionCall","src":"23082:13:2"}],"functionName":{"name":"mload","nativeSrc":"23076:5:2","nodeType":"YulIdentifier","src":"23076:5:2"},"nativeSrc":"23076:20:2","nodeType":"YulFunctionCall","src":"23076:20:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23108:4:2","nodeType":"YulIdentifier","src":"23108:4:2"},{"name":"pXi","nativeSrc":"23114:3:2","nodeType":"YulIdentifier","src":"23114:3:2"}],"functionName":{"name":"add","nativeSrc":"23104:3:2","nodeType":"YulIdentifier","src":"23104:3:2"},"nativeSrc":"23104:14:2","nodeType":"YulFunctionCall","src":"23104:14:2"}],"functionName":{"name":"mload","nativeSrc":"23098:5:2","nodeType":"YulIdentifier","src":"23098:5:2"},"nativeSrc":"23098:21:2","nodeType":"YulFunctionCall","src":"23098:21:2"},{"name":"q","nativeSrc":"23121:1:2","nodeType":"YulIdentifier","src":"23121:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"23069:6:2","nodeType":"YulIdentifier","src":"23069:6:2"},"nativeSrc":"23069:54:2","nodeType":"YulFunctionCall","src":"23069:54:2"},"variableNames":[{"name":"s","nativeSrc":"23064:1:2","nodeType":"YulIdentifier","src":"23064:1:2"}]},{"nativeSrc":"23140:21:2","nodeType":"YulAssignment","src":"23140:21:2","value":{"arguments":[{"name":"s","nativeSrc":"23152:1:2","nodeType":"YulIdentifier","src":"23152:1:2"},{"name":"w1","nativeSrc":"23155:2:2","nodeType":"YulIdentifier","src":"23155:2:2"},{"name":"q","nativeSrc":"23159:1:2","nodeType":"YulIdentifier","src":"23159:1:2"}],"functionName":{"name":"mulmod","nativeSrc":"23145:6:2","nodeType":"YulIdentifier","src":"23145:6:2"},"nativeSrc":"23145:16:2","nodeType":"YulFunctionCall","src":"23145:16:2"},"variableNames":[{"name":"s","nativeSrc":"23140:1:2","nodeType":"YulIdentifier","src":"23140:1:2"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23188:1:2","nodeType":"YulIdentifier","src":"23188:1:2"},{"arguments":[{"name":"pProof","nativeSrc":"23195:6:2","nodeType":"YulIdentifier","src":"23195:6:2"},{"name":"pWxiw","nativeSrc":"23203:5:2","nodeType":"YulIdentifier","src":"23203:5:2"}],"functionName":{"name":"add","nativeSrc":"23191:3:2","nodeType":"YulIdentifier","src":"23191:3:2"},"nativeSrc":"23191:18:2","nodeType":"YulFunctionCall","src":"23191:18:2"},{"name":"s","nativeSrc":"23211:1:2","nodeType":"YulIdentifier","src":"23211:1:2"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23178:9:2","nodeType":"YulIdentifier","src":"23178:9:2"},"nativeSrc":"23178:35:2","nodeType":"YulFunctionCall","src":"23178:35:2"},"nativeSrc":"23178:35:2","nodeType":"YulExpressionStatement","src":"23178:35:2"}]},"name":"calculateB1","nativeSrc":"18750:4478:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18771:6:2","nodeType":"YulTypedName","src":"18771:6:2","type":""},{"name":"pMem","nativeSrc":"18779:4:2","nodeType":"YulTypedName","src":"18779:4:2","type":""}],"src":"18750:4478:2"},{"body":{"nativeSrc":"23290:879:2","nodeType":"YulBlock","src":"23290:879:2","statements":[{"nativeSrc":"23308:22:2","nodeType":"YulVariableDeclaration","src":"23308:22:2","value":{"arguments":[{"kind":"number","nativeSrc":"23325:4:2","nodeType":"YulLiteral","src":"23325:4:2","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"23319:5:2","nodeType":"YulIdentifier","src":"23319:5:2"},"nativeSrc":"23319:11:2","nodeType":"YulFunctionCall","src":"23319:11:2"},"variables":[{"name":"mIn","nativeSrc":"23312:3:2","nodeType":"YulTypedName","src":"23312:3:2","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"23354:3:2","nodeType":"YulIdentifier","src":"23354:3:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23369:4:2","nodeType":"YulIdentifier","src":"23369:4:2"},{"name":"pA1","nativeSrc":"23375:3:2","nodeType":"YulIdentifier","src":"23375:3:2"}],"functionName":{"name":"add","nativeSrc":"23365:3:2","nodeType":"YulIdentifier","src":"23365:3:2"},"nativeSrc":"23365:14:2","nodeType":"YulFunctionCall","src":"23365:14:2"}],"functionName":{"name":"mload","nativeSrc":"23359:5:2","nodeType":"YulIdentifier","src":"23359:5:2"},"nativeSrc":"23359:21:2","nodeType":"YulFunctionCall","src":"23359:21:2"}],"functionName":{"name":"mstore","nativeSrc":"23347:6:2","nodeType":"YulIdentifier","src":"23347:6:2"},"nativeSrc":"23347:34:2","nodeType":"YulFunctionCall","src":"23347:34:2"},"nativeSrc":"23347:34:2","nodeType":"YulExpressionStatement","src":"23347:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23409:3:2","nodeType":"YulIdentifier","src":"23409:3:2"},{"kind":"number","nativeSrc":"23413:2:2","nodeType":"YulLiteral","src":"23413:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23405:3:2","nodeType":"YulIdentifier","src":"23405:3:2"},"nativeSrc":"23405:11:2","nodeType":"YulFunctionCall","src":"23405:11:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23432:4:2","nodeType":"YulIdentifier","src":"23432:4:2"},{"name":"pA1","nativeSrc":"23438:3:2","nodeType":"YulIdentifier","src":"23438:3:2"}],"functionName":{"name":"add","nativeSrc":"23428:3:2","nodeType":"YulIdentifier","src":"23428:3:2"},"nativeSrc":"23428:14:2","nodeType":"YulFunctionCall","src":"23428:14:2"},{"kind":"number","nativeSrc":"23444:2:2","nodeType":"YulLiteral","src":"23444:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23424:3:2","nodeType":"YulIdentifier","src":"23424:3:2"},"nativeSrc":"23424:23:2","nodeType":"YulFunctionCall","src":"23424:23:2"}],"functionName":{"name":"mload","nativeSrc":"23418:5:2","nodeType":"YulIdentifier","src":"23418:5:2"},"nativeSrc":"23418:30:2","nodeType":"YulFunctionCall","src":"23418:30:2"}],"functionName":{"name":"mstore","nativeSrc":"23398:6:2","nodeType":"YulIdentifier","src":"23398:6:2"},"nativeSrc":"23398:51:2","nodeType":"YulFunctionCall","src":"23398:51:2"},"nativeSrc":"23398:51:2","nodeType":"YulExpressionStatement","src":"23398:51:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23477:3:2","nodeType":"YulIdentifier","src":"23477:3:2"},{"kind":"number","nativeSrc":"23481:2:2","nodeType":"YulLiteral","src":"23481:2:2","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"23473:3:2","nodeType":"YulIdentifier","src":"23473:3:2"},"nativeSrc":"23473:11:2","nodeType":"YulFunctionCall","src":"23473:11:2"},{"name":"X2x2","nativeSrc":"23486:4:2","nodeType":"YulIdentifier","src":"23486:4:2"}],"functionName":{"name":"mstore","nativeSrc":"23466:6:2","nodeType":"YulIdentifier","src":"23466:6:2"},"nativeSrc":"23466:25:2","nodeType":"YulFunctionCall","src":"23466:25:2"},"nativeSrc":"23466:25:2","nodeType":"YulExpressionStatement","src":"23466:25:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23519:3:2","nodeType":"YulIdentifier","src":"23519:3:2"},{"kind":"number","nativeSrc":"23523:2:2","nodeType":"YulLiteral","src":"23523:2:2","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"23515:3:2","nodeType":"YulIdentifier","src":"23515:3:2"},"nativeSrc":"23515:11:2","nodeType":"YulFunctionCall","src":"23515:11:2"},{"name":"X2x1","nativeSrc":"23528:4:2","nodeType":"YulIdentifier","src":"23528:4:2"}],"functionName":{"name":"mstore","nativeSrc":"23508:6:2","nodeType":"YulIdentifier","src":"23508:6:2"},"nativeSrc":"23508:25:2","nodeType":"YulFunctionCall","src":"23508:25:2"},"nativeSrc":"23508:25:2","nodeType":"YulExpressionStatement","src":"23508:25:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23561:3:2","nodeType":"YulIdentifier","src":"23561:3:2"},{"kind":"number","nativeSrc":"23565:3:2","nodeType":"YulLiteral","src":"23565:3:2","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"23557:3:2","nodeType":"YulIdentifier","src":"23557:3:2"},"nativeSrc":"23557:12:2","nodeType":"YulFunctionCall","src":"23557:12:2"},{"name":"X2y2","nativeSrc":"23571:4:2","nodeType":"YulIdentifier","src":"23571:4:2"}],"functionName":{"name":"mstore","nativeSrc":"23550:6:2","nodeType":"YulIdentifier","src":"23550:6:2"},"nativeSrc":"23550:26:2","nodeType":"YulFunctionCall","src":"23550:26:2"},"nativeSrc":"23550:26:2","nodeType":"YulExpressionStatement","src":"23550:26:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23604:3:2","nodeType":"YulIdentifier","src":"23604:3:2"},{"kind":"number","nativeSrc":"23608:3:2","nodeType":"YulLiteral","src":"23608:3:2","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"23600:3:2","nodeType":"YulIdentifier","src":"23600:3:2"},"nativeSrc":"23600:12:2","nodeType":"YulFunctionCall","src":"23600:12:2"},{"name":"X2y1","nativeSrc":"23614:4:2","nodeType":"YulIdentifier","src":"23614:4:2"}],"functionName":{"name":"mstore","nativeSrc":"23593:6:2","nodeType":"YulIdentifier","src":"23593:6:2"},"nativeSrc":"23593:26:2","nodeType":"YulFunctionCall","src":"23593:26:2"},"nativeSrc":"23593:26:2","nodeType":"YulExpressionStatement","src":"23593:26:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23647:3:2","nodeType":"YulIdentifier","src":"23647:3:2"},{"kind":"number","nativeSrc":"23651:3:2","nodeType":"YulLiteral","src":"23651:3:2","type":"","value":"192"}],"functionName":{"name":"add","nativeSrc":"23643:3:2","nodeType":"YulIdentifier","src":"23643:3:2"},"nativeSrc":"23643:12:2","nodeType":"YulFunctionCall","src":"23643:12:2"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23667:4:2","nodeType":"YulIdentifier","src":"23667:4:2"},{"name":"pB1","nativeSrc":"23673:3:2","nodeType":"YulIdentifier","src":"23673:3:2"}],"functionName":{"name":"add","nativeSrc":"23663:3:2","nodeType":"YulIdentifier","src":"23663:3:2"},"nativeSrc":"23663:14:2","nodeType":"YulFunctionCall","src":"23663:14:2"}],"functionName":{"name":"mload","nativeSrc":"23657:5:2","nodeType":"YulIdentifier","src":"23657:5:2"},"nativeSrc":"23657:21:2","nodeType":"YulFunctionCall","src":"23657:21:2"}],"functionName":{"name":"mstore","nativeSrc":"23636:6:2","nodeType":"YulIdentifier","src":"23636:6:2"},"nativeSrc":"23636:43:2","nodeType":"YulFunctionCall","src":"23636:43:2"},"nativeSrc":"23636:43:2","nodeType":"YulExpressionStatement","src":"23636:43:2"},{"nativeSrc":"23696:39:2","nodeType":"YulVariableDeclaration","src":"23696:39:2","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23719:4:2","nodeType":"YulIdentifier","src":"23719:4:2"},{"name":"pB1","nativeSrc":"23725:3:2","nodeType":"YulIdentifier","src":"23725:3:2"}],"functionName":{"name":"add","nativeSrc":"23715:3:2","nodeType":"YulIdentifier","src":"23715:3:2"},"nativeSrc":"23715:14:2","nodeType":"YulFunctionCall","src":"23715:14:2"},{"kind":"number","nativeSrc":"23731:2:2","nodeType":"YulLiteral","src":"23731:2:2","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23711:3:2","nodeType":"YulIdentifier","src":"23711:3:2"},"nativeSrc":"23711:23:2","nodeType":"YulFunctionCall","src":"23711:23:2"}],"functionName":{"name":"mload","nativeSrc":"23705:5:2","nodeType":"YulIdentifier","src":"23705:5:2"},"nativeSrc":"23705:30:2","nodeType":"YulFunctionCall","src":"23705:30:2"},"variables":[{"name":"s","nativeSrc":"23700:1:2","nodeType":"YulTypedName","src":"23700:1:2","type":""}]},{"nativeSrc":"23752:24:2","nodeType":"YulAssignment","src":"23752:24:2","value":{"arguments":[{"arguments":[{"name":"qf","nativeSrc":"23765:2:2","nodeType":"YulIdentifier","src":"23765:2:2"},{"name":"s","nativeSrc":"23769:1:2","nodeType":"YulIdentifier","src":"23769:1:2"}],"functionName":{"name":"sub","nativeSrc":"23761:3:2","nodeType":"YulIdentifier","src":"23761:3:2"},"nativeSrc":"23761:10:2","nodeType":"YulFunctionCall","src":"23761:10:2"},{"name":"qf","nativeSrc":"23773:2:2","nodeType":"YulIdentifier","src":"23773:2:2"}],"functionName":{"name":"mod","nativeSrc":"23757:3:2","nodeType":"YulIdentifier","src":"23757:3:2"},"nativeSrc":"23757:19:2","nodeType":"YulFunctionCall","src":"23757:19:2"},"variableNames":[{"name":"s","nativeSrc":"23752:1:2","nodeType":"YulIdentifier","src":"23752:1:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23804:3:2","nodeType":"YulIdentifier","src":"23804:3:2"},{"kind":"number","nativeSrc":"23808:3:2","nodeType":"YulLiteral","src":"23808:3:2","type":"","value":"224"}],"functionName":{"name":"add","nativeSrc":"23800:3:2","nodeType":"YulIdentifier","src":"23800:3:2"},"nativeSrc":"23800:12:2","nodeType":"YulFunctionCall","src":"23800:12:2"},{"name":"s","nativeSrc":"23814:1:2","nodeType":"YulIdentifier","src":"23814:1:2"}],"functionName":{"name":"mstore","nativeSrc":"23793:6:2","nodeType":"YulIdentifier","src":"23793:6:2"},"nativeSrc":"23793:23:2","nodeType":"YulFunctionCall","src":"23793:23:2"},"nativeSrc":"23793:23:2","nodeType":"YulExpressionStatement","src":"23793:23:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23844:3:2","nodeType":"YulIdentifier","src":"23844:3:2"},{"kind":"number","nativeSrc":"23848:3:2","nodeType":"YulLiteral","src":"23848:3:2","type":"","value":"256"}],"functionName":{"name":"add","nativeSrc":"23840:3:2","nodeType":"YulIdentifier","src":"23840:3:2"},"nativeSrc":"23840:12:2","nodeType":"YulFunctionCall","src":"23840:12:2"},{"name":"G2x2","nativeSrc":"23854:4:2","nodeType":"YulIdentifier","src":"23854:4:2"}],"functionName":{"name":"mstore","nativeSrc":"23833:6:2","nodeType":"YulIdentifier","src":"23833:6:2"},"nativeSrc":"23833:26:2","nodeType":"YulFunctionCall","src":"23833:26:2"},"nativeSrc":"23833:26:2","nodeType":"YulExpressionStatement","src":"23833:26:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23887:3:2","nodeType":"YulIdentifier","src":"23887:3:2"},{"kind":"number","nativeSrc":"23891:3:2","nodeType":"YulLiteral","src":"23891:3:2","type":"","value":"288"}],"functionName":{"name":"add","nativeSrc":"23883:3:2","nodeType":"YulIdentifier","src":"23883:3:2"},"nativeSrc":"23883:12:2","nodeType":"YulFunctionCall","src":"23883:12:2"},{"name":"G2x1","nativeSrc":"23897:4:2","nodeType":"YulIdentifier","src":"23897:4:2"}],"functionName":{"name":"mstore","nativeSrc":"23876:6:2","nodeType":"YulIdentifier","src":"23876:6:2"},"nativeSrc":"23876:26:2","nodeType":"YulFunctionCall","src":"23876:26:2"},"nativeSrc":"23876:26:2","nodeType":"YulExpressionStatement","src":"23876:26:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23930:3:2","nodeType":"YulIdentifier","src":"23930:3:2"},{"kind":"number","nativeSrc":"23934:3:2","nodeType":"YulLiteral","src":"23934:3:2","type":"","value":"320"}],"functionName":{"name":"add","nativeSrc":"23926:3:2","nodeType":"YulIdentifier","src":"23926:3:2"},"nativeSrc":"23926:12:2","nodeType":"YulFunctionCall","src":"23926:12:2"},{"name":"G2y2","nativeSrc":"23940:4:2","nodeType":"YulIdentifier","src":"23940:4:2"}],"functionName":{"name":"mstore","nativeSrc":"23919:6:2","nodeType":"YulIdentifier","src":"23919:6:2"},"nativeSrc":"23919:26:2","nodeType":"YulFunctionCall","src":"23919:26:2"},"nativeSrc":"23919:26:2","nodeType":"YulExpressionStatement","src":"23919:26:2"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23973:3:2","nodeType":"YulIdentifier","src":"23973:3:2"},{"kind":"number","nativeSrc":"23977:3:2","nodeType":"YulLiteral","src":"23977:3:2","type":"","value":"352"}],"functionName":{"name":"add","nativeSrc":"23969:3:2","nodeType":"YulIdentifier","src":"23969:3:2"},"nativeSrc":"23969:12:2","nodeType":"YulFunctionCall","src":"23969:12:2"},{"name":"G2y1","nativeSrc":"23983:4:2","nodeType":"YulIdentifier","src":"23983:4:2"}],"functionName":{"name":"mstore","nativeSrc":"23962:6:2","nodeType":"YulIdentifier","src":"23962:6:2"},"nativeSrc":"23962:26:2","nodeType":"YulFunctionCall","src":"23962:26:2"},"nativeSrc":"23962:26:2","nodeType":"YulExpressionStatement","src":"23962:26:2"},{"nativeSrc":"24022:67:2","nodeType":"YulVariableDeclaration","src":"24022:67:2","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"24052:3:2","nodeType":"YulIdentifier","src":"24052:3:2"},"nativeSrc":"24052:5:2","nodeType":"YulFunctionCall","src":"24052:5:2"},{"kind":"number","nativeSrc":"24059:4:2","nodeType":"YulLiteral","src":"24059:4:2","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"24048:3:2","nodeType":"YulIdentifier","src":"24048:3:2"},"nativeSrc":"24048:16:2","nodeType":"YulFunctionCall","src":"24048:16:2"},{"kind":"number","nativeSrc":"24066:1:2","nodeType":"YulLiteral","src":"24066:1:2","type":"","value":"8"},{"name":"mIn","nativeSrc":"24069:3:2","nodeType":"YulIdentifier","src":"24069:3:2"},{"kind":"number","nativeSrc":"24074:3:2","nodeType":"YulLiteral","src":"24074:3:2","type":"","value":"384"},{"name":"mIn","nativeSrc":"24079:3:2","nodeType":"YulIdentifier","src":"24079:3:2"},{"kind":"number","nativeSrc":"24084:4:2","nodeType":"YulLiteral","src":"24084:4:2","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nativeSrc":"24037:10:2","nodeType":"YulIdentifier","src":"24037:10:2"},"nativeSrc":"24037:52:2","nodeType":"YulFunctionCall","src":"24037:52:2"},"variables":[{"name":"success","nativeSrc":"24026:7:2","nodeType":"YulTypedName","src":"24026:7:2","type":""}]},{"nativeSrc":"24123:32:2","nodeType":"YulAssignment","src":"24123:32:2","value":{"arguments":[{"name":"success","nativeSrc":"24135:7:2","nodeType":"YulIdentifier","src":"24135:7:2"},{"arguments":[{"name":"mIn","nativeSrc":"24150:3:2","nodeType":"YulIdentifier","src":"24150:3:2"}],"functionName":{"name":"mload","nativeSrc":"24144:5:2","nodeType":"YulIdentifier","src":"24144:5:2"},"nativeSrc":"24144:10:2","nodeType":"YulFunctionCall","src":"24144:10:2"}],"functionName":{"name":"and","nativeSrc":"24131:3:2","nodeType":"YulIdentifier","src":"24131:3:2"},"nativeSrc":"24131:24:2","nodeType":"YulFunctionCall","src":"24131:24:2"},"variableNames":[{"name":"isOk","nativeSrc":"24123:4:2","nodeType":"YulIdentifier","src":"24123:4:2"}]}]},"name":"checkPairing","nativeSrc":"23254:915:2","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"23276:4:2","nodeType":"YulTypedName","src":"23276:4:2","type":""}],"returnVariables":[{"name":"isOk","nativeSrc":"23285:4:2","nodeType":"YulTypedName","src":"23285:4:2","type":""}],"src":"23254:915:2"},{"nativeSrc":"24195:23:2","nodeType":"YulVariableDeclaration","src":"24195:23:2","value":{"arguments":[{"kind":"number","nativeSrc":"24213:4:2","nodeType":"YulLiteral","src":"24213:4:2","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"24207:5:2","nodeType":"YulIdentifier","src":"24207:5:2"},"nativeSrc":"24207:11:2","nodeType":"YulFunctionCall","src":"24207:11:2"},"variables":[{"name":"pMem","nativeSrc":"24199:4:2","nodeType":"YulTypedName","src":"24199:4:2","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24238:4:2","nodeType":"YulLiteral","src":"24238:4:2","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24248:4:2","nodeType":"YulIdentifier","src":"24248:4:2"},{"name":"lastMem","nativeSrc":"24254:7:2","nodeType":"YulIdentifier","src":"24254:7:2"}],"functionName":{"name":"add","nativeSrc":"24244:3:2","nodeType":"YulIdentifier","src":"24244:3:2"},"nativeSrc":"24244:18:2","nodeType":"YulFunctionCall","src":"24244:18:2"}],"functionName":{"name":"mstore","nativeSrc":"24231:6:2","nodeType":"YulIdentifier","src":"24231:6:2"},"nativeSrc":"24231:32:2","nodeType":"YulFunctionCall","src":"24231:32:2"},"nativeSrc":"24231:32:2","nodeType":"YulExpressionStatement","src":"24231:32:2"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24300:5:2","nodeType":"YulIdentifier","src":"24300:5:2"}],"functionName":{"name":"checkInput","nativeSrc":"24289:10:2","nodeType":"YulIdentifier","src":"24289:10:2"},"nativeSrc":"24289:17:2","nodeType":"YulFunctionCall","src":"24289:17:2"},"nativeSrc":"24289:17:2","nodeType":"YulExpressionStatement","src":"24289:17:2"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24339:5:2","nodeType":"YulIdentifier","src":"24339:5:2"},{"name":"pMem","nativeSrc":"24346:4:2","nodeType":"YulIdentifier","src":"24346:4:2"},{"name":"pubSignals","nativeSrc":"24352:10:2","nodeType":"YulIdentifier","src":"24352:10:2"}],"functionName":{"name":"calculateChallanges","nativeSrc":"24319:19:2","nodeType":"YulIdentifier","src":"24319:19:2"},"nativeSrc":"24319:44:2","nodeType":"YulFunctionCall","src":"24319:44:2"},"nativeSrc":"24319:44:2","nodeType":"YulExpressionStatement","src":"24319:44:2"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24394:4:2","nodeType":"YulIdentifier","src":"24394:4:2"}],"functionName":{"name":"calculateLagrange","nativeSrc":"24376:17:2","nodeType":"YulIdentifier","src":"24376:17:2"},"nativeSrc":"24376:23:2","nodeType":"YulFunctionCall","src":"24376:23:2"},"nativeSrc":"24376:23:2","nodeType":"YulExpressionStatement","src":"24376:23:2"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24424:4:2","nodeType":"YulIdentifier","src":"24424:4:2"},{"name":"pubSignals","nativeSrc":"24430:10:2","nodeType":"YulIdentifier","src":"24430:10:2"}],"functionName":{"name":"calculatePl","nativeSrc":"24412:11:2","nodeType":"YulIdentifier","src":"24412:11:2"},"nativeSrc":"24412:29:2","nodeType":"YulFunctionCall","src":"24412:29:2"},"nativeSrc":"24412:29:2","nodeType":"YulExpressionStatement","src":"24412:29:2"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24465:5:2","nodeType":"YulIdentifier","src":"24465:5:2"},{"name":"pMem","nativeSrc":"24472:4:2","nodeType":"YulIdentifier","src":"24472:4:2"}],"functionName":{"name":"calculateT","nativeSrc":"24454:10:2","nodeType":"YulIdentifier","src":"24454:10:2"},"nativeSrc":"24454:23:2","nodeType":"YulFunctionCall","src":"24454:23:2"},"nativeSrc":"24454:23:2","nodeType":"YulExpressionStatement","src":"24454:23:2"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24502:5:2","nodeType":"YulIdentifier","src":"24502:5:2"},{"name":"pMem","nativeSrc":"24509:4:2","nodeType":"YulIdentifier","src":"24509:4:2"}],"functionName":{"name":"calculateA1","nativeSrc":"24490:11:2","nodeType":"YulIdentifier","src":"24490:11:2"},"nativeSrc":"24490:24:2","nodeType":"YulFunctionCall","src":"24490:24:2"},"nativeSrc":"24490:24:2","nodeType":"YulExpressionStatement","src":"24490:24:2"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24539:5:2","nodeType":"YulIdentifier","src":"24539:5:2"},{"name":"pMem","nativeSrc":"24546:4:2","nodeType":"YulIdentifier","src":"24546:4:2"}],"functionName":{"name":"calculateB1","nativeSrc":"24527:11:2","nodeType":"YulIdentifier","src":"24527:11:2"},"nativeSrc":"24527:24:2","nodeType":"YulFunctionCall","src":"24527:24:2"},"nativeSrc":"24527:24:2","nodeType":"YulExpressionStatement","src":"24527:24:2"},{"nativeSrc":"24564:33:2","nodeType":"YulVariableDeclaration","src":"24564:33:2","value":{"arguments":[{"name":"pMem","nativeSrc":"24592:4:2","nodeType":"YulIdentifier","src":"24592:4:2"}],"functionName":{"name":"checkPairing","nativeSrc":"24579:12:2","nodeType":"YulIdentifier","src":"24579:12:2"},"nativeSrc":"24579:18:2","nodeType":"YulFunctionCall","src":"24579:18:2"},"variables":[{"name":"isValid","nativeSrc":"24568:7:2","nodeType":"YulTypedName","src":"24568:7:2","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24630:4:2","nodeType":"YulLiteral","src":"24630:4:2","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24640:4:2","nodeType":"YulIdentifier","src":"24640:4:2"},{"name":"lastMem","nativeSrc":"24646:7:2","nodeType":"YulIdentifier","src":"24646:7:2"}],"functionName":{"name":"sub","nativeSrc":"24636:3:2","nodeType":"YulIdentifier","src":"24636:3:2"},"nativeSrc":"24636:18:2","nodeType":"YulFunctionCall","src":"24636:18:2"}],"functionName":{"name":"mstore","nativeSrc":"24623:6:2","nodeType":"YulIdentifier","src":"24623:6:2"},"nativeSrc":"24623:32:2","nodeType":"YulFunctionCall","src":"24623:32:2"},"nativeSrc":"24623:32:2","nodeType":"YulExpressionStatement","src":"24623:32:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24675:1:2","nodeType":"YulLiteral","src":"24675:1:2","type":"","value":"0"},{"name":"isValid","nativeSrc":"24678:7:2","nodeType":"YulIdentifier","src":"24678:7:2"}],"functionName":{"name":"mstore","nativeSrc":"24668:6:2","nodeType":"YulIdentifier","src":"24668:6:2"},"nativeSrc":"24668:18:2","nodeType":"YulFunctionCall","src":"24668:18:2"},"nativeSrc":"24668:18:2","nodeType":"YulExpressionStatement","src":"24668:18:2"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24706:1:2","nodeType":"YulLiteral","src":"24706:1:2","type":"","value":"0"},{"kind":"number","nativeSrc":"24708:4:2","nodeType":"YulLiteral","src":"24708:4:2","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"24699:6:2","nodeType":"YulIdentifier","src":"24699:6:2"},"nativeSrc":"24699:14:2","nodeType":"YulFunctionCall","src":"24699:14:2"},"nativeSrc":"24699:14:2","nodeType":"YulExpressionStatement","src":"24699:14:2"}]},"evmVersion":"paris","externalReferences":[{"declaration":544,"isOffset":false,"isSlot":false,"src":"22872:3:2","valueSize":1},{"declaration":547,"isOffset":false,"isSlot":false,"src":"22877:3:2","valueSize":1},{"declaration":550,"isOffset":false,"isSlot":false,"src":"23897:4:2","valueSize":1},{"declaration":553,"isOffset":false,"isSlot":false,"src":"23854:4:2","valueSize":1},{"declaration":556,"isOffset":false,"isSlot":false,"src":"23983:4:2","valueSize":1},{"declaration":559,"isOffset":false,"isSlot":false,"src":"23940:4:2","valueSize":1},{"declaration":493,"isOffset":false,"isSlot":false,"src":"19516:3:2","valueSize":1},{"declaration":496,"isOffset":false,"isSlot":false,"src":"19521:3:2","valueSize":1},{"declaration":475,"isOffset":false,"isSlot":false,"src":"19034:3:2","valueSize":1},{"declaration":478,"isOffset":false,"isSlot":false,"src":"19039:3:2","valueSize":1},{"declaration":469,"isOffset":false,"isSlot":false,"src":"19158:3:2","valueSize":1},{"declaration":472,"isOffset":false,"isSlot":false,"src":"19163:3:2","valueSize":1},{"declaration":487,"isOffset":false,"isSlot":false,"src":"19430:3:2","valueSize":1},{"declaration":490,"isOffset":false,"isSlot":false,"src":"19435:3:2","valueSize":1},{"declaration":481,"isOffset":false,"isSlot":false,"src":"19286:3:2","valueSize":1},{"declaration":484,"isOffset":false,"isSlot":false,"src":"19291:3:2","valueSize":1},{"declaration":499,"isOffset":false,"isSlot":false,"src":"21931:3:2","valueSize":1},{"declaration":502,"isOffset":false,"isSlot":false,"src":"21936:3:2","valueSize":1},{"declaration":505,"isOffset":false,"isSlot":false,"src":"21994:3:2","valueSize":1},{"declaration":508,"isOffset":false,"isSlot":false,"src":"21999:3:2","valueSize":1},{"declaration":511,"isOffset":false,"isSlot":false,"src":"21387:3:2","valueSize":1},{"declaration":514,"isOffset":false,"isSlot":false,"src":"21392:3:2","valueSize":1},{"declaration":523,"isOffset":false,"isSlot":false,"src":"23528:4:2","valueSize":1},{"declaration":526,"isOffset":false,"isSlot":false,"src":"23486:4:2","valueSize":1},{"declaration":529,"isOffset":false,"isSlot":false,"src":"23614:4:2","valueSize":1},{"declaration":532,"isOffset":false,"isSlot":false,"src":"23571:4:2","valueSize":1},{"declaration":517,"isOffset":false,"isSlot":false,"src":"19706:2:2","valueSize":1},{"declaration":520,"isOffset":false,"isSlot":false,"src":"19934:2:2","valueSize":1},{"declaration":670,"isOffset":false,"isSlot":false,"src":"24254:7:2","valueSize":1},{"declaration":670,"isOffset":false,"isSlot":false,"src":"24646:7:2","valueSize":1},{"declaration":670,"isOffset":false,"isSlot":false,"src":"9544:7:2","valueSize":1},{"declaration":460,"isOffset":false,"isSlot":false,"src":"11892:1:2","valueSize":1},{"declaration":562,"isOffset":false,"isSlot":false,"src":"21735:2:2","valueSize":1},{"declaration":562,"isOffset":false,"isSlot":false,"src":"9099:2:2","valueSize":1},{"declaration":562,"isOffset":false,"isSlot":false,"src":"9170:2:2","valueSize":1},{"declaration":562,"isOffset":false,"isSlot":false,"src":"9245:2:2","valueSize":1},{"declaration":562,"isOffset":false,"isSlot":false,"src":"9320:2:2","valueSize":1},{"declaration":562,"isOffset":false,"isSlot":false,"src":"9395:2:2","valueSize":1},{"declaration":562,"isOffset":false,"isSlot":false,"src":"9471:2:2","valueSize":1},{"declaration":655,"isOffset":false,"isSlot":false,"src":"18577:3:2","valueSize":1},{"declaration":655,"isOffset":false,"isSlot":false,"src":"23375:3:2","valueSize":1},{"declaration":655,"isOffset":false,"isSlot":false,"src":"23438:3:2","valueSize":1},{"declaration":610,"isOffset":false,"isSlot":false,"src":"15154:6:2","valueSize":1},{"declaration":610,"isOffset":false,"isSlot":false,"src":"15299:6:2","valueSize":1},{"declaration":610,"isOffset":false,"isSlot":false,"src":"15442:6:2","valueSize":1},{"declaration":610,"isOffset":false,"isSlot":false,"src":"20180:6:2","valueSize":1},{"declaration":610,"isOffset":false,"isSlot":false,"src":"20323:6:2","valueSize":1},{"declaration":610,"isOffset":false,"isSlot":false,"src":"20385:6:2","valueSize":1},{"declaration":610,"isOffset":false,"isSlot":false,"src":"21125:6:2","valueSize":1},{"declaration":610,"isOffset":false,"isSlot":false,"src":"9727:6:2","valueSize":1},{"declaration":565,"isOffset":false,"isSlot":false,"src":"21804:2:2","valueSize":1},{"declaration":658,"isOffset":false,"isSlot":false,"src":"18867:3:2","valueSize":1},{"declaration":658,"isOffset":false,"isSlot":false,"src":"23673:3:2","valueSize":1},{"declaration":658,"isOffset":false,"isSlot":false,"src":"23725:3:2","valueSize":1},{"declaration":613,"isOffset":false,"isSlot":false,"src":"13942:5:2","valueSize":1},{"declaration":613,"isOffset":false,"isSlot":false,"src":"14409:5:2","valueSize":1},{"declaration":613,"isOffset":false,"isSlot":false,"src":"20661:5:2","valueSize":1},{"declaration":613,"isOffset":false,"isSlot":false,"src":"20871:5:2","valueSize":1},{"declaration":613,"isOffset":false,"isSlot":false,"src":"21242:5:2","valueSize":1},{"declaration":613,"isOffset":false,"isSlot":false,"src":"9598:5:2","valueSize":1},{"declaration":613,"isOffset":false,"isSlot":false,"src":"9676:5:2","valueSize":1},{"declaration":625,"isOffset":false,"isSlot":false,"src":"19603:7:2","valueSize":1},{"declaration":625,"isOffset":false,"isSlot":false,"src":"19726:7:2","valueSize":1},{"declaration":625,"isOffset":false,"isSlot":false,"src":"19954:7:2","valueSize":1},{"declaration":625,"isOffset":false,"isSlot":false,"src":"9932:7:2","valueSize":1},{"declaration":568,"isOffset":false,"isSlot":false,"src":"21873:2:2","valueSize":1},{"declaration":589,"isOffset":false,"isSlot":false,"src":"11071:7:2","valueSize":1},{"declaration":589,"isOffset":false,"isSlot":false,"src":"14084:7:2","valueSize":1},{"declaration":589,"isOffset":false,"isSlot":false,"src":"18967:7:2","valueSize":1},{"declaration":589,"isOffset":false,"isSlot":false,"src":"19576:7:2","valueSize":1},{"declaration":589,"isOffset":false,"isSlot":false,"src":"20752:7:2","valueSize":1},{"declaration":589,"isOffset":false,"isSlot":false,"src":"22275:7:2","valueSize":1},{"declaration":589,"isOffset":false,"isSlot":false,"src":"8344:7:2","valueSize":1},{"declaration":592,"isOffset":false,"isSlot":false,"src":"14551:7:2","valueSize":1},{"declaration":592,"isOffset":false,"isSlot":false,"src":"19098:7:2","valueSize":1},{"declaration":592,"isOffset":false,"isSlot":false,"src":"19219:7:2","valueSize":1},{"declaration":592,"isOffset":false,"isSlot":false,"src":"19791:7:2","valueSize":1},{"declaration":592,"isOffset":false,"isSlot":false,"src":"20964:7:2","valueSize":1},{"declaration":592,"isOffset":false,"isSlot":false,"src":"22372:7:2","valueSize":1},{"declaration":592,"isOffset":false,"isSlot":false,"src":"8400:7:2","valueSize":1},{"declaration":595,"isOffset":false,"isSlot":false,"src":"14901:7:2","valueSize":1},{"declaration":595,"isOffset":false,"isSlot":false,"src":"19363:7:2","valueSize":1},{"declaration":595,"isOffset":false,"isSlot":false,"src":"20019:7:2","valueSize":1},{"declaration":595,"isOffset":false,"isSlot":false,"src":"22469:7:2","valueSize":1},{"declaration":595,"isOffset":false,"isSlot":false,"src":"8456:7:2","valueSize":1},{"declaration":667,"isOffset":false,"isSlot":false,"src":"11828:8:2","valueSize":1},{"declaration":667,"isOffset":false,"isSlot":false,"src":"12597:8:2","valueSize":1},{"declaration":667,"isOffset":false,"isSlot":false,"src":"12678:8:2","valueSize":1},{"declaration":667,"isOffset":false,"isSlot":false,"src":"13174:8:2","valueSize":1},{"declaration":667,"isOffset":false,"isSlot":false,"src":"15250:8:2","valueSize":1},{"declaration":667,"isOffset":false,"isSlot":false,"src":"20295:8:2","valueSize":1},{"declaration":607,"isOffset":false,"isSlot":false,"src":"13713:7:2","valueSize":1},{"declaration":607,"isOffset":false,"isSlot":false,"src":"22178:7:2","valueSize":1},{"declaration":607,"isOffset":false,"isSlot":false,"src":"8683:7:2","valueSize":1},{"declaration":598,"isOffset":false,"isSlot":false,"src":"13894:8:2","valueSize":1},{"declaration":598,"isOffset":false,"isSlot":false,"src":"20688:8:2","valueSize":1},{"declaration":598,"isOffset":false,"isSlot":false,"src":"22566:8:2","valueSize":1},{"declaration":598,"isOffset":false,"isSlot":false,"src":"8512:8:2","valueSize":1},{"declaration":601,"isOffset":false,"isSlot":false,"src":"14361:8:2","valueSize":1},{"declaration":601,"isOffset":false,"isSlot":false,"src":"20898:8:2","valueSize":1},{"declaration":601,"isOffset":false,"isSlot":false,"src":"22664:8:2","valueSize":1},{"declaration":601,"isOffset":false,"isSlot":false,"src":"8569:8:2","valueSize":1},{"declaration":652,"isOffset":false,"isSlot":false,"src":"15710:7:2","valueSize":1},{"declaration":652,"isOffset":false,"isSlot":false,"src":"22112:7:2","valueSize":1},{"declaration":604,"isOffset":false,"isSlot":false,"src":"15090:8:2","valueSize":1},{"declaration":604,"isOffset":false,"isSlot":false,"src":"21303:8:2","valueSize":1},{"declaration":604,"isOffset":false,"isSlot":false,"src":"22762:8:2","valueSize":1},{"declaration":604,"isOffset":false,"isSlot":false,"src":"8626:8:2","valueSize":1},{"declaration":616,"isOffset":false,"isSlot":false,"src":"14242:6:2","valueSize":1},{"declaration":616,"isOffset":false,"isSlot":false,"src":"14709:6:2","valueSize":1},{"declaration":616,"isOffset":false,"isSlot":false,"src":"14948:6:2","valueSize":1},{"declaration":616,"isOffset":false,"isSlot":false,"src":"19664:6:2","valueSize":1},{"declaration":616,"isOffset":false,"isSlot":false,"src":"19854:6:2","valueSize":1},{"declaration":616,"isOffset":false,"isSlot":false,"src":"20082:6:2","valueSize":1},{"declaration":616,"isOffset":false,"isSlot":false,"src":"20813:6:2","valueSize":1},{"declaration":616,"isOffset":false,"isSlot":false,"src":"21027:6:2","valueSize":1},{"declaration":616,"isOffset":false,"isSlot":false,"src":"9643:6:2","valueSize":1},{"declaration":649,"isOffset":false,"isSlot":false,"src":"13487:3:2","valueSize":1},{"declaration":649,"isOffset":false,"isSlot":false,"src":"13761:3:2","valueSize":1},{"declaration":574,"isOffset":false,"isSlot":false,"src":"21472:3:2","valueSize":1},{"declaration":574,"isOffset":false,"isSlot":false,"src":"9840:3:2","valueSize":1},{"declaration":577,"isOffset":false,"isSlot":false,"src":"21564:3:2","valueSize":1},{"declaration":580,"isOffset":false,"isSlot":false,"src":"21668:3:2","valueSize":1},{"declaration":646,"isOffset":false,"isSlot":false,"src":"11591:2:2","valueSize":1},{"declaration":646,"isOffset":false,"isSlot":false,"src":"18692:2:2","valueSize":1},{"declaration":646,"isOffset":false,"isSlot":false,"src":"20542:2:2","valueSize":1},{"declaration":646,"isOffset":false,"isSlot":false,"src":"22790:2:2","valueSize":1},{"declaration":646,"isOffset":false,"isSlot":false,"src":"23092:2:2","valueSize":1},{"declaration":628,"isOffset":false,"isSlot":false,"src":"11124:3:2","valueSize":1},{"declaration":628,"isOffset":false,"isSlot":false,"src":"18994:3:2","valueSize":1},{"declaration":628,"isOffset":false,"isSlot":false,"src":"19246:3:2","valueSize":1},{"declaration":628,"isOffset":false,"isSlot":false,"src":"19390:3:2","valueSize":1},{"declaration":628,"isOffset":false,"isSlot":false,"src":"19480:3:2","valueSize":1},{"declaration":628,"isOffset":false,"isSlot":false,"src":"20240:3:2","valueSize":1},{"declaration":628,"isOffset":false,"isSlot":false,"src":"20447:3:2","valueSize":1},{"declaration":628,"isOffset":false,"isSlot":false,"src":"21185:3:2","valueSize":1},{"declaration":628,"isOffset":false,"isSlot":false,"src":"22205:3:2","valueSize":1},{"declaration":631,"isOffset":false,"isSlot":false,"src":"11207:3:2","valueSize":1},{"declaration":631,"isOffset":false,"isSlot":false,"src":"21756:3:2","valueSize":1},{"declaration":631,"isOffset":false,"isSlot":false,"src":"22302:3:2","valueSize":1},{"declaration":634,"isOffset":false,"isSlot":false,"src":"11288:3:2","valueSize":1},{"declaration":634,"isOffset":false,"isSlot":false,"src":"21825:3:2","valueSize":1},{"declaration":634,"isOffset":false,"isSlot":false,"src":"22399:3:2","valueSize":1},{"declaration":637,"isOffset":false,"isSlot":false,"src":"11369:3:2","valueSize":1},{"declaration":637,"isOffset":false,"isSlot":false,"src":"21894:3:2","valueSize":1},{"declaration":637,"isOffset":false,"isSlot":false,"src":"22496:3:2","valueSize":1},{"declaration":640,"isOffset":false,"isSlot":false,"src":"11450:3:2","valueSize":1},{"declaration":640,"isOffset":false,"isSlot":false,"src":"21957:3:2","valueSize":1},{"declaration":640,"isOffset":false,"isSlot":false,"src":"22594:3:2","valueSize":1},{"declaration":643,"isOffset":false,"isSlot":false,"src":"11531:3:2","valueSize":1},{"declaration":643,"isOffset":false,"isSlot":false,"src":"22020:3:2","valueSize":1},{"declaration":643,"isOffset":false,"isSlot":false,"src":"22692:3:2","valueSize":1},{"declaration":583,"isOffset":false,"isSlot":false,"src":"11622:4:2","valueSize":1},{"declaration":583,"isOffset":false,"isSlot":false,"src":"18620:4:2","valueSize":1},{"declaration":583,"isOffset":false,"isSlot":false,"src":"23037:4:2","valueSize":1},{"declaration":586,"isOffset":false,"isSlot":false,"src":"18668:5:2","valueSize":1},{"declaration":586,"isOffset":false,"isSlot":false,"src":"23203:5:2","valueSize":1},{"declaration":619,"isOffset":false,"isSlot":false,"src":"12047:3:2","valueSize":1},{"declaration":619,"isOffset":false,"isSlot":false,"src":"22990:3:2","valueSize":1},{"declaration":619,"isOffset":false,"isSlot":false,"src":"23114:3:2","valueSize":1},{"declaration":619,"isOffset":false,"isSlot":false,"src":"9889:3:2","valueSize":1},{"declaration":622,"isOffset":false,"isSlot":false,"src":"10805:4:2","valueSize":1},{"declaration":622,"isOffset":false,"isSlot":false,"src":"21516:4:2","valueSize":1},{"declaration":571,"isOffset":false,"isSlot":false,"src":"20592:2:2","valueSize":1},{"declaration":571,"isOffset":false,"isSlot":false,"src":"9762:2:2","valueSize":1},{"declaration":661,"isOffset":false,"isSlot":false,"src":"10894:3:2","valueSize":1},{"declaration":661,"isOffset":false,"isSlot":false,"src":"12480:3:2","valueSize":1},{"declaration":664,"isOffset":false,"isSlot":false,"src":"10937:6:2","valueSize":1},{"declaration":664,"isOffset":false,"isSlot":false,"src":"12408:6:2","valueSize":1},{"declaration":664,"isOffset":false,"isSlot":false,"src":"15646:6:2","valueSize":1},{"declaration":672,"isOffset":false,"isSlot":false,"src":"24300:5:2","valueSize":1},{"declaration":672,"isOffset":false,"isSlot":false,"src":"24339:5:2","valueSize":1},{"declaration":672,"isOffset":false,"isSlot":false,"src":"24465:5:2","valueSize":1},{"declaration":672,"isOffset":false,"isSlot":false,"src":"24502:5:2","valueSize":1},{"declaration":672,"isOffset":false,"isSlot":false,"src":"24539:5:2","valueSize":1},{"declaration":675,"isOffset":false,"isSlot":false,"src":"24352:10:2","valueSize":1},{"declaration":675,"isOffset":false,"isSlot":false,"src":"24430:10:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10009:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10062:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10115:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10168:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10221:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10274:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10327:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10380:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10433:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10486:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10539:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10592:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10645:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10698:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10751:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10853:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"10857:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"11087:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"11170:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"11251:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"11332:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"11413:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"11494:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"11635:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"12161:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"12222:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"12276:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"12743:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"13272:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"13355:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"13400:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"13789:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"13971:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"14115:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"14272:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"14438:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"14582:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"14739:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"14813:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"14978:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"15036:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"15102:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"15164:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"15330:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"15473:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"15531:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"15587:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"15596:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"15656:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19001:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19109:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19253:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19397:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19614:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19674:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19737:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19802:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19864:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19902:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"19965:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20030:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20092:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20130:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20190:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20247:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20333:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20395:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20454:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20492:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20548:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20700:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20763:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20823:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20910:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"20975:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"21037:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"21075:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"21135:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"21192:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"21251:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"21315:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"21347:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"21354:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"21624:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22212:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22216:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22309:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22313:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22406:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22410:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22503:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22507:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22601:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22605:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22699:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22703:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22796:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22800:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22832:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"22839:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"23121:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"23159:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"7067:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"7124:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"7694:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"7748:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"7999:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"9560:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"9689:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"9772:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"9852:1:2","valueSize":1},{"declaration":535,"isOffset":false,"isSlot":false,"src":"9955:1:2","valueSize":1},{"declaration":538,"isOffset":false,"isSlot":false,"src":"23765:2:2","valueSize":1},{"declaration":538,"isOffset":false,"isSlot":false,"src":"23773:2:2","valueSize":1},{"declaration":541,"isOffset":false,"isSlot":false,"src":"23155:2:2","valueSize":1}],"id":680,"nodeType":"InlineAssembly","src":"5291:19432:2"}]},"functionSelector":"1e8e1e13","id":682,"implemented":true,"kind":"function","modifiers":[],"name":"verifyProof","nameLocation":"5196:11:2","nodeType":"FunctionDefinition","parameters":{"id":676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":672,"mutability":"mutable","name":"proof","nameLocation":"5221:5:2","nodeType":"VariableDeclaration","scope":682,"src":"5208:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":671,"name":"bytes","nodeType":"ElementaryTypeName","src":"5208:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":675,"mutability":"mutable","name":"pubSignals","nameLocation":"5242:10:2","nodeType":"VariableDeclaration","scope":682,"src":"5228:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":673,"name":"uint","nodeType":"ElementaryTypeName","src":"5228:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":674,"nodeType":"ArrayTypeName","src":"5228:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5207:46:2"},"returnParameters":{"id":679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":682,"src":"5275:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":677,"name":"bool","nodeType":"ElementaryTypeName","src":"5275:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5274:6:2"},"scope":683,"src":"5187:19551:2","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":684,"src":"832:23908:2","usedErrors":[],"usedEvents":[]}],"src":"799:23942:2"},"id":2}},"contracts":{"contracts/workstep1Verifier.sol":{"Workstep1Verifier":{"abi":[{"inputs":[{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"uint256[]","name":"pubSignals","type":"uint256[]"}],"name":"verifyProof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50611dc3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cdf565b610060565b6040516100579190611d72565b60405180910390f35b6000611a1c565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f29e79ad99d77a4ffcf4b8ab0e464b713c864049f2add12136968cff0864088eb7f1410aa6f48b6cf3bf598c6dfa5cb01466519164bd833de0e7827db62d8cac07884610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f1d0d822b29a0910be348f05ad545cfca3c4a45984ec7b3c071978ca4e979b6867f1689e43d6a0f29f2c00abcf49c803fa5c0ebbf4937b1ad668147399369a8fa7e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f145db25e5672a52146b54883489d4339ba16367240f7dd1dacb09e4daf1189d77f1f3ae2a7d2308c43976c572190b3779f177a653b623119177aec86a173733e0984610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f2ece7b42d73dbbda215415dad9da14a4e9f50453c2ea3c269d78f0c4f48b93927f1d854ccab14984cad21ee83abc5688656d4978607ee46ce05c6e30e70438934c84610c61565b60c08501519250610f76837f28dfa5635712fec932cb955efa78de7c3bb1d717ca47ac63d0028c25000ab9827f0c1d9a27ace009b0748df47d8996964d4c5efe448f5689be7f89b1c9b54d1fd484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f1a57e0730386d03ce171300fd06d8df31762d7652b64af847809b15539bf96477f12515de6655d8e300d5106f29f03a0e8d28d2c9c2cf842475e26a42f3eca1c3784610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f28a149d8479d0660ccf9119b862a6296efb8955f144f3a4c28218cbdc30c4a3e7f268d5e96726a4f0a0af926881dd088840f0b189fc0bac1c06378ca1342030d4784610c61565b6115ee6101608601517f0e7776860985ee7b82e3ff3a29a0704c80cc4f49fd6a08562de1286b1a4147737f16d85b4ca470712c952db758ba22542a1494058886d0cf5bc1d6e2796d5d7a3a84610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ae836002600184610c61565b606085015192506117c4836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184883610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a3084610206565b611a3b83828661027f565b611a4481610785565b611a4e838261082a565b611a58818561088d565b611a628185610d07565b611a6c8185610d33565b611a758161184f565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aee82611aa5565b810181811067ffffffffffffffff82111715611b0d57611b0c611ab6565b5b80604052505050565b6000611b20611a87565b9050611b2c8282611ae5565b919050565b600067ffffffffffffffff821115611b4c57611b4b611ab6565b5b611b5582611aa5565b9050602081019050919050565b82818337600083830152505050565b6000611b84611b7f84611b31565b611b16565b905082815260208101848484011115611ba057611b9f611aa0565b5b611bab848285611b62565b509392505050565b600082601f830112611bc857611bc7611a9b565b5b8135611bd8848260208601611b71565b91505092915050565b600067ffffffffffffffff821115611bfc57611bfb611ab6565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b6000611c5b611c5684611be1565b611b16565b90508083825260208201905060208402830185811115611c7e57611c7d611c0d565b5b835b81811015611ca75780611c938882611c33565b845260208401935050602081019050611c80565b5050509392505050565b600082601f830112611cc657611cc5611a9b565b5b8135611cd6848260208601611c48565b91505092915050565b60008060408385031215611cf657611cf5611a91565b5b600083013567ffffffffffffffff811115611d1457611d13611a96565b5b611d2085828601611bb3565b925050602083013567ffffffffffffffff811115611d4157611d40611a96565b5b611d4d85828601611cb1565b9150509250929050565b60008115159050919050565b611d6c81611d57565b82525050565b6000602082019050611d876000830184611d63565b9291505056fea2646970667358221220f40151e1f02334e599ea3cec1e98933d2e3259f203b077c91496df8a7ea9f19964736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC3 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDF JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x29E79AD99D77A4FFCF4B8AB0E464B713C864049F2ADD12136968CFF0864088EB PUSH32 0x1410AA6F48B6CF3BF598C6DFA5CB01466519164BD833DE0E7827DB62D8CAC078 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x1D0D822B29A0910BE348F05AD545CFCA3C4A45984EC7B3C071978CA4E979B686 PUSH32 0x1689E43D6A0F29F2C00ABCF49C803FA5C0EBBF4937B1AD668147399369A8FA7E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0x145DB25E5672A52146B54883489D4339BA16367240F7DD1DACB09E4DAF1189D7 PUSH32 0x1F3AE2A7D2308C43976C572190B3779F177A653B623119177AEC86A173733E09 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x2ECE7B42D73DBBDA215415DAD9DA14A4E9F50453C2EA3C269D78F0C4F48B9392 PUSH32 0x1D854CCAB14984CAD21EE83ABC5688656D4978607EE46CE05C6E30E70438934C DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x28DFA5635712FEC932CB955EFA78DE7C3BB1D717CA47AC63D0028C25000AB982 PUSH32 0xC1D9A27ACE009B0748DF47D8996964D4C5EFE448F5689BE7F89B1C9B54D1FD4 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x1A57E0730386D03CE171300FD06D8DF31762D7652B64AF847809B15539BF9647 PUSH32 0x12515DE6655D8E300D5106F29F03A0E8D28D2C9C2CF842475E26A42F3ECA1C37 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x28A149D8479D0660CCF9119B862A6296EFB8955F144F3A4C28218CBDC30C4A3E PUSH32 0x268D5E96726A4F0A0AF926881DD088840F0B189FC0BAC1C06378CA1342030D47 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15EE PUSH2 0x160 DUP7 ADD MLOAD PUSH32 0xE7776860985EE7B82E3FF3A29A0704C80CC4F49FD6A08562DE1286B1A414773 PUSH32 0x16D85B4CA470712C952DB758BA22542A1494058886D0CF5BC1D6E2796D5D7A3A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AE DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C4 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1848 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A30 DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3B DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A44 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4E DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A58 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A62 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6C DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A75 DUP2 PUSH2 0x184F JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AEE DUP3 PUSH2 0x1AA5 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0D JUMPI PUSH2 0x1B0C PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B20 PUSH2 0x1A87 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2C DUP3 DUP3 PUSH2 0x1AE5 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4C JUMPI PUSH2 0x1B4B PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST PUSH2 0x1B55 DUP3 PUSH2 0x1AA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B84 PUSH2 0x1B7F DUP5 PUSH2 0x1B31 JUMP JUMPDEST PUSH2 0x1B16 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1BA0 JUMPI PUSH2 0x1B9F PUSH2 0x1AA0 JUMP JUMPDEST JUMPDEST PUSH2 0x1BAB DUP5 DUP3 DUP6 PUSH2 0x1B62 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC8 JUMPI PUSH2 0x1BC7 PUSH2 0x1A9B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B71 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFC JUMPI PUSH2 0x1BFB PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C25 DUP2 PUSH2 0x1C12 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C42 DUP2 PUSH2 0x1C1C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5B PUSH2 0x1C56 DUP5 PUSH2 0x1BE1 JUMP JUMPDEST PUSH2 0x1B16 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7E JUMPI PUSH2 0x1C7D PUSH2 0x1C0D JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA7 JUMPI DUP1 PUSH2 0x1C93 DUP9 DUP3 PUSH2 0x1C33 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C80 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC6 JUMPI PUSH2 0x1CC5 PUSH2 0x1A9B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C48 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF6 JUMPI PUSH2 0x1CF5 PUSH2 0x1A91 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D14 JUMPI PUSH2 0x1D13 PUSH2 0x1A96 JUMP JUMPDEST JUMPDEST PUSH2 0x1D20 DUP6 DUP3 DUP7 ADD PUSH2 0x1BB3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D41 JUMPI PUSH2 0x1D40 PUSH2 0x1A96 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4D DUP6 DUP3 DUP7 ADD PUSH2 0x1CB1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6C DUP2 PUSH2 0x1D57 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D87 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL ADD MLOAD 0xE1 CREATE 0x23 CALLVALUE 0xE5 SWAP10 0xEA EXTCODECOPY 0xEC 0x1E SWAP9 SWAP4 RETURNDATASIZE 0x2E ORIGIN MSIZE CALLCODE SUB 0xB0 PUSH24 0xC91496DF8A7EA9F19964736F6C6343000818003300000000 ","sourceMap":"832:23912:0:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@verifyProof_226":{"entryPoint":96,"id":226,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7240,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":7025,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7345,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":7091,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":7219,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7391,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":7523,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":7538,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":6934,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":6791,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7137,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":6961,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":7511,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":7186,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":7010,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":6885,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x41":{"entryPoint":6838,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":6811,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":7181,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":6816,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":6806,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":6801,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":6821,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":7196,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nativeSrc":"0:5761:3","nodeType":"YulBlock","src":"0:5761:3","statements":[{"body":{"nativeSrc":"47:35:3","nodeType":"YulBlock","src":"47:35:3","statements":[{"nativeSrc":"57:19:3","nodeType":"YulAssignment","src":"57:19:3","value":{"arguments":[{"kind":"number","nativeSrc":"73:2:3","nodeType":"YulLiteral","src":"73:2:3","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"67:5:3","nodeType":"YulIdentifier","src":"67:5:3"},"nativeSrc":"67:9:3","nodeType":"YulFunctionCall","src":"67:9:3"},"variableNames":[{"name":"memPtr","nativeSrc":"57:6:3","nodeType":"YulIdentifier","src":"57:6:3"}]}]},"name":"allocate_unbounded","nativeSrc":"7:75:3","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nativeSrc":"40:6:3","nodeType":"YulTypedName","src":"40:6:3","type":""}],"src":"7:75:3"},{"body":{"nativeSrc":"177:28:3","nodeType":"YulBlock","src":"177:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194:1:3","nodeType":"YulLiteral","src":"194:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"197:1:3","nodeType":"YulLiteral","src":"197:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"187:6:3","nodeType":"YulIdentifier","src":"187:6:3"},"nativeSrc":"187:12:3","nodeType":"YulFunctionCall","src":"187:12:3"},"nativeSrc":"187:12:3","nodeType":"YulExpressionStatement","src":"187:12:3"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"88:117:3","nodeType":"YulFunctionDefinition","src":"88:117:3"},{"body":{"nativeSrc":"300:28:3","nodeType":"YulBlock","src":"300:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"317:1:3","nodeType":"YulLiteral","src":"317:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"320:1:3","nodeType":"YulLiteral","src":"320:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"310:6:3","nodeType":"YulIdentifier","src":"310:6:3"},"nativeSrc":"310:12:3","nodeType":"YulFunctionCall","src":"310:12:3"},"nativeSrc":"310:12:3","nodeType":"YulExpressionStatement","src":"310:12:3"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"211:117:3","nodeType":"YulFunctionDefinition","src":"211:117:3"},{"body":{"nativeSrc":"423:28:3","nodeType":"YulBlock","src":"423:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"440:1:3","nodeType":"YulLiteral","src":"440:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"443:1:3","nodeType":"YulLiteral","src":"443:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"433:6:3","nodeType":"YulIdentifier","src":"433:6:3"},"nativeSrc":"433:12:3","nodeType":"YulFunctionCall","src":"433:12:3"},"nativeSrc":"433:12:3","nodeType":"YulExpressionStatement","src":"433:12:3"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"334:117:3","nodeType":"YulFunctionDefinition","src":"334:117:3"},{"body":{"nativeSrc":"546:28:3","nodeType":"YulBlock","src":"546:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"563:1:3","nodeType":"YulLiteral","src":"563:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"566:1:3","nodeType":"YulLiteral","src":"566:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"556:6:3","nodeType":"YulIdentifier","src":"556:6:3"},"nativeSrc":"556:12:3","nodeType":"YulFunctionCall","src":"556:12:3"},"nativeSrc":"556:12:3","nodeType":"YulExpressionStatement","src":"556:12:3"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"457:117:3","nodeType":"YulFunctionDefinition","src":"457:117:3"},{"body":{"nativeSrc":"628:54:3","nodeType":"YulBlock","src":"628:54:3","statements":[{"nativeSrc":"638:38:3","nodeType":"YulAssignment","src":"638:38:3","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"656:5:3","nodeType":"YulIdentifier","src":"656:5:3"},{"kind":"number","nativeSrc":"663:2:3","nodeType":"YulLiteral","src":"663:2:3","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"652:3:3","nodeType":"YulIdentifier","src":"652:3:3"},"nativeSrc":"652:14:3","nodeType":"YulFunctionCall","src":"652:14:3"},{"arguments":[{"kind":"number","nativeSrc":"672:2:3","nodeType":"YulLiteral","src":"672:2:3","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"668:3:3","nodeType":"YulIdentifier","src":"668:3:3"},"nativeSrc":"668:7:3","nodeType":"YulFunctionCall","src":"668:7:3"}],"functionName":{"name":"and","nativeSrc":"648:3:3","nodeType":"YulIdentifier","src":"648:3:3"},"nativeSrc":"648:28:3","nodeType":"YulFunctionCall","src":"648:28:3"},"variableNames":[{"name":"result","nativeSrc":"638:6:3","nodeType":"YulIdentifier","src":"638:6:3"}]}]},"name":"round_up_to_mul_of_32","nativeSrc":"580:102:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"611:5:3","nodeType":"YulTypedName","src":"611:5:3","type":""}],"returnVariables":[{"name":"result","nativeSrc":"621:6:3","nodeType":"YulTypedName","src":"621:6:3","type":""}],"src":"580:102:3"},{"body":{"nativeSrc":"716:152:3","nodeType":"YulBlock","src":"716:152:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"733:1:3","nodeType":"YulLiteral","src":"733:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"736:77:3","nodeType":"YulLiteral","src":"736:77:3","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"726:6:3","nodeType":"YulIdentifier","src":"726:6:3"},"nativeSrc":"726:88:3","nodeType":"YulFunctionCall","src":"726:88:3"},"nativeSrc":"726:88:3","nodeType":"YulExpressionStatement","src":"726:88:3"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"830:1:3","nodeType":"YulLiteral","src":"830:1:3","type":"","value":"4"},{"kind":"number","nativeSrc":"833:4:3","nodeType":"YulLiteral","src":"833:4:3","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"823:6:3","nodeType":"YulIdentifier","src":"823:6:3"},"nativeSrc":"823:15:3","nodeType":"YulFunctionCall","src":"823:15:3"},"nativeSrc":"823:15:3","nodeType":"YulExpressionStatement","src":"823:15:3"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"854:1:3","nodeType":"YulLiteral","src":"854:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"857:4:3","nodeType":"YulLiteral","src":"857:4:3","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"847:6:3","nodeType":"YulIdentifier","src":"847:6:3"},"nativeSrc":"847:15:3","nodeType":"YulFunctionCall","src":"847:15:3"},"nativeSrc":"847:15:3","nodeType":"YulExpressionStatement","src":"847:15:3"}]},"name":"panic_error_0x41","nativeSrc":"688:180:3","nodeType":"YulFunctionDefinition","src":"688:180:3"},{"body":{"nativeSrc":"917:238:3","nodeType":"YulBlock","src":"917:238:3","statements":[{"nativeSrc":"927:58:3","nodeType":"YulVariableDeclaration","src":"927:58:3","value":{"arguments":[{"name":"memPtr","nativeSrc":"949:6:3","nodeType":"YulIdentifier","src":"949:6:3"},{"arguments":[{"name":"size","nativeSrc":"979:4:3","nodeType":"YulIdentifier","src":"979:4:3"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"957:21:3","nodeType":"YulIdentifier","src":"957:21:3"},"nativeSrc":"957:27:3","nodeType":"YulFunctionCall","src":"957:27:3"}],"functionName":{"name":"add","nativeSrc":"945:3:3","nodeType":"YulIdentifier","src":"945:3:3"},"nativeSrc":"945:40:3","nodeType":"YulFunctionCall","src":"945:40:3"},"variables":[{"name":"newFreePtr","nativeSrc":"931:10:3","nodeType":"YulTypedName","src":"931:10:3","type":""}]},{"body":{"nativeSrc":"1096:22:3","nodeType":"YulBlock","src":"1096:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1098:16:3","nodeType":"YulIdentifier","src":"1098:16:3"},"nativeSrc":"1098:18:3","nodeType":"YulFunctionCall","src":"1098:18:3"},"nativeSrc":"1098:18:3","nodeType":"YulExpressionStatement","src":"1098:18:3"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"1039:10:3","nodeType":"YulIdentifier","src":"1039:10:3"},{"kind":"number","nativeSrc":"1051:18:3","nodeType":"YulLiteral","src":"1051:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1036:2:3","nodeType":"YulIdentifier","src":"1036:2:3"},"nativeSrc":"1036:34:3","nodeType":"YulFunctionCall","src":"1036:34:3"},{"arguments":[{"name":"newFreePtr","nativeSrc":"1075:10:3","nodeType":"YulIdentifier","src":"1075:10:3"},{"name":"memPtr","nativeSrc":"1087:6:3","nodeType":"YulIdentifier","src":"1087:6:3"}],"functionName":{"name":"lt","nativeSrc":"1072:2:3","nodeType":"YulIdentifier","src":"1072:2:3"},"nativeSrc":"1072:22:3","nodeType":"YulFunctionCall","src":"1072:22:3"}],"functionName":{"name":"or","nativeSrc":"1033:2:3","nodeType":"YulIdentifier","src":"1033:2:3"},"nativeSrc":"1033:62:3","nodeType":"YulFunctionCall","src":"1033:62:3"},"nativeSrc":"1030:88:3","nodeType":"YulIf","src":"1030:88:3"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1134:2:3","nodeType":"YulLiteral","src":"1134:2:3","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"1138:10:3","nodeType":"YulIdentifier","src":"1138:10:3"}],"functionName":{"name":"mstore","nativeSrc":"1127:6:3","nodeType":"YulIdentifier","src":"1127:6:3"},"nativeSrc":"1127:22:3","nodeType":"YulFunctionCall","src":"1127:22:3"},"nativeSrc":"1127:22:3","nodeType":"YulExpressionStatement","src":"1127:22:3"}]},"name":"finalize_allocation","nativeSrc":"874:281:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"903:6:3","nodeType":"YulTypedName","src":"903:6:3","type":""},{"name":"size","nativeSrc":"911:4:3","nodeType":"YulTypedName","src":"911:4:3","type":""}],"src":"874:281:3"},{"body":{"nativeSrc":"1202:88:3","nodeType":"YulBlock","src":"1202:88:3","statements":[{"nativeSrc":"1212:30:3","nodeType":"YulAssignment","src":"1212:30:3","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nativeSrc":"1222:18:3","nodeType":"YulIdentifier","src":"1222:18:3"},"nativeSrc":"1222:20:3","nodeType":"YulFunctionCall","src":"1222:20:3"},"variableNames":[{"name":"memPtr","nativeSrc":"1212:6:3","nodeType":"YulIdentifier","src":"1212:6:3"}]},{"expression":{"arguments":[{"name":"memPtr","nativeSrc":"1271:6:3","nodeType":"YulIdentifier","src":"1271:6:3"},{"name":"size","nativeSrc":"1279:4:3","nodeType":"YulIdentifier","src":"1279:4:3"}],"functionName":{"name":"finalize_allocation","nativeSrc":"1251:19:3","nodeType":"YulIdentifier","src":"1251:19:3"},"nativeSrc":"1251:33:3","nodeType":"YulFunctionCall","src":"1251:33:3"},"nativeSrc":"1251:33:3","nodeType":"YulExpressionStatement","src":"1251:33:3"}]},"name":"allocate_memory","nativeSrc":"1161:129:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"1186:4:3","nodeType":"YulTypedName","src":"1186:4:3","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"1195:6:3","nodeType":"YulTypedName","src":"1195:6:3","type":""}],"src":"1161:129:3"},{"body":{"nativeSrc":"1362:241:3","nodeType":"YulBlock","src":"1362:241:3","statements":[{"body":{"nativeSrc":"1467:22:3","nodeType":"YulBlock","src":"1467:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1469:16:3","nodeType":"YulIdentifier","src":"1469:16:3"},"nativeSrc":"1469:18:3","nodeType":"YulFunctionCall","src":"1469:18:3"},"nativeSrc":"1469:18:3","nodeType":"YulExpressionStatement","src":"1469:18:3"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"1439:6:3","nodeType":"YulIdentifier","src":"1439:6:3"},{"kind":"number","nativeSrc":"1447:18:3","nodeType":"YulLiteral","src":"1447:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1436:2:3","nodeType":"YulIdentifier","src":"1436:2:3"},"nativeSrc":"1436:30:3","nodeType":"YulFunctionCall","src":"1436:30:3"},"nativeSrc":"1433:56:3","nodeType":"YulIf","src":"1433:56:3"},{"nativeSrc":"1499:37:3","nodeType":"YulAssignment","src":"1499:37:3","value":{"arguments":[{"name":"length","nativeSrc":"1529:6:3","nodeType":"YulIdentifier","src":"1529:6:3"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"1507:21:3","nodeType":"YulIdentifier","src":"1507:21:3"},"nativeSrc":"1507:29:3","nodeType":"YulFunctionCall","src":"1507:29:3"},"variableNames":[{"name":"size","nativeSrc":"1499:4:3","nodeType":"YulIdentifier","src":"1499:4:3"}]},{"nativeSrc":"1573:23:3","nodeType":"YulAssignment","src":"1573:23:3","value":{"arguments":[{"name":"size","nativeSrc":"1585:4:3","nodeType":"YulIdentifier","src":"1585:4:3"},{"kind":"number","nativeSrc":"1591:4:3","nodeType":"YulLiteral","src":"1591:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1581:3:3","nodeType":"YulIdentifier","src":"1581:3:3"},"nativeSrc":"1581:15:3","nodeType":"YulFunctionCall","src":"1581:15:3"},"variableNames":[{"name":"size","nativeSrc":"1573:4:3","nodeType":"YulIdentifier","src":"1573:4:3"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1296:307:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"1346:6:3","nodeType":"YulTypedName","src":"1346:6:3","type":""}],"returnVariables":[{"name":"size","nativeSrc":"1357:4:3","nodeType":"YulTypedName","src":"1357:4:3","type":""}],"src":"1296:307:3"},{"body":{"nativeSrc":"1673:82:3","nodeType":"YulBlock","src":"1673:82:3","statements":[{"expression":{"arguments":[{"name":"dst","nativeSrc":"1696:3:3","nodeType":"YulIdentifier","src":"1696:3:3"},{"name":"src","nativeSrc":"1701:3:3","nodeType":"YulIdentifier","src":"1701:3:3"},{"name":"length","nativeSrc":"1706:6:3","nodeType":"YulIdentifier","src":"1706:6:3"}],"functionName":{"name":"calldatacopy","nativeSrc":"1683:12:3","nodeType":"YulIdentifier","src":"1683:12:3"},"nativeSrc":"1683:30:3","nodeType":"YulFunctionCall","src":"1683:30:3"},"nativeSrc":"1683:30:3","nodeType":"YulExpressionStatement","src":"1683:30:3"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"1733:3:3","nodeType":"YulIdentifier","src":"1733:3:3"},{"name":"length","nativeSrc":"1738:6:3","nodeType":"YulIdentifier","src":"1738:6:3"}],"functionName":{"name":"add","nativeSrc":"1729:3:3","nodeType":"YulIdentifier","src":"1729:3:3"},"nativeSrc":"1729:16:3","nodeType":"YulFunctionCall","src":"1729:16:3"},{"kind":"number","nativeSrc":"1747:1:3","nodeType":"YulLiteral","src":"1747:1:3","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"1722:6:3","nodeType":"YulIdentifier","src":"1722:6:3"},"nativeSrc":"1722:27:3","nodeType":"YulFunctionCall","src":"1722:27:3"},"nativeSrc":"1722:27:3","nodeType":"YulExpressionStatement","src":"1722:27:3"}]},"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"1609:146:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1655:3:3","nodeType":"YulTypedName","src":"1655:3:3","type":""},{"name":"dst","nativeSrc":"1660:3:3","nodeType":"YulTypedName","src":"1660:3:3","type":""},{"name":"length","nativeSrc":"1665:6:3","nodeType":"YulTypedName","src":"1665:6:3","type":""}],"src":"1609:146:3"},{"body":{"nativeSrc":"1844:340:3","nodeType":"YulBlock","src":"1844:340:3","statements":[{"nativeSrc":"1854:74:3","nodeType":"YulAssignment","src":"1854:74:3","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"1920:6:3","nodeType":"YulIdentifier","src":"1920:6:3"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1879:40:3","nodeType":"YulIdentifier","src":"1879:40:3"},"nativeSrc":"1879:48:3","nodeType":"YulFunctionCall","src":"1879:48:3"}],"functionName":{"name":"allocate_memory","nativeSrc":"1863:15:3","nodeType":"YulIdentifier","src":"1863:15:3"},"nativeSrc":"1863:65:3","nodeType":"YulFunctionCall","src":"1863:65:3"},"variableNames":[{"name":"array","nativeSrc":"1854:5:3","nodeType":"YulIdentifier","src":"1854:5:3"}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"1944:5:3","nodeType":"YulIdentifier","src":"1944:5:3"},{"name":"length","nativeSrc":"1951:6:3","nodeType":"YulIdentifier","src":"1951:6:3"}],"functionName":{"name":"mstore","nativeSrc":"1937:6:3","nodeType":"YulIdentifier","src":"1937:6:3"},"nativeSrc":"1937:21:3","nodeType":"YulFunctionCall","src":"1937:21:3"},"nativeSrc":"1937:21:3","nodeType":"YulExpressionStatement","src":"1937:21:3"},{"nativeSrc":"1967:27:3","nodeType":"YulVariableDeclaration","src":"1967:27:3","value":{"arguments":[{"name":"array","nativeSrc":"1982:5:3","nodeType":"YulIdentifier","src":"1982:5:3"},{"kind":"number","nativeSrc":"1989:4:3","nodeType":"YulLiteral","src":"1989:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1978:3:3","nodeType":"YulIdentifier","src":"1978:3:3"},"nativeSrc":"1978:16:3","nodeType":"YulFunctionCall","src":"1978:16:3"},"variables":[{"name":"dst","nativeSrc":"1971:3:3","nodeType":"YulTypedName","src":"1971:3:3","type":""}]},{"body":{"nativeSrc":"2032:83:3","nodeType":"YulBlock","src":"2032:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"2034:77:3","nodeType":"YulIdentifier","src":"2034:77:3"},"nativeSrc":"2034:79:3","nodeType":"YulFunctionCall","src":"2034:79:3"},"nativeSrc":"2034:79:3","nodeType":"YulExpressionStatement","src":"2034:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"2013:3:3","nodeType":"YulIdentifier","src":"2013:3:3"},{"name":"length","nativeSrc":"2018:6:3","nodeType":"YulIdentifier","src":"2018:6:3"}],"functionName":{"name":"add","nativeSrc":"2009:3:3","nodeType":"YulIdentifier","src":"2009:3:3"},"nativeSrc":"2009:16:3","nodeType":"YulFunctionCall","src":"2009:16:3"},{"name":"end","nativeSrc":"2027:3:3","nodeType":"YulIdentifier","src":"2027:3:3"}],"functionName":{"name":"gt","nativeSrc":"2006:2:3","nodeType":"YulIdentifier","src":"2006:2:3"},"nativeSrc":"2006:25:3","nodeType":"YulFunctionCall","src":"2006:25:3"},"nativeSrc":"2003:112:3","nodeType":"YulIf","src":"2003:112:3"},{"expression":{"arguments":[{"name":"src","nativeSrc":"2161:3:3","nodeType":"YulIdentifier","src":"2161:3:3"},{"name":"dst","nativeSrc":"2166:3:3","nodeType":"YulIdentifier","src":"2166:3:3"},{"name":"length","nativeSrc":"2171:6:3","nodeType":"YulIdentifier","src":"2171:6:3"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"2124:36:3","nodeType":"YulIdentifier","src":"2124:36:3"},"nativeSrc":"2124:54:3","nodeType":"YulFunctionCall","src":"2124:54:3"},"nativeSrc":"2124:54:3","nodeType":"YulExpressionStatement","src":"2124:54:3"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"1761:423:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1817:3:3","nodeType":"YulTypedName","src":"1817:3:3","type":""},{"name":"length","nativeSrc":"1822:6:3","nodeType":"YulTypedName","src":"1822:6:3","type":""},{"name":"end","nativeSrc":"1830:3:3","nodeType":"YulTypedName","src":"1830:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"1838:5:3","nodeType":"YulTypedName","src":"1838:5:3","type":""}],"src":"1761:423:3"},{"body":{"nativeSrc":"2264:277:3","nodeType":"YulBlock","src":"2264:277:3","statements":[{"body":{"nativeSrc":"2313:83:3","nodeType":"YulBlock","src":"2313:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"2315:77:3","nodeType":"YulIdentifier","src":"2315:77:3"},"nativeSrc":"2315:79:3","nodeType":"YulFunctionCall","src":"2315:79:3"},"nativeSrc":"2315:79:3","nodeType":"YulExpressionStatement","src":"2315:79:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2292:6:3","nodeType":"YulIdentifier","src":"2292:6:3"},{"kind":"number","nativeSrc":"2300:4:3","nodeType":"YulLiteral","src":"2300:4:3","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"2288:3:3","nodeType":"YulIdentifier","src":"2288:3:3"},"nativeSrc":"2288:17:3","nodeType":"YulFunctionCall","src":"2288:17:3"},{"name":"end","nativeSrc":"2307:3:3","nodeType":"YulIdentifier","src":"2307:3:3"}],"functionName":{"name":"slt","nativeSrc":"2284:3:3","nodeType":"YulIdentifier","src":"2284:3:3"},"nativeSrc":"2284:27:3","nodeType":"YulFunctionCall","src":"2284:27:3"}],"functionName":{"name":"iszero","nativeSrc":"2277:6:3","nodeType":"YulIdentifier","src":"2277:6:3"},"nativeSrc":"2277:35:3","nodeType":"YulFunctionCall","src":"2277:35:3"},"nativeSrc":"2274:122:3","nodeType":"YulIf","src":"2274:122:3"},{"nativeSrc":"2405:34:3","nodeType":"YulVariableDeclaration","src":"2405:34:3","value":{"arguments":[{"name":"offset","nativeSrc":"2432:6:3","nodeType":"YulIdentifier","src":"2432:6:3"}],"functionName":{"name":"calldataload","nativeSrc":"2419:12:3","nodeType":"YulIdentifier","src":"2419:12:3"},"nativeSrc":"2419:20:3","nodeType":"YulFunctionCall","src":"2419:20:3"},"variables":[{"name":"length","nativeSrc":"2409:6:3","nodeType":"YulTypedName","src":"2409:6:3","type":""}]},{"nativeSrc":"2448:87:3","nodeType":"YulAssignment","src":"2448:87:3","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2508:6:3","nodeType":"YulIdentifier","src":"2508:6:3"},{"kind":"number","nativeSrc":"2516:4:3","nodeType":"YulLiteral","src":"2516:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2504:3:3","nodeType":"YulIdentifier","src":"2504:3:3"},"nativeSrc":"2504:17:3","nodeType":"YulFunctionCall","src":"2504:17:3"},{"name":"length","nativeSrc":"2523:6:3","nodeType":"YulIdentifier","src":"2523:6:3"},{"name":"end","nativeSrc":"2531:3:3","nodeType":"YulIdentifier","src":"2531:3:3"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"2457:46:3","nodeType":"YulIdentifier","src":"2457:46:3"},"nativeSrc":"2457:78:3","nodeType":"YulFunctionCall","src":"2457:78:3"},"variableNames":[{"name":"array","nativeSrc":"2448:5:3","nodeType":"YulIdentifier","src":"2448:5:3"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"2203:338:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2242:6:3","nodeType":"YulTypedName","src":"2242:6:3","type":""},{"name":"end","nativeSrc":"2250:3:3","nodeType":"YulTypedName","src":"2250:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2258:5:3","nodeType":"YulTypedName","src":"2258:5:3","type":""}],"src":"2203:338:3"},{"body":{"nativeSrc":"2629:229:3","nodeType":"YulBlock","src":"2629:229:3","statements":[{"body":{"nativeSrc":"2734:22:3","nodeType":"YulBlock","src":"2734:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"2736:16:3","nodeType":"YulIdentifier","src":"2736:16:3"},"nativeSrc":"2736:18:3","nodeType":"YulFunctionCall","src":"2736:18:3"},"nativeSrc":"2736:18:3","nodeType":"YulExpressionStatement","src":"2736:18:3"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"2706:6:3","nodeType":"YulIdentifier","src":"2706:6:3"},{"kind":"number","nativeSrc":"2714:18:3","nodeType":"YulLiteral","src":"2714:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"2703:2:3","nodeType":"YulIdentifier","src":"2703:2:3"},"nativeSrc":"2703:30:3","nodeType":"YulFunctionCall","src":"2703:30:3"},"nativeSrc":"2700:56:3","nodeType":"YulIf","src":"2700:56:3"},{"nativeSrc":"2766:25:3","nodeType":"YulAssignment","src":"2766:25:3","value":{"arguments":[{"name":"length","nativeSrc":"2778:6:3","nodeType":"YulIdentifier","src":"2778:6:3"},{"kind":"number","nativeSrc":"2786:4:3","nodeType":"YulLiteral","src":"2786:4:3","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"2774:3:3","nodeType":"YulIdentifier","src":"2774:3:3"},"nativeSrc":"2774:17:3","nodeType":"YulFunctionCall","src":"2774:17:3"},"variableNames":[{"name":"size","nativeSrc":"2766:4:3","nodeType":"YulIdentifier","src":"2766:4:3"}]},{"nativeSrc":"2828:23:3","nodeType":"YulAssignment","src":"2828:23:3","value":{"arguments":[{"name":"size","nativeSrc":"2840:4:3","nodeType":"YulIdentifier","src":"2840:4:3"},{"kind":"number","nativeSrc":"2846:4:3","nodeType":"YulLiteral","src":"2846:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2836:3:3","nodeType":"YulIdentifier","src":"2836:3:3"},"nativeSrc":"2836:15:3","nodeType":"YulFunctionCall","src":"2836:15:3"},"variableNames":[{"name":"size","nativeSrc":"2828:4:3","nodeType":"YulIdentifier","src":"2828:4:3"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"2547:311:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"2613:6:3","nodeType":"YulTypedName","src":"2613:6:3","type":""}],"returnVariables":[{"name":"size","nativeSrc":"2624:4:3","nodeType":"YulTypedName","src":"2624:4:3","type":""}],"src":"2547:311:3"},{"body":{"nativeSrc":"2953:28:3","nodeType":"YulBlock","src":"2953:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2970:1:3","nodeType":"YulLiteral","src":"2970:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"2973:1:3","nodeType":"YulLiteral","src":"2973:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2963:6:3","nodeType":"YulIdentifier","src":"2963:6:3"},"nativeSrc":"2963:12:3","nodeType":"YulFunctionCall","src":"2963:12:3"},"nativeSrc":"2963:12:3","nodeType":"YulExpressionStatement","src":"2963:12:3"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"2864:117:3","nodeType":"YulFunctionDefinition","src":"2864:117:3"},{"body":{"nativeSrc":"3032:32:3","nodeType":"YulBlock","src":"3032:32:3","statements":[{"nativeSrc":"3042:16:3","nodeType":"YulAssignment","src":"3042:16:3","value":{"name":"value","nativeSrc":"3053:5:3","nodeType":"YulIdentifier","src":"3053:5:3"},"variableNames":[{"name":"cleaned","nativeSrc":"3042:7:3","nodeType":"YulIdentifier","src":"3042:7:3"}]}]},"name":"cleanup_t_uint256","nativeSrc":"2987:77:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3014:5:3","nodeType":"YulTypedName","src":"3014:5:3","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"3024:7:3","nodeType":"YulTypedName","src":"3024:7:3","type":""}],"src":"2987:77:3"},{"body":{"nativeSrc":"3113:79:3","nodeType":"YulBlock","src":"3113:79:3","statements":[{"body":{"nativeSrc":"3170:16:3","nodeType":"YulBlock","src":"3170:16:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3179:1:3","nodeType":"YulLiteral","src":"3179:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"3182:1:3","nodeType":"YulLiteral","src":"3182:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"3172:6:3","nodeType":"YulIdentifier","src":"3172:6:3"},"nativeSrc":"3172:12:3","nodeType":"YulFunctionCall","src":"3172:12:3"},"nativeSrc":"3172:12:3","nodeType":"YulExpressionStatement","src":"3172:12:3"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"3136:5:3","nodeType":"YulIdentifier","src":"3136:5:3"},{"arguments":[{"name":"value","nativeSrc":"3161:5:3","nodeType":"YulIdentifier","src":"3161:5:3"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"3143:17:3","nodeType":"YulIdentifier","src":"3143:17:3"},"nativeSrc":"3143:24:3","nodeType":"YulFunctionCall","src":"3143:24:3"}],"functionName":{"name":"eq","nativeSrc":"3133:2:3","nodeType":"YulIdentifier","src":"3133:2:3"},"nativeSrc":"3133:35:3","nodeType":"YulFunctionCall","src":"3133:35:3"}],"functionName":{"name":"iszero","nativeSrc":"3126:6:3","nodeType":"YulIdentifier","src":"3126:6:3"},"nativeSrc":"3126:43:3","nodeType":"YulFunctionCall","src":"3126:43:3"},"nativeSrc":"3123:63:3","nodeType":"YulIf","src":"3123:63:3"}]},"name":"validator_revert_t_uint256","nativeSrc":"3070:122:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3106:5:3","nodeType":"YulTypedName","src":"3106:5:3","type":""}],"src":"3070:122:3"},{"body":{"nativeSrc":"3250:87:3","nodeType":"YulBlock","src":"3250:87:3","statements":[{"nativeSrc":"3260:29:3","nodeType":"YulAssignment","src":"3260:29:3","value":{"arguments":[{"name":"offset","nativeSrc":"3282:6:3","nodeType":"YulIdentifier","src":"3282:6:3"}],"functionName":{"name":"calldataload","nativeSrc":"3269:12:3","nodeType":"YulIdentifier","src":"3269:12:3"},"nativeSrc":"3269:20:3","nodeType":"YulFunctionCall","src":"3269:20:3"},"variableNames":[{"name":"value","nativeSrc":"3260:5:3","nodeType":"YulIdentifier","src":"3260:5:3"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"3325:5:3","nodeType":"YulIdentifier","src":"3325:5:3"}],"functionName":{"name":"validator_revert_t_uint256","nativeSrc":"3298:26:3","nodeType":"YulIdentifier","src":"3298:26:3"},"nativeSrc":"3298:33:3","nodeType":"YulFunctionCall","src":"3298:33:3"},"nativeSrc":"3298:33:3","nodeType":"YulExpressionStatement","src":"3298:33:3"}]},"name":"abi_decode_t_uint256","nativeSrc":"3198:139:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3228:6:3","nodeType":"YulTypedName","src":"3228:6:3","type":""},{"name":"end","nativeSrc":"3236:3:3","nodeType":"YulTypedName","src":"3236:3:3","type":""}],"returnVariables":[{"name":"value","nativeSrc":"3244:5:3","nodeType":"YulTypedName","src":"3244:5:3","type":""}],"src":"3198:139:3"},{"body":{"nativeSrc":"3462:608:3","nodeType":"YulBlock","src":"3462:608:3","statements":[{"nativeSrc":"3472:90:3","nodeType":"YulAssignment","src":"3472:90:3","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"3554:6:3","nodeType":"YulIdentifier","src":"3554:6:3"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3497:56:3","nodeType":"YulIdentifier","src":"3497:56:3"},"nativeSrc":"3497:64:3","nodeType":"YulFunctionCall","src":"3497:64:3"}],"functionName":{"name":"allocate_memory","nativeSrc":"3481:15:3","nodeType":"YulIdentifier","src":"3481:15:3"},"nativeSrc":"3481:81:3","nodeType":"YulFunctionCall","src":"3481:81:3"},"variableNames":[{"name":"array","nativeSrc":"3472:5:3","nodeType":"YulIdentifier","src":"3472:5:3"}]},{"nativeSrc":"3571:16:3","nodeType":"YulVariableDeclaration","src":"3571:16:3","value":{"name":"array","nativeSrc":"3582:5:3","nodeType":"YulIdentifier","src":"3582:5:3"},"variables":[{"name":"dst","nativeSrc":"3575:3:3","nodeType":"YulTypedName","src":"3575:3:3","type":""}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"3604:5:3","nodeType":"YulIdentifier","src":"3604:5:3"},{"name":"length","nativeSrc":"3611:6:3","nodeType":"YulIdentifier","src":"3611:6:3"}],"functionName":{"name":"mstore","nativeSrc":"3597:6:3","nodeType":"YulIdentifier","src":"3597:6:3"},"nativeSrc":"3597:21:3","nodeType":"YulFunctionCall","src":"3597:21:3"},"nativeSrc":"3597:21:3","nodeType":"YulExpressionStatement","src":"3597:21:3"},{"nativeSrc":"3627:23:3","nodeType":"YulAssignment","src":"3627:23:3","value":{"arguments":[{"name":"array","nativeSrc":"3638:5:3","nodeType":"YulIdentifier","src":"3638:5:3"},{"kind":"number","nativeSrc":"3645:4:3","nodeType":"YulLiteral","src":"3645:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3634:3:3","nodeType":"YulIdentifier","src":"3634:3:3"},"nativeSrc":"3634:16:3","nodeType":"YulFunctionCall","src":"3634:16:3"},"variableNames":[{"name":"dst","nativeSrc":"3627:3:3","nodeType":"YulIdentifier","src":"3627:3:3"}]},{"nativeSrc":"3660:44:3","nodeType":"YulVariableDeclaration","src":"3660:44:3","value":{"arguments":[{"name":"offset","nativeSrc":"3678:6:3","nodeType":"YulIdentifier","src":"3678:6:3"},{"arguments":[{"name":"length","nativeSrc":"3690:6:3","nodeType":"YulIdentifier","src":"3690:6:3"},{"kind":"number","nativeSrc":"3698:4:3","nodeType":"YulLiteral","src":"3698:4:3","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"3686:3:3","nodeType":"YulIdentifier","src":"3686:3:3"},"nativeSrc":"3686:17:3","nodeType":"YulFunctionCall","src":"3686:17:3"}],"functionName":{"name":"add","nativeSrc":"3674:3:3","nodeType":"YulIdentifier","src":"3674:3:3"},"nativeSrc":"3674:30:3","nodeType":"YulFunctionCall","src":"3674:30:3"},"variables":[{"name":"srcEnd","nativeSrc":"3664:6:3","nodeType":"YulTypedName","src":"3664:6:3","type":""}]},{"body":{"nativeSrc":"3732:103:3","nodeType":"YulBlock","src":"3732:103:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"3746:77:3","nodeType":"YulIdentifier","src":"3746:77:3"},"nativeSrc":"3746:79:3","nodeType":"YulFunctionCall","src":"3746:79:3"},"nativeSrc":"3746:79:3","nodeType":"YulExpressionStatement","src":"3746:79:3"}]},"condition":{"arguments":[{"name":"srcEnd","nativeSrc":"3719:6:3","nodeType":"YulIdentifier","src":"3719:6:3"},{"name":"end","nativeSrc":"3727:3:3","nodeType":"YulIdentifier","src":"3727:3:3"}],"functionName":{"name":"gt","nativeSrc":"3716:2:3","nodeType":"YulIdentifier","src":"3716:2:3"},"nativeSrc":"3716:15:3","nodeType":"YulFunctionCall","src":"3716:15:3"},"nativeSrc":"3713:122:3","nodeType":"YulIf","src":"3713:122:3"},{"body":{"nativeSrc":"3920:144:3","nodeType":"YulBlock","src":"3920:144:3","statements":[{"nativeSrc":"3935:21:3","nodeType":"YulVariableDeclaration","src":"3935:21:3","value":{"name":"src","nativeSrc":"3953:3:3","nodeType":"YulIdentifier","src":"3953:3:3"},"variables":[{"name":"elementPos","nativeSrc":"3939:10:3","nodeType":"YulTypedName","src":"3939:10:3","type":""}]},{"expression":{"arguments":[{"name":"dst","nativeSrc":"3977:3:3","nodeType":"YulIdentifier","src":"3977:3:3"},{"arguments":[{"name":"elementPos","nativeSrc":"4003:10:3","nodeType":"YulIdentifier","src":"4003:10:3"},{"name":"end","nativeSrc":"4015:3:3","nodeType":"YulIdentifier","src":"4015:3:3"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"3982:20:3","nodeType":"YulIdentifier","src":"3982:20:3"},"nativeSrc":"3982:37:3","nodeType":"YulFunctionCall","src":"3982:37:3"}],"functionName":{"name":"mstore","nativeSrc":"3970:6:3","nodeType":"YulIdentifier","src":"3970:6:3"},"nativeSrc":"3970:50:3","nodeType":"YulFunctionCall","src":"3970:50:3"},"nativeSrc":"3970:50:3","nodeType":"YulExpressionStatement","src":"3970:50:3"},{"nativeSrc":"4033:21:3","nodeType":"YulAssignment","src":"4033:21:3","value":{"arguments":[{"name":"dst","nativeSrc":"4044:3:3","nodeType":"YulIdentifier","src":"4044:3:3"},{"kind":"number","nativeSrc":"4049:4:3","nodeType":"YulLiteral","src":"4049:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4040:3:3","nodeType":"YulIdentifier","src":"4040:3:3"},"nativeSrc":"4040:14:3","nodeType":"YulFunctionCall","src":"4040:14:3"},"variableNames":[{"name":"dst","nativeSrc":"4033:3:3","nodeType":"YulIdentifier","src":"4033:3:3"}]}]},"condition":{"arguments":[{"name":"src","nativeSrc":"3873:3:3","nodeType":"YulIdentifier","src":"3873:3:3"},{"name":"srcEnd","nativeSrc":"3878:6:3","nodeType":"YulIdentifier","src":"3878:6:3"}],"functionName":{"name":"lt","nativeSrc":"3870:2:3","nodeType":"YulIdentifier","src":"3870:2:3"},"nativeSrc":"3870:15:3","nodeType":"YulFunctionCall","src":"3870:15:3"},"nativeSrc":"3844:220:3","nodeType":"YulForLoop","post":{"nativeSrc":"3886:25:3","nodeType":"YulBlock","src":"3886:25:3","statements":[{"nativeSrc":"3888:21:3","nodeType":"YulAssignment","src":"3888:21:3","value":{"arguments":[{"name":"src","nativeSrc":"3899:3:3","nodeType":"YulIdentifier","src":"3899:3:3"},{"kind":"number","nativeSrc":"3904:4:3","nodeType":"YulLiteral","src":"3904:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3895:3:3","nodeType":"YulIdentifier","src":"3895:3:3"},"nativeSrc":"3895:14:3","nodeType":"YulFunctionCall","src":"3895:14:3"},"variableNames":[{"name":"src","nativeSrc":"3888:3:3","nodeType":"YulIdentifier","src":"3888:3:3"}]}]},"pre":{"nativeSrc":"3848:21:3","nodeType":"YulBlock","src":"3848:21:3","statements":[{"nativeSrc":"3850:17:3","nodeType":"YulVariableDeclaration","src":"3850:17:3","value":{"name":"offset","nativeSrc":"3861:6:3","nodeType":"YulIdentifier","src":"3861:6:3"},"variables":[{"name":"src","nativeSrc":"3854:3:3","nodeType":"YulTypedName","src":"3854:3:3","type":""}]}]},"src":"3844:220:3"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3360:710:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3432:6:3","nodeType":"YulTypedName","src":"3432:6:3","type":""},{"name":"length","nativeSrc":"3440:6:3","nodeType":"YulTypedName","src":"3440:6:3","type":""},{"name":"end","nativeSrc":"3448:3:3","nodeType":"YulTypedName","src":"3448:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"3456:5:3","nodeType":"YulTypedName","src":"3456:5:3","type":""}],"src":"3360:710:3"},{"body":{"nativeSrc":"4170:293:3","nodeType":"YulBlock","src":"4170:293:3","statements":[{"body":{"nativeSrc":"4219:83:3","nodeType":"YulBlock","src":"4219:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"4221:77:3","nodeType":"YulIdentifier","src":"4221:77:3"},"nativeSrc":"4221:79:3","nodeType":"YulFunctionCall","src":"4221:79:3"},"nativeSrc":"4221:79:3","nodeType":"YulExpressionStatement","src":"4221:79:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4198:6:3","nodeType":"YulIdentifier","src":"4198:6:3"},{"kind":"number","nativeSrc":"4206:4:3","nodeType":"YulLiteral","src":"4206:4:3","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"4194:3:3","nodeType":"YulIdentifier","src":"4194:3:3"},"nativeSrc":"4194:17:3","nodeType":"YulFunctionCall","src":"4194:17:3"},{"name":"end","nativeSrc":"4213:3:3","nodeType":"YulIdentifier","src":"4213:3:3"}],"functionName":{"name":"slt","nativeSrc":"4190:3:3","nodeType":"YulIdentifier","src":"4190:3:3"},"nativeSrc":"4190:27:3","nodeType":"YulFunctionCall","src":"4190:27:3"}],"functionName":{"name":"iszero","nativeSrc":"4183:6:3","nodeType":"YulIdentifier","src":"4183:6:3"},"nativeSrc":"4183:35:3","nodeType":"YulFunctionCall","src":"4183:35:3"},"nativeSrc":"4180:122:3","nodeType":"YulIf","src":"4180:122:3"},{"nativeSrc":"4311:34:3","nodeType":"YulVariableDeclaration","src":"4311:34:3","value":{"arguments":[{"name":"offset","nativeSrc":"4338:6:3","nodeType":"YulIdentifier","src":"4338:6:3"}],"functionName":{"name":"calldataload","nativeSrc":"4325:12:3","nodeType":"YulIdentifier","src":"4325:12:3"},"nativeSrc":"4325:20:3","nodeType":"YulFunctionCall","src":"4325:20:3"},"variables":[{"name":"length","nativeSrc":"4315:6:3","nodeType":"YulTypedName","src":"4315:6:3","type":""}]},{"nativeSrc":"4354:103:3","nodeType":"YulAssignment","src":"4354:103:3","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4430:6:3","nodeType":"YulIdentifier","src":"4430:6:3"},{"kind":"number","nativeSrc":"4438:4:3","nodeType":"YulLiteral","src":"4438:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4426:3:3","nodeType":"YulIdentifier","src":"4426:3:3"},"nativeSrc":"4426:17:3","nodeType":"YulFunctionCall","src":"4426:17:3"},{"name":"length","nativeSrc":"4445:6:3","nodeType":"YulIdentifier","src":"4445:6:3"},{"name":"end","nativeSrc":"4453:3:3","nodeType":"YulIdentifier","src":"4453:3:3"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4363:62:3","nodeType":"YulIdentifier","src":"4363:62:3"},"nativeSrc":"4363:94:3","nodeType":"YulFunctionCall","src":"4363:94:3"},"variableNames":[{"name":"array","nativeSrc":"4354:5:3","nodeType":"YulIdentifier","src":"4354:5:3"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4093:370:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"4148:6:3","nodeType":"YulTypedName","src":"4148:6:3","type":""},{"name":"end","nativeSrc":"4156:3:3","nodeType":"YulTypedName","src":"4156:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"4164:5:3","nodeType":"YulTypedName","src":"4164:5:3","type":""}],"src":"4093:370:3"},{"body":{"nativeSrc":"4586:745:3","nodeType":"YulBlock","src":"4586:745:3","statements":[{"body":{"nativeSrc":"4632:83:3","nodeType":"YulBlock","src":"4632:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"4634:77:3","nodeType":"YulIdentifier","src":"4634:77:3"},"nativeSrc":"4634:79:3","nodeType":"YulFunctionCall","src":"4634:79:3"},"nativeSrc":"4634:79:3","nodeType":"YulExpressionStatement","src":"4634:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"4607:7:3","nodeType":"YulIdentifier","src":"4607:7:3"},{"name":"headStart","nativeSrc":"4616:9:3","nodeType":"YulIdentifier","src":"4616:9:3"}],"functionName":{"name":"sub","nativeSrc":"4603:3:3","nodeType":"YulIdentifier","src":"4603:3:3"},"nativeSrc":"4603:23:3","nodeType":"YulFunctionCall","src":"4603:23:3"},{"kind":"number","nativeSrc":"4628:2:3","nodeType":"YulLiteral","src":"4628:2:3","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"4599:3:3","nodeType":"YulIdentifier","src":"4599:3:3"},"nativeSrc":"4599:32:3","nodeType":"YulFunctionCall","src":"4599:32:3"},"nativeSrc":"4596:119:3","nodeType":"YulIf","src":"4596:119:3"},{"nativeSrc":"4725:286:3","nodeType":"YulBlock","src":"4725:286:3","statements":[{"nativeSrc":"4740:45:3","nodeType":"YulVariableDeclaration","src":"4740:45:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4771:9:3","nodeType":"YulIdentifier","src":"4771:9:3"},{"kind":"number","nativeSrc":"4782:1:3","nodeType":"YulLiteral","src":"4782:1:3","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"4767:3:3","nodeType":"YulIdentifier","src":"4767:3:3"},"nativeSrc":"4767:17:3","nodeType":"YulFunctionCall","src":"4767:17:3"}],"functionName":{"name":"calldataload","nativeSrc":"4754:12:3","nodeType":"YulIdentifier","src":"4754:12:3"},"nativeSrc":"4754:31:3","nodeType":"YulFunctionCall","src":"4754:31:3"},"variables":[{"name":"offset","nativeSrc":"4744:6:3","nodeType":"YulTypedName","src":"4744:6:3","type":""}]},{"body":{"nativeSrc":"4832:83:3","nodeType":"YulBlock","src":"4832:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"4834:77:3","nodeType":"YulIdentifier","src":"4834:77:3"},"nativeSrc":"4834:79:3","nodeType":"YulFunctionCall","src":"4834:79:3"},"nativeSrc":"4834:79:3","nodeType":"YulExpressionStatement","src":"4834:79:3"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"4804:6:3","nodeType":"YulIdentifier","src":"4804:6:3"},{"kind":"number","nativeSrc":"4812:18:3","nodeType":"YulLiteral","src":"4812:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"4801:2:3","nodeType":"YulIdentifier","src":"4801:2:3"},"nativeSrc":"4801:30:3","nodeType":"YulFunctionCall","src":"4801:30:3"},"nativeSrc":"4798:117:3","nodeType":"YulIf","src":"4798:117:3"},{"nativeSrc":"4929:72:3","nodeType":"YulAssignment","src":"4929:72:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4973:9:3","nodeType":"YulIdentifier","src":"4973:9:3"},{"name":"offset","nativeSrc":"4984:6:3","nodeType":"YulIdentifier","src":"4984:6:3"}],"functionName":{"name":"add","nativeSrc":"4969:3:3","nodeType":"YulIdentifier","src":"4969:3:3"},"nativeSrc":"4969:22:3","nodeType":"YulFunctionCall","src":"4969:22:3"},{"name":"dataEnd","nativeSrc":"4993:7:3","nodeType":"YulIdentifier","src":"4993:7:3"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"4939:29:3","nodeType":"YulIdentifier","src":"4939:29:3"},"nativeSrc":"4939:62:3","nodeType":"YulFunctionCall","src":"4939:62:3"},"variableNames":[{"name":"value0","nativeSrc":"4929:6:3","nodeType":"YulIdentifier","src":"4929:6:3"}]}]},{"nativeSrc":"5021:303:3","nodeType":"YulBlock","src":"5021:303:3","statements":[{"nativeSrc":"5036:46:3","nodeType":"YulVariableDeclaration","src":"5036:46:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5067:9:3","nodeType":"YulIdentifier","src":"5067:9:3"},{"kind":"number","nativeSrc":"5078:2:3","nodeType":"YulLiteral","src":"5078:2:3","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5063:3:3","nodeType":"YulIdentifier","src":"5063:3:3"},"nativeSrc":"5063:18:3","nodeType":"YulFunctionCall","src":"5063:18:3"}],"functionName":{"name":"calldataload","nativeSrc":"5050:12:3","nodeType":"YulIdentifier","src":"5050:12:3"},"nativeSrc":"5050:32:3","nodeType":"YulFunctionCall","src":"5050:32:3"},"variables":[{"name":"offset","nativeSrc":"5040:6:3","nodeType":"YulTypedName","src":"5040:6:3","type":""}]},{"body":{"nativeSrc":"5129:83:3","nodeType":"YulBlock","src":"5129:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"5131:77:3","nodeType":"YulIdentifier","src":"5131:77:3"},"nativeSrc":"5131:79:3","nodeType":"YulFunctionCall","src":"5131:79:3"},"nativeSrc":"5131:79:3","nodeType":"YulExpressionStatement","src":"5131:79:3"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"5101:6:3","nodeType":"YulIdentifier","src":"5101:6:3"},{"kind":"number","nativeSrc":"5109:18:3","nodeType":"YulLiteral","src":"5109:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"5098:2:3","nodeType":"YulIdentifier","src":"5098:2:3"},"nativeSrc":"5098:30:3","nodeType":"YulFunctionCall","src":"5098:30:3"},"nativeSrc":"5095:117:3","nodeType":"YulIf","src":"5095:117:3"},{"nativeSrc":"5226:88:3","nodeType":"YulAssignment","src":"5226:88:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5286:9:3","nodeType":"YulIdentifier","src":"5286:9:3"},{"name":"offset","nativeSrc":"5297:6:3","nodeType":"YulIdentifier","src":"5297:6:3"}],"functionName":{"name":"add","nativeSrc":"5282:3:3","nodeType":"YulIdentifier","src":"5282:3:3"},"nativeSrc":"5282:22:3","nodeType":"YulFunctionCall","src":"5282:22:3"},{"name":"dataEnd","nativeSrc":"5306:7:3","nodeType":"YulIdentifier","src":"5306:7:3"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"5236:45:3","nodeType":"YulIdentifier","src":"5236:45:3"},"nativeSrc":"5236:78:3","nodeType":"YulFunctionCall","src":"5236:78:3"},"variableNames":[{"name":"value1","nativeSrc":"5226:6:3","nodeType":"YulIdentifier","src":"5226:6:3"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4469:862:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4548:9:3","nodeType":"YulTypedName","src":"4548:9:3","type":""},{"name":"dataEnd","nativeSrc":"4559:7:3","nodeType":"YulTypedName","src":"4559:7:3","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"4571:6:3","nodeType":"YulTypedName","src":"4571:6:3","type":""},{"name":"value1","nativeSrc":"4579:6:3","nodeType":"YulTypedName","src":"4579:6:3","type":""}],"src":"4469:862:3"},{"body":{"nativeSrc":"5379:48:3","nodeType":"YulBlock","src":"5379:48:3","statements":[{"nativeSrc":"5389:32:3","nodeType":"YulAssignment","src":"5389:32:3","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5414:5:3","nodeType":"YulIdentifier","src":"5414:5:3"}],"functionName":{"name":"iszero","nativeSrc":"5407:6:3","nodeType":"YulIdentifier","src":"5407:6:3"},"nativeSrc":"5407:13:3","nodeType":"YulFunctionCall","src":"5407:13:3"}],"functionName":{"name":"iszero","nativeSrc":"5400:6:3","nodeType":"YulIdentifier","src":"5400:6:3"},"nativeSrc":"5400:21:3","nodeType":"YulFunctionCall","src":"5400:21:3"},"variableNames":[{"name":"cleaned","nativeSrc":"5389:7:3","nodeType":"YulIdentifier","src":"5389:7:3"}]}]},"name":"cleanup_t_bool","nativeSrc":"5337:90:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5361:5:3","nodeType":"YulTypedName","src":"5361:5:3","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"5371:7:3","nodeType":"YulTypedName","src":"5371:7:3","type":""}],"src":"5337:90:3"},{"body":{"nativeSrc":"5492:50:3","nodeType":"YulBlock","src":"5492:50:3","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"5509:3:3","nodeType":"YulIdentifier","src":"5509:3:3"},{"arguments":[{"name":"value","nativeSrc":"5529:5:3","nodeType":"YulIdentifier","src":"5529:5:3"}],"functionName":{"name":"cleanup_t_bool","nativeSrc":"5514:14:3","nodeType":"YulIdentifier","src":"5514:14:3"},"nativeSrc":"5514:21:3","nodeType":"YulFunctionCall","src":"5514:21:3"}],"functionName":{"name":"mstore","nativeSrc":"5502:6:3","nodeType":"YulIdentifier","src":"5502:6:3"},"nativeSrc":"5502:34:3","nodeType":"YulFunctionCall","src":"5502:34:3"},"nativeSrc":"5502:34:3","nodeType":"YulExpressionStatement","src":"5502:34:3"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5433:109:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5480:5:3","nodeType":"YulTypedName","src":"5480:5:3","type":""},{"name":"pos","nativeSrc":"5487:3:3","nodeType":"YulTypedName","src":"5487:3:3","type":""}],"src":"5433:109:3"},{"body":{"nativeSrc":"5640:118:3","nodeType":"YulBlock","src":"5640:118:3","statements":[{"nativeSrc":"5650:26:3","nodeType":"YulAssignment","src":"5650:26:3","value":{"arguments":[{"name":"headStart","nativeSrc":"5662:9:3","nodeType":"YulIdentifier","src":"5662:9:3"},{"kind":"number","nativeSrc":"5673:2:3","nodeType":"YulLiteral","src":"5673:2:3","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5658:3:3","nodeType":"YulIdentifier","src":"5658:3:3"},"nativeSrc":"5658:18:3","nodeType":"YulFunctionCall","src":"5658:18:3"},"variableNames":[{"name":"tail","nativeSrc":"5650:4:3","nodeType":"YulIdentifier","src":"5650:4:3"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"5724:6:3","nodeType":"YulIdentifier","src":"5724:6:3"},{"arguments":[{"name":"headStart","nativeSrc":"5737:9:3","nodeType":"YulIdentifier","src":"5737:9:3"},{"kind":"number","nativeSrc":"5748:1:3","nodeType":"YulLiteral","src":"5748:1:3","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"5733:3:3","nodeType":"YulIdentifier","src":"5733:3:3"},"nativeSrc":"5733:17:3","nodeType":"YulFunctionCall","src":"5733:17:3"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5686:37:3","nodeType":"YulIdentifier","src":"5686:37:3"},"nativeSrc":"5686:65:3","nodeType":"YulFunctionCall","src":"5686:65:3"},"nativeSrc":"5686:65:3","nodeType":"YulExpressionStatement","src":"5686:65:3"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"5548:210:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5612:9:3","nodeType":"YulTypedName","src":"5612:9:3","type":""},{"name":"value0","nativeSrc":"5624:6:3","nodeType":"YulTypedName","src":"5624:6:3","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5635:4:3","nodeType":"YulTypedName","src":"5635:4:3","type":""}],"src":"5548:210:3"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n","id":3,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cdf565b610060565b6040516100579190611d72565b60405180910390f35b6000611a1c565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f29e79ad99d77a4ffcf4b8ab0e464b713c864049f2add12136968cff0864088eb7f1410aa6f48b6cf3bf598c6dfa5cb01466519164bd833de0e7827db62d8cac07884610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f1d0d822b29a0910be348f05ad545cfca3c4a45984ec7b3c071978ca4e979b6867f1689e43d6a0f29f2c00abcf49c803fa5c0ebbf4937b1ad668147399369a8fa7e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f145db25e5672a52146b54883489d4339ba16367240f7dd1dacb09e4daf1189d77f1f3ae2a7d2308c43976c572190b3779f177a653b623119177aec86a173733e0984610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f2ece7b42d73dbbda215415dad9da14a4e9f50453c2ea3c269d78f0c4f48b93927f1d854ccab14984cad21ee83abc5688656d4978607ee46ce05c6e30e70438934c84610c61565b60c08501519250610f76837f28dfa5635712fec932cb955efa78de7c3bb1d717ca47ac63d0028c25000ab9827f0c1d9a27ace009b0748df47d8996964d4c5efe448f5689be7f89b1c9b54d1fd484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f1a57e0730386d03ce171300fd06d8df31762d7652b64af847809b15539bf96477f12515de6655d8e300d5106f29f03a0e8d28d2c9c2cf842475e26a42f3eca1c3784610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f28a149d8479d0660ccf9119b862a6296efb8955f144f3a4c28218cbdc30c4a3e7f268d5e96726a4f0a0af926881dd088840f0b189fc0bac1c06378ca1342030d4784610c61565b6115ee6101608601517f0e7776860985ee7b82e3ff3a29a0704c80cc4f49fd6a08562de1286b1a4147737f16d85b4ca470712c952db758ba22542a1494058886d0cf5bc1d6e2796d5d7a3a84610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ae836002600184610c61565b606085015192506117c4836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184883610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a3084610206565b611a3b83828661027f565b611a4481610785565b611a4e838261082a565b611a58818561088d565b611a628185610d07565b611a6c8185610d33565b611a758161184f565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aee82611aa5565b810181811067ffffffffffffffff82111715611b0d57611b0c611ab6565b5b80604052505050565b6000611b20611a87565b9050611b2c8282611ae5565b919050565b600067ffffffffffffffff821115611b4c57611b4b611ab6565b5b611b5582611aa5565b9050602081019050919050565b82818337600083830152505050565b6000611b84611b7f84611b31565b611b16565b905082815260208101848484011115611ba057611b9f611aa0565b5b611bab848285611b62565b509392505050565b600082601f830112611bc857611bc7611a9b565b5b8135611bd8848260208601611b71565b91505092915050565b600067ffffffffffffffff821115611bfc57611bfb611ab6565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b6000611c5b611c5684611be1565b611b16565b90508083825260208201905060208402830185811115611c7e57611c7d611c0d565b5b835b81811015611ca75780611c938882611c33565b845260208401935050602081019050611c80565b5050509392505050565b600082601f830112611cc657611cc5611a9b565b5b8135611cd6848260208601611c48565b91505092915050565b60008060408385031215611cf657611cf5611a91565b5b600083013567ffffffffffffffff811115611d1457611d13611a96565b5b611d2085828601611bb3565b925050602083013567ffffffffffffffff811115611d4157611d40611a96565b5b611d4d85828601611cb1565b9150509250929050565b60008115159050919050565b611d6c81611d57565b82525050565b6000602082019050611d876000830184611d63565b9291505056fea2646970667358221220f40151e1f02334e599ea3cec1e98933d2e3259f203b077c91496df8a7ea9f19964736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDF JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x29E79AD99D77A4FFCF4B8AB0E464B713C864049F2ADD12136968CFF0864088EB PUSH32 0x1410AA6F48B6CF3BF598C6DFA5CB01466519164BD833DE0E7827DB62D8CAC078 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x1D0D822B29A0910BE348F05AD545CFCA3C4A45984EC7B3C071978CA4E979B686 PUSH32 0x1689E43D6A0F29F2C00ABCF49C803FA5C0EBBF4937B1AD668147399369A8FA7E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0x145DB25E5672A52146B54883489D4339BA16367240F7DD1DACB09E4DAF1189D7 PUSH32 0x1F3AE2A7D2308C43976C572190B3779F177A653B623119177AEC86A173733E09 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x2ECE7B42D73DBBDA215415DAD9DA14A4E9F50453C2EA3C269D78F0C4F48B9392 PUSH32 0x1D854CCAB14984CAD21EE83ABC5688656D4978607EE46CE05C6E30E70438934C DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x28DFA5635712FEC932CB955EFA78DE7C3BB1D717CA47AC63D0028C25000AB982 PUSH32 0xC1D9A27ACE009B0748DF47D8996964D4C5EFE448F5689BE7F89B1C9B54D1FD4 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x1A57E0730386D03CE171300FD06D8DF31762D7652B64AF847809B15539BF9647 PUSH32 0x12515DE6655D8E300D5106F29F03A0E8D28D2C9C2CF842475E26A42F3ECA1C37 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x28A149D8479D0660CCF9119B862A6296EFB8955F144F3A4C28218CBDC30C4A3E PUSH32 0x268D5E96726A4F0A0AF926881DD088840F0B189FC0BAC1C06378CA1342030D47 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15EE PUSH2 0x160 DUP7 ADD MLOAD PUSH32 0xE7776860985EE7B82E3FF3A29A0704C80CC4F49FD6A08562DE1286B1A414773 PUSH32 0x16D85B4CA470712C952DB758BA22542A1494058886D0CF5BC1D6E2796D5D7A3A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AE DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C4 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1848 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A30 DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3B DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A44 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4E DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A58 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A62 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6C DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A75 DUP2 PUSH2 0x184F JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AEE DUP3 PUSH2 0x1AA5 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0D JUMPI PUSH2 0x1B0C PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B20 PUSH2 0x1A87 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2C DUP3 DUP3 PUSH2 0x1AE5 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4C JUMPI PUSH2 0x1B4B PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST PUSH2 0x1B55 DUP3 PUSH2 0x1AA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B84 PUSH2 0x1B7F DUP5 PUSH2 0x1B31 JUMP JUMPDEST PUSH2 0x1B16 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1BA0 JUMPI PUSH2 0x1B9F PUSH2 0x1AA0 JUMP JUMPDEST JUMPDEST PUSH2 0x1BAB DUP5 DUP3 DUP6 PUSH2 0x1B62 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC8 JUMPI PUSH2 0x1BC7 PUSH2 0x1A9B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B71 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFC JUMPI PUSH2 0x1BFB PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C25 DUP2 PUSH2 0x1C12 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C42 DUP2 PUSH2 0x1C1C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5B PUSH2 0x1C56 DUP5 PUSH2 0x1BE1 JUMP JUMPDEST PUSH2 0x1B16 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7E JUMPI PUSH2 0x1C7D PUSH2 0x1C0D JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA7 JUMPI DUP1 PUSH2 0x1C93 DUP9 DUP3 PUSH2 0x1C33 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C80 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC6 JUMPI PUSH2 0x1CC5 PUSH2 0x1A9B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C48 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF6 JUMPI PUSH2 0x1CF5 PUSH2 0x1A91 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D14 JUMPI PUSH2 0x1D13 PUSH2 0x1A96 JUMP JUMPDEST JUMPDEST PUSH2 0x1D20 DUP6 DUP3 DUP7 ADD PUSH2 0x1BB3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D41 JUMPI PUSH2 0x1D40 PUSH2 0x1A96 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4D DUP6 DUP3 DUP7 ADD PUSH2 0x1CB1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6C DUP2 PUSH2 0x1D57 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D87 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DELEGATECALL ADD MLOAD 0xE1 CREATE 0x23 CALLVALUE 0xE5 SWAP10 0xEA EXTCODECOPY 0xEC 0x1E SWAP9 SWAP4 RETURNDATASIZE 0x2E ORIGIN MSIZE CALLCODE SUB 0xB0 PUSH24 0xC91496DF8A7EA9F19964736F6C6343000818003300000000 ","sourceMap":"832:23912:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5191:19551;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;5279:4;5437:724;;;5463:3;5494:1;5529;5556;5591;5609:12;5638:7;5679:334;5687:4;5679:334;;;5738:4;5735:1;5730:13;5718:25;;5792:4;5782:8;5778:19;5775:1;5771:27;5764:34;;5823:4;5819:8;;5855:3;5848:10;;5927:4;5917:8;5913:19;5911:1;5907:26;5900:33;;5959:4;5954:9;;5992:3;5984:11;;5679:334;;;6056:1;6053;6050:8;6047:27;;;6070:1;6068;6061:11;6047:27;6101:1;6098;6094:9;6091:30;;;6117:1;6114;6110:9;6106:13;;6091:30;6146:1;6139:8;;5467:694;;;;;;5437:724;;;;:::o;6403:1517::-;6476:4;6470:11;6548:5;6603:2;6600:1;6596:10;6589:5;6585:22;6660:3;6654:10;6729:2;6724:3;6720:12;6713:19;;6788:7;6834:257;6850:7;6845:3;6842:16;6834:257;;;7015:3;7009:4;7002:17;7071:1;7065:3;7059:10;7054:3;7047:26;7040:33;;6900:2;6894:4;6890:13;6882:21;;6941:2;6936:3;6932:12;6925:19;;6834:257;;;7115:15;7128:1;7123:3;7115:15;:::i;:::-;7108:22;;7292:2;7286:4;7282:13;7274:21;;7405:2;7400:3;7396:12;7389:19;;7436:5;7425:16;;7498:311;7514:7;7509:3;7506:16;7498:311;;;7698:1;7691:4;7685:11;7680:3;7673:27;7666:34;;7752:1;7746:3;7740:10;7735:3;7728:26;7721:33;;7787:3;7782;7775:16;7564:2;7558:4;7554:13;7546:21;;7605:2;7600:3;7596:12;7589:19;;7498:311;;;7902:3;7897;7890:16;6435:1485;;;;;6403:1517;;:::o;7946:162::-;8003:1;8000;7997:8;7987:107;;8039:1;8036;8029:12;8071:4;8069:1;8062:14;7987:107;7946:162;:::o;8134:668::-;8208:3;8199:6;8193:13;8190:23;8180:122;;8247:1;8244;8237:12;8279:4;8277:1;8270:14;8180:122;8319:39;8348:7;8340:6;8336:20;8330:27;8319:39;:::i;:::-;8375;8404:7;8396:6;8392:20;8386:27;8375:39;:::i;:::-;8431;8460:7;8452:6;8448:20;8442:27;8431:39;:::i;:::-;8487:40;8516:8;8508:6;8504:21;8498:28;8487:40;:::i;:::-;8544;8573:8;8565:6;8561:21;8555:28;8544:40;:::i;:::-;8601;8630:8;8622:6;8618:21;8612:28;8601:40;:::i;:::-;8658:39;8687:7;8679:6;8675:20;8669:27;8658:39;:::i;:::-;8134:668;:::o;8828:2828::-;8911:5;8933;9019:2;9010:7;9005:17;8998:25;8991:3;8985:4;8981:15;8973:51;9103:2;9095:6;9090:16;9083:24;9076:3;9070:4;9066:15;9058:50;9177:2;9174;9170:10;9162:6;9157:24;9150:32;9143:3;9137:4;9133:15;9125:58;9252:2;9249;9245:10;9237:6;9232:24;9225:32;9218:3;9212:4;9208:15;9200:58;9327:2;9324;9320:10;9312:6;9307:24;9300:32;9293:3;9287:4;9283:15;9275:58;9402:3;9399:2;9395:11;9387:6;9382:25;9375:33;9368:3;9362:4;9358:15;9350:59;9478:3;9475:2;9471:11;9463:6;9458:25;9451:33;9444:3;9438:4;9434:15;9426:59;9564:1;9558:3;9548:7;9542:4;9538:18;9528:34;9524:42;9519:47;;9610:1;9602:5;9596:4;9592:16;9584:28;9693:1;9688:2;9680:5;9674:4;9670:16;9660:31;9656:39;9647:6;9641:4;9637:17;9629:67;9776:1;9771:2;9766;9758:6;9754:15;9744:30;9740:38;9731:6;9725:4;9721:17;9713:66;9856:1;9850:3;9844;9836:6;9832:16;9822:32;9818:40;9813:45;;9899:1;9893:3;9887:4;9883:14;9875:26;9959:1;9956;9953;9946:15;9936:7;9930:4;9926:18;9918:44;10013:1;10010;10007;10000:15;9996:19;;10066:1;10063;10060;10053:15;10049:19;;10119:1;10116;10113;10106:15;10102:19;;10172:1;10169;10166;10159:15;10155:19;;10225:1;10222;10219;10212:15;10208:19;;10278:1;10275;10272;10265:15;10261:19;;10331:1;10328;10325;10318:15;10314:19;;10384:1;10381;10378;10371:15;10367:19;;10437:1;10434;10431;10424:15;10420:19;;10490:1;10487;10484;10477:15;10473:19;;10543:1;10540;10537;10530:15;10526:19;;10596:1;10593;10590;10583:15;10579:19;;10649:1;10646;10643;10636:15;10632:19;;10702:1;10699;10696;10689:15;10685:19;;10755:1;10752;10749;10742:15;10738:19;;10816:1;10809:4;10803;10799:15;10791:27;10861:1;10857;10854;10851;10847:9;10843:16;10839:24;10835:28;;10904:1;10898:3;10892:4;10888:14;10880:26;10950:1;10941:6;10935:4;10931:17;10923:29;11091:1;11085:3;11075:7;11067:6;11063:20;11053:36;11049:44;11134:2;11128:3;11122:4;11118:14;11110:27;11174:1;11170:2;11166;11159:17;11154:22;;11217:1;11211:3;11205:4;11201:14;11193:26;11255:1;11251:2;11248:1;11241:16;11236:21;;11298:1;11292:3;11286:4;11282:14;11274:26;11336:1;11332:2;11329:1;11322:16;11317:21;;11379:1;11373:3;11367:4;11363:14;11355:26;11417:1;11413:2;11410:1;11403:16;11398:21;;11460:1;11454:3;11448:4;11444:14;11436:26;11498:1;11494:2;11491:1;11484:16;11479:21;;11541:1;11535:3;11529:4;11525:14;11517:26;11639:1;11633:3;11626:4;11618:6;11614:17;11604:33;11600:41;11595:2;11589:4;11585:13;11577:65;8880:2776;;;8828:2828;;;:::o;11682:1173::-;11743:1;12280;12226;12165;12095;12051:3;12045:4;12041:14;12035:21;11994:136;11957:239;11924:329;11896:1;11864:439;11832:8;11826:4;11822:19;11794:527;12389:35;12421:1;12412:6;12406:4;12402:17;12389:35;:::i;:::-;12484:3;12478:4;12474:14;12468:21;12511:1;12506:6;;12747:1;12719:2;12682:8;12676:4;12672:20;12666:27;12634:136;12601:8;12595:4;12591:20;12563:225;11715:1140;;11682:1173;:::o;12881:651::-;12942:1;13404;13359;13276;13238:2;13232:4;13228:13;13222:20;13178:8;13172:4;13168:19;13162:26;13122:185;13088:2;13055:278;13026:356;13001:422;12995:428;;13497:2;13491:3;13485:4;13481:14;13474:26;12914:618;12881:651;;:::o;13546:2196::-;13598:5;13620:6;13643;13793:1;13765:3;13759:4;13755:14;13749:21;13717:7;13709:6;13705:20;13699:27;13671:141;13666:146;;13975:1;13946:5;13940:4;13936:16;13930:23;13898:8;13890:6;13886:21;13880:28;13852:142;13846:148;;14119:1;14088:7;14080:6;14076:20;14070:27;14046:2;14018:120;14012:126;;14276:1;14246:6;14240:4;14236:17;14230:24;14206:2;14178:117;14172:123;;14442:1;14413:5;14407:4;14403:16;14397:23;14365:8;14357:6;14353:21;14347:28;14319:142;14313:148;;14586:1;14555:7;14547:6;14543:20;14537:27;14513:2;14485:120;14479:126;;14743:1;14713:6;14707:4;14703:17;14697:24;14673:2;14645:117;14639:123;;14817:1;14813:2;14809;14802:17;14796:23;;14982:1;14952:6;14946:4;14942:17;14936:24;14905:7;14897:6;14893:20;14887:27;14859:142;14853:148;;15040:1;15036:2;15032;15025:17;15019:23;;15106:1;15094:8;15086:6;15082:21;15076:28;15072:2;15065:43;15059:49;;15168:1;15158:6;15152:4;15148:17;15142:24;15138:2;15131:39;15125:45;;15334:1;15303:6;15297:4;15293:17;15287:24;15254:8;15248:4;15244:19;15238:26;15210:143;15204:149;;15477:1;15446:6;15440:4;15436:17;15430:24;15405:2;15377:119;15371:125;;15535:1;15531:2;15527;15520:17;15514:23;;15600:1;15595:2;15591:1;15588;15584:9;15580:18;15576:26;15571:31;;15660:1;15650:6;15644:4;15640:17;15634:24;15631:1;15624:38;15619:43;;15725:1;15714:7;15708:4;15704:18;15696:31;13580:2162;;;13546:2196;;:::o;15768:132::-;15827:2;15821:9;15817:2;15810:21;15881:2;15878;15874:10;15868:17;15863:2;15859;15855:11;15848:38;15768:132;;:::o;15914:498::-;15973:4;15967:11;16013:2;16007:9;16002:3;15995:22;16068:2;16064;16060:11;16054:18;16049:2;16045:3;16041:11;16034:39;16116:2;16110:9;16105:2;16101:3;16097:11;16090:30;16171:2;16167;16163:11;16157:18;16152:2;16148:3;16144:11;16137:39;16255:2;16251;16246:3;16241;16238:1;16231:4;16224:5;16220:16;16209:49;16302:7;16292:106;;16343:1;16340;16333:12;16375:4;16373:1;16366:14;16292:106;15938:474;;15914:498;;:::o;16426:819::-;16474:11;16519:4;16513:11;16559:2;16553:9;16548:3;16541:22;16614:2;16610;16606:11;16600:18;16595:2;16591:3;16587:11;16580:39;16656:1;16651:2;16647:3;16643:11;16636:22;16733:2;16728:3;16724:2;16719:3;16716:1;16709:4;16702:5;16698:16;16687:49;16676:60;;16780:7;16770:106;;16821:1;16818;16811:12;16853:4;16851:1;16844:14;16770:106;16936:2;16930:9;16925:2;16921:3;16917:11;16910:30;16991:2;16987;16983:11;16977:18;16972:2;16968:3;16964:11;16957:39;17071:2;17067;17062:3;17057;17054:1;17047:4;17040:5;17036:16;17025:49;17014:60;;17118:7;17108:106;;17159:1;17156;17149:12;17191:4;17189:1;17182:14;17108:106;16456:789;;16426:819;;;:::o;17259:780::-;17310:11;17355:4;17349:11;17389:1;17384:3;17377:14;17428:1;17423:2;17419:3;17415:11;17408:22;17467:1;17462:2;17458:3;17454:11;17447:22;17544:2;17539:3;17535:2;17530:3;17527:1;17520:4;17513:5;17509:16;17498:49;17487:60;;17591:7;17581:106;;17632:1;17629;17622:12;17664:4;17662:1;17655:14;17581:106;17747:2;17741:9;17736:2;17732:3;17728:11;17721:30;17802:2;17798;17794:11;17788:18;17783:2;17779:3;17775:11;17768:39;17882:2;17878;17873:3;17868;17865:1;17858:4;17851:5;17847:16;17836:49;17825:60;;17929:7;17919:106;;17970:1;17967;17960:12;18002:4;18000:1;17993:14;17919:106;17292:747;;17259:780;;;;:::o;18053:441::-;18104:11;18149:4;18143:11;18183:1;18178:3;18171:14;18222:1;18217:2;18213:3;18209:11;18202:22;18261:1;18256:2;18252:3;18248:11;18241:22;18337:2;18333;18329;18324:3;18321:1;18314:4;18307:5;18303:16;18292:48;18281:59;;18384:7;18374:106;;18425:1;18422;18415:12;18457:4;18455:1;18448:14;18374:106;18086:408;;18053:441;;;;:::o;18509:206::-;18581:3;18575:4;18571:14;18602:28;18624:4;18616:6;18612:17;18609:1;18602:28;:::i;:::-;18647:54;18696:2;18690:4;18686:13;18680:20;18672:5;18664:6;18660:18;18657:1;18647:54;:::i;:::-;18544:171;18509:206;;:::o;18754:4478::-;18807:5;18829:6;18871:3;18865:4;18861:14;19005:1;18998:3;18992:4;18988:14;18982:21;18971:7;18963:6;18959:20;18953:27;18945:62;18940:67;;19024:26;19048:1;19043:3;19038;19035:1;19024:26;:::i;:::-;19113:1;19102:7;19094:6;19090:20;19084:27;19081:1;19073:42;19068:47;;19148:26;19172:1;19167:3;19162;19159:1;19148:26;:::i;:::-;19257:1;19250:3;19244:4;19240:14;19234:21;19223:7;19215:6;19211:20;19205:27;19197:62;19192:67;;19276:26;19300:1;19295:3;19290;19287:1;19276:26;:::i;:::-;19401:1;19394:3;19388:4;19384:14;19378:21;19367:7;19359:6;19355:20;19349:27;19341:62;19336:67;;19420:26;19444:1;19439:3;19434;19431:1;19420:26;:::i;:::-;19484:3;19478:4;19474:14;19468:21;19464:25;;19506:26;19530:1;19525:3;19520;19517:1;19506:26;:::i;:::-;19618:1;19607:7;19601:4;19597:18;19591:25;19580:7;19572:6;19568:20;19562:27;19555:65;19550:70;;19678:1;19668:6;19662:4;19658:17;19652:24;19649:1;19642:38;19637:43;;19741:1;19730:7;19724:4;19720:18;19714:25;19710:2;19703:40;19697:46;;19806:1;19795:7;19787:6;19783:20;19777:27;19773:2;19766:42;19760:48;;19868:1;19858:6;19852:4;19848:17;19842:24;19838:2;19831:39;19825:45;;19906:1;19902:2;19899:1;19892:16;19887:21;;19969:1;19958:7;19952:4;19948:18;19942:25;19938:2;19931:40;19925:46;;20034:1;20023:7;20015:6;20011:20;20005:27;20001:2;19994:42;19988:48;;20096:1;20086:6;20080:4;20076:17;20070:24;20066:2;20059:39;20053:45;;20134:1;20130:2;20127:1;20120:16;20115:21;;20194:1;20184:6;20178:4;20174:17;20168:24;20165:1;20158:38;20153:43;;20251:1;20244:3;20238:4;20234:14;20228:21;20225:1;20218:35;20213:40;;20337:1;20327:6;20321:4;20317:17;20311:24;20299:8;20293:4;20289:19;20283:26;20276:63;20270:69;;20399:1;20389:6;20383:4;20379:17;20373:24;20369:2;20362:39;20356:45;;20458:1;20451:3;20445:4;20441:14;20435:21;20431:2;20424:36;20418:42;;20496:1;20492:2;20489:1;20482:16;20477:21;;20552:1;20546:2;20540:4;20536:13;20530:20;20527:1;20520:34;20515:39;;20571:32;20601:1;20596:2;20588:6;20584:15;20581:1;20571:32;:::i;:::-;20704:1;20692:8;20684:6;20680:21;20674:28;20665:5;20659:4;20655:16;20649:23;20642:64;20637:69;;20767:1;20756:7;20748:6;20744:20;20738:27;20735:1;20728:41;20723:46;;20827:1;20817:6;20811:4;20807:17;20801:24;20798:1;20791:38;20786:43;;20914:1;20902:8;20894:6;20890:21;20884:28;20875:5;20869:4;20865:16;20859:23;20852:64;20846:70;;20979:1;20968:7;20960:6;20956:20;20950:27;20946:2;20939:42;20933:48;;21041:1;21031:6;21025:4;21021:17;21015:24;21011:2;21004:39;20998:45;;21079:1;21075:2;21072:1;21065:16;21060:21;;21139:1;21129:6;21123:4;21119:17;21113:24;21110:1;21103:38;21098:43;;21196:1;21189:3;21183:4;21179:14;21173:21;21170:1;21163:35;21158:40;;21255:1;21246:5;21240:4;21236:16;21230:23;21227:1;21220:37;21215:42;;21319:1;21307:8;21299:6;21295:21;21289:28;21286:1;21279:42;21274:47;;21358:1;21354;21351;21347:9;21343:17;21338:22;;21377:26;21401:1;21396:3;21391;21388:1;21377:26;:::i;:::-;21453:28;21476:3;21468:6;21464:16;21460:1;21453:28;:::i;:::-;21520:4;21514;21510:15;21504:22;21499:27;;21543:33;21574:1;21568:3;21560:6;21556:16;21553:1;21543:33;:::i;:::-;21628:1;21625;21622;21615:15;21610:20;;21647:33;21678:1;21672:3;21664:6;21660:16;21657:1;21647:33;:::i;:::-;21714:52;21760:3;21754:4;21750:14;21744:21;21739:2;21731:6;21727:15;21724:1;21714:52;:::i;:::-;21783;21829:3;21823:4;21819:14;21813:21;21808:2;21800:6;21796:15;21793:1;21783:52;:::i;:::-;21852;21898:3;21892:4;21888:14;21882:21;21877:2;21869:6;21865:15;21862:1;21852:52;:::i;:::-;21921:46;21961:3;21955:4;21951:14;21945:21;21940:3;21935;21932:1;21921:46;:::i;:::-;21984;22024:3;22018:4;22014:14;22008:21;22003:3;21998;21995:1;21984:46;:::i;:::-;22116:7;22110:4;22106:18;22100:25;22095:30;;22220:1;22216;22209:3;22203:4;22199:14;22193:21;22182:7;22174:6;22170:20;22164:27;22157:61;22154:1;22147:75;22142:80;;22317:1;22313;22306:3;22300:4;22296:14;22290:21;22279:7;22271:6;22267:20;22261:27;22254:61;22251:1;22244:75;22239:80;;22414:1;22410;22403:3;22397:4;22393:14;22387:21;22376:7;22368:6;22364:20;22358:27;22351:61;22348:1;22341:75;22336:80;;22511:1;22507;22500:3;22494:4;22490:14;22484:21;22473:7;22465:6;22461:20;22455:27;22448:61;22445:1;22438:75;22433:80;;22609:1;22605;22598:3;22592:4;22588:14;22582:21;22570:8;22562:6;22558:21;22552:28;22545:62;22542:1;22535:76;22530:81;;22707:1;22703;22696:3;22690:4;22686:14;22680:21;22668:8;22660:6;22656:21;22650:28;22643:62;22640:1;22633:76;22628:81;;22804:1;22800;22794:2;22788:4;22784:13;22778:20;22766:8;22758:6;22754:21;22748:28;22741:61;22738:1;22731:75;22726:80;;22843:1;22839;22836;22832:9;22828:17;22823:22;;22862:26;22886:1;22881:3;22876;22873:1;22862:26;:::i;:::-;22994:3;22988:4;22984:14;22978:21;22973:26;;23016:34;23048:1;23041:4;23033:6;23029:17;23026:1;23016:34;:::i;:::-;23125:1;23118:3;23112:4;23108:14;23102:21;23096:2;23090:4;23086:13;23080:20;23073:54;23068:59;;23163:1;23159:2;23156:1;23149:16;23144:21;;23182:35;23215:1;23207:5;23199:6;23195:18;23192:1;23182:35;:::i;:::-;18789:4443;;;18754:4478;;:::o;23258:915::-;23289:4;23329;23323:11;23379:3;23373:4;23369:14;23363:21;23358:3;23351:34;23448:2;23442:3;23436:4;23432:14;23428:23;23422:30;23417:2;23413:3;23409:11;23402:51;23490:4;23485:2;23481:3;23477:11;23470:25;23532:4;23527:2;23523:3;23519:11;23512:25;23575:4;23569:3;23565;23561:12;23554:26;23618:4;23612:3;23608;23604:12;23597:26;23677:3;23671:4;23667:14;23661:21;23655:3;23651;23647:12;23640:43;23735:2;23729:3;23723:4;23719:14;23715:23;23709:30;23777:2;23773:1;23769:2;23765:10;23761:19;23756:24;;23818:1;23812:3;23808;23804:12;23797:23;23858:4;23852:3;23848;23844:12;23837:26;23901:4;23895:3;23891;23887:12;23880:26;23944:4;23938:3;23934;23930:12;23923:26;23987:4;23981:3;23977;23973:12;23966:26;24088:4;24083:3;24078;24073;24070:1;24063:4;24056:5;24052:16;24041:52;24154:3;24148:10;24139:7;24135:24;24127:32;;23294:879;;;23258:915;;;:::o;:::-;24217:4;24211:11;24258:7;24252:4;24248:18;24242:4;24235:32;24293:17;24304:5;24293:17;:::i;:::-;24323:44;24356:10;24350:4;24343:5;24323:44;:::i;:::-;24380:23;24398:4;24380:23;:::i;:::-;24416:29;24434:10;24428:4;24416:29;:::i;:::-;24458:23;24476:4;24469:5;24458:23;:::i;:::-;24494:24;24513:4;24506:5;24494:24;:::i;:::-;24531;24550:4;24543:5;24531:24;:::i;:::-;24583:18;24596:4;24583:18;:::i;:::-;24650:7;24644:4;24640:18;24634:4;24627:32;24682:7;24679:1;24672:18;24712:4;24710:1;24703:14;7:75:3;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:307::-;1357:4;1447:18;1439:6;1436:30;1433:56;;;1469:18;;:::i;:::-;1433:56;1507:29;1529:6;1507:29;:::i;:::-;1499:37;;1591:4;1585;1581:15;1573:23;;1296:307;;;:::o;1609:146::-;1706:6;1701:3;1696;1683:30;1747:1;1738:6;1733:3;1729:16;1722:27;1609:146;;;:::o;1761:423::-;1838:5;1863:65;1879:48;1920:6;1879:48;:::i;:::-;1863:65;:::i;:::-;1854:74;;1951:6;1944:5;1937:21;1989:4;1982:5;1978:16;2027:3;2018:6;2013:3;2009:16;2006:25;2003:112;;;2034:79;;:::i;:::-;2003:112;2124:54;2171:6;2166:3;2161;2124:54;:::i;:::-;1844:340;1761:423;;;;;:::o;2203:338::-;2258:5;2307:3;2300:4;2292:6;2288:17;2284:27;2274:122;;2315:79;;:::i;:::-;2274:122;2432:6;2419:20;2457:78;2531:3;2523:6;2516:4;2508:6;2504:17;2457:78;:::i;:::-;2448:87;;2264:277;2203:338;;;;:::o;2547:311::-;2624:4;2714:18;2706:6;2703:30;2700:56;;;2736:18;;:::i;:::-;2700:56;2786:4;2778:6;2774:17;2766:25;;2846:4;2840;2836:15;2828:23;;2547:311;;;:::o;2864:117::-;2973:1;2970;2963:12;2987:77;3024:7;3053:5;3042:16;;2987:77;;;:::o;3070:122::-;3143:24;3161:5;3143:24;:::i;:::-;3136:5;3133:35;3123:63;;3182:1;3179;3172:12;3123:63;3070:122;:::o;3198:139::-;3244:5;3282:6;3269:20;3260:29;;3298:33;3325:5;3298:33;:::i;:::-;3198:139;;;;:::o;3360:710::-;3456:5;3481:81;3497:64;3554:6;3497:64;:::i;:::-;3481:81;:::i;:::-;3472:90;;3582:5;3611:6;3604:5;3597:21;3645:4;3638:5;3634:16;3627:23;;3698:4;3690:6;3686:17;3678:6;3674:30;3727:3;3719:6;3716:15;3713:122;;;3746:79;;:::i;:::-;3713:122;3861:6;3844:220;3878:6;3873:3;3870:15;3844:220;;;3953:3;3982:37;4015:3;4003:10;3982:37;:::i;:::-;3977:3;3970:50;4049:4;4044:3;4040:14;4033:21;;3920:144;3904:4;3899:3;3895:14;3888:21;;3844:220;;;3848:21;3462:608;;3360:710;;;;;:::o;4093:370::-;4164:5;4213:3;4206:4;4198:6;4194:17;4190:27;4180:122;;4221:79;;:::i;:::-;4180:122;4338:6;4325:20;4363:94;4453:3;4445:6;4438:4;4430:6;4426:17;4363:94;:::i;:::-;4354:103;;4170:293;4093:370;;;;:::o;4469:862::-;4571:6;4579;4628:2;4616:9;4607:7;4603:23;4599:32;4596:119;;;4634:79;;:::i;:::-;4596:119;4782:1;4771:9;4767:17;4754:31;4812:18;4804:6;4801:30;4798:117;;;4834:79;;:::i;:::-;4798:117;4939:62;4993:7;4984:6;4973:9;4969:22;4939:62;:::i;:::-;4929:72;;4725:286;5078:2;5067:9;5063:18;5050:32;5109:18;5101:6;5098:30;5095:117;;;5131:79;;:::i;:::-;5095:117;5236:78;5306:7;5297:6;5286:9;5282:22;5236:78;:::i;:::-;5226:88;;5021:303;4469:862;;;;;:::o;5337:90::-;5371:7;5414:5;5407:13;5400:21;5389:32;;5337:90;;;:::o;5433:109::-;5514:21;5529:5;5514:21;:::i;:::-;5509:3;5502:34;5433:109;;:::o;5548:210::-;5635:4;5673:2;5662:9;5658:18;5650:26;;5686:65;5748:1;5737:9;5733:17;5724:6;5686:65;:::i;:::-;5548:210;;;;:::o"},"methodIdentifiers":{"verifyProof(bytes,uint256[])":"1e8e1e13"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"pubSignals\",\"type\":\"uint256[]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/workstep1Verifier.sol\":\"Workstep1Verifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/workstep1Verifier.sol\":{\"keccak256\":\"0x7d9a9e46130e89b90b73a5ff0aab332986014b7c9a4689b0485f9366ff5a6aa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2e715ed0579cea4fbf506eedc7677c4d35f5194492b321dcd3bae78b23c36548\",\"dweb:/ipfs/QmUcnr2PrfoHFFVdi2Brq4nTgDZ9jJgf6jq96Vw5ba6ds6\"]}},\"version\":1}"}},"contracts/workstep2Verifier.sol":{"Workstep2Verifier":{"abi":[{"inputs":[{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"uint256[]","name":"pubSignals","type":"uint256[]"}],"name":"verifyProof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50611dc2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f26aee923b0c25e2761ed55d872bdce83e1d95e965ca8ce1d7bf132065ed73bea7f0d97ed9d9f00314c36234ec638665eba9c42b2aeb9472214f2d5a2b22615181d84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220f1a497cd26c4df9d647ccc126914032feed1053e8cb91d6f871b91f05cc43dee64736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC2 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDE JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x73AD9CA0A63BF57AAB7471BE06714E14CB129B3BC1957FB205F02A2DFF20144 PUSH32 0xF0D5954BC5550BB6B8A63158299441A292523E20998BD2EEAF6817B9CF74891 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x24B75923EF66B5A38313240BF8701E5289F37FF6E54A5D9696C571CD0D7A6F7B PUSH32 0x13F75F7639B17B60C5DC1561CA51E09122443B14FD9B5198A3200CB73C405E74 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0x26AEE923B0C25E2761ED55D872BDCE83E1D95E965CA8CE1D7BF132065ED73BEA PUSH32 0xD97ED9D9F00314C36234EC638665EBA9C42B2AEB9472214F2D5A2B22615181D DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x24D590624AA64D73288CEF9C5C68DDFBC43C288BFEC0EA23A65E3D519DEB4B45 PUSH32 0x2FE2B7A5E3301EC2548B1B9FA04DAFE8BDB129027D89D2FDA93C32B2AC1D6153 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x2AD72EB4319E5CE1F126C3EE2FB7B07FCACC472B06034BC9B7B00FA5C6DB3DD1 PUSH32 0xBBACFFC38B7A2D2938E833AA0B1BEB2EBE94796EE3EEEAA8CDE99E34B70274E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x244C5FC4BD854EE2B3C1B620E013383A9E6DACA6C0BAB14AECD7101ABA922CB6 PUSH32 0x2281748B89DCD5AEAEE8E7B5573D600632E8B7D13619ECA441E770F4862711FF DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x14CE1F304C015A19FE72CCDD0C7B1AAAE908E4FAA13142D0D8D108E2EFA497FD PUSH32 0x1DDF2AC14509D3ED88C5114E806890A074E2A3CF08BD6B406CD4E0C1256D6A5A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15ED PUSH2 0x160 DUP7 ADD MLOAD PUSH31 0x701C2A27F6E67A591F1CA598C17621B64AD8830430232895CA68FE3DC5854D PUSH32 0xDC88371D3444A7BBC4F3CB292E69421C549C10B86E8982B67D074006094FE08 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AD DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C3 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1847 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A2F DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3A DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A43 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4D DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A57 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A61 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6B DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A74 DUP2 PUSH2 0x184E JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AED DUP3 PUSH2 0x1AA4 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0C JUMPI PUSH2 0x1B0B PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B1F PUSH2 0x1A86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2B DUP3 DUP3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4A PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH2 0x1B54 DUP3 PUSH2 0x1AA4 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B83 PUSH2 0x1B7E DUP5 PUSH2 0x1B30 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B9F JUMPI PUSH2 0x1B9E PUSH2 0x1A9F JUMP JUMPDEST JUMPDEST PUSH2 0x1BAA DUP5 DUP3 DUP6 PUSH2 0x1B61 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC7 JUMPI PUSH2 0x1BC6 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD7 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C24 DUP2 PUSH2 0x1C11 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C41 DUP2 PUSH2 0x1C1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH2 0x1C55 DUP5 PUSH2 0x1BE0 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7D JUMPI PUSH2 0x1C7C PUSH2 0x1C0C JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA6 JUMPI DUP1 PUSH2 0x1C92 DUP9 DUP3 PUSH2 0x1C32 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C7F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC5 JUMPI PUSH2 0x1CC4 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C47 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF5 JUMPI PUSH2 0x1CF4 PUSH2 0x1A90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D13 JUMPI PUSH2 0x1D12 PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D1F DUP6 DUP3 DUP7 ADD PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D40 JUMPI PUSH2 0x1D3F PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4C DUP6 DUP3 DUP7 ADD PUSH2 0x1CB0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6B DUP2 PUSH2 0x1D56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D86 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL LOG4 SWAP8 0xCD 0x26 0xC4 0xDF SWAP14 PUSH5 0x7CCC126914 SUB 0x2F 0xEE 0xD1 SDIV RETURNDATACOPY DUP13 0xB9 SAR PUSH16 0x871B91F05CC43DEE64736F6C63430008 XOR STOP CALLER ","sourceMap":"832:23908:1:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@verifyProof_454":{"entryPoint":96,"id":454,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7239,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":7024,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7344,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":7090,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":7218,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7390,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":7522,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":7537,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":6933,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":6790,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7136,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":6960,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":7510,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":7185,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":7009,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":6884,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x41":{"entryPoint":6837,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":6810,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":7180,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":6815,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":6805,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":6800,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":6820,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":7195,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nativeSrc":"0:5761:3","nodeType":"YulBlock","src":"0:5761:3","statements":[{"body":{"nativeSrc":"47:35:3","nodeType":"YulBlock","src":"47:35:3","statements":[{"nativeSrc":"57:19:3","nodeType":"YulAssignment","src":"57:19:3","value":{"arguments":[{"kind":"number","nativeSrc":"73:2:3","nodeType":"YulLiteral","src":"73:2:3","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"67:5:3","nodeType":"YulIdentifier","src":"67:5:3"},"nativeSrc":"67:9:3","nodeType":"YulFunctionCall","src":"67:9:3"},"variableNames":[{"name":"memPtr","nativeSrc":"57:6:3","nodeType":"YulIdentifier","src":"57:6:3"}]}]},"name":"allocate_unbounded","nativeSrc":"7:75:3","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nativeSrc":"40:6:3","nodeType":"YulTypedName","src":"40:6:3","type":""}],"src":"7:75:3"},{"body":{"nativeSrc":"177:28:3","nodeType":"YulBlock","src":"177:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194:1:3","nodeType":"YulLiteral","src":"194:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"197:1:3","nodeType":"YulLiteral","src":"197:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"187:6:3","nodeType":"YulIdentifier","src":"187:6:3"},"nativeSrc":"187:12:3","nodeType":"YulFunctionCall","src":"187:12:3"},"nativeSrc":"187:12:3","nodeType":"YulExpressionStatement","src":"187:12:3"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"88:117:3","nodeType":"YulFunctionDefinition","src":"88:117:3"},{"body":{"nativeSrc":"300:28:3","nodeType":"YulBlock","src":"300:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"317:1:3","nodeType":"YulLiteral","src":"317:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"320:1:3","nodeType":"YulLiteral","src":"320:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"310:6:3","nodeType":"YulIdentifier","src":"310:6:3"},"nativeSrc":"310:12:3","nodeType":"YulFunctionCall","src":"310:12:3"},"nativeSrc":"310:12:3","nodeType":"YulExpressionStatement","src":"310:12:3"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"211:117:3","nodeType":"YulFunctionDefinition","src":"211:117:3"},{"body":{"nativeSrc":"423:28:3","nodeType":"YulBlock","src":"423:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"440:1:3","nodeType":"YulLiteral","src":"440:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"443:1:3","nodeType":"YulLiteral","src":"443:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"433:6:3","nodeType":"YulIdentifier","src":"433:6:3"},"nativeSrc":"433:12:3","nodeType":"YulFunctionCall","src":"433:12:3"},"nativeSrc":"433:12:3","nodeType":"YulExpressionStatement","src":"433:12:3"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"334:117:3","nodeType":"YulFunctionDefinition","src":"334:117:3"},{"body":{"nativeSrc":"546:28:3","nodeType":"YulBlock","src":"546:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"563:1:3","nodeType":"YulLiteral","src":"563:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"566:1:3","nodeType":"YulLiteral","src":"566:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"556:6:3","nodeType":"YulIdentifier","src":"556:6:3"},"nativeSrc":"556:12:3","nodeType":"YulFunctionCall","src":"556:12:3"},"nativeSrc":"556:12:3","nodeType":"YulExpressionStatement","src":"556:12:3"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"457:117:3","nodeType":"YulFunctionDefinition","src":"457:117:3"},{"body":{"nativeSrc":"628:54:3","nodeType":"YulBlock","src":"628:54:3","statements":[{"nativeSrc":"638:38:3","nodeType":"YulAssignment","src":"638:38:3","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"656:5:3","nodeType":"YulIdentifier","src":"656:5:3"},{"kind":"number","nativeSrc":"663:2:3","nodeType":"YulLiteral","src":"663:2:3","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"652:3:3","nodeType":"YulIdentifier","src":"652:3:3"},"nativeSrc":"652:14:3","nodeType":"YulFunctionCall","src":"652:14:3"},{"arguments":[{"kind":"number","nativeSrc":"672:2:3","nodeType":"YulLiteral","src":"672:2:3","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"668:3:3","nodeType":"YulIdentifier","src":"668:3:3"},"nativeSrc":"668:7:3","nodeType":"YulFunctionCall","src":"668:7:3"}],"functionName":{"name":"and","nativeSrc":"648:3:3","nodeType":"YulIdentifier","src":"648:3:3"},"nativeSrc":"648:28:3","nodeType":"YulFunctionCall","src":"648:28:3"},"variableNames":[{"name":"result","nativeSrc":"638:6:3","nodeType":"YulIdentifier","src":"638:6:3"}]}]},"name":"round_up_to_mul_of_32","nativeSrc":"580:102:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"611:5:3","nodeType":"YulTypedName","src":"611:5:3","type":""}],"returnVariables":[{"name":"result","nativeSrc":"621:6:3","nodeType":"YulTypedName","src":"621:6:3","type":""}],"src":"580:102:3"},{"body":{"nativeSrc":"716:152:3","nodeType":"YulBlock","src":"716:152:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"733:1:3","nodeType":"YulLiteral","src":"733:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"736:77:3","nodeType":"YulLiteral","src":"736:77:3","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"726:6:3","nodeType":"YulIdentifier","src":"726:6:3"},"nativeSrc":"726:88:3","nodeType":"YulFunctionCall","src":"726:88:3"},"nativeSrc":"726:88:3","nodeType":"YulExpressionStatement","src":"726:88:3"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"830:1:3","nodeType":"YulLiteral","src":"830:1:3","type":"","value":"4"},{"kind":"number","nativeSrc":"833:4:3","nodeType":"YulLiteral","src":"833:4:3","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"823:6:3","nodeType":"YulIdentifier","src":"823:6:3"},"nativeSrc":"823:15:3","nodeType":"YulFunctionCall","src":"823:15:3"},"nativeSrc":"823:15:3","nodeType":"YulExpressionStatement","src":"823:15:3"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"854:1:3","nodeType":"YulLiteral","src":"854:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"857:4:3","nodeType":"YulLiteral","src":"857:4:3","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"847:6:3","nodeType":"YulIdentifier","src":"847:6:3"},"nativeSrc":"847:15:3","nodeType":"YulFunctionCall","src":"847:15:3"},"nativeSrc":"847:15:3","nodeType":"YulExpressionStatement","src":"847:15:3"}]},"name":"panic_error_0x41","nativeSrc":"688:180:3","nodeType":"YulFunctionDefinition","src":"688:180:3"},{"body":{"nativeSrc":"917:238:3","nodeType":"YulBlock","src":"917:238:3","statements":[{"nativeSrc":"927:58:3","nodeType":"YulVariableDeclaration","src":"927:58:3","value":{"arguments":[{"name":"memPtr","nativeSrc":"949:6:3","nodeType":"YulIdentifier","src":"949:6:3"},{"arguments":[{"name":"size","nativeSrc":"979:4:3","nodeType":"YulIdentifier","src":"979:4:3"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"957:21:3","nodeType":"YulIdentifier","src":"957:21:3"},"nativeSrc":"957:27:3","nodeType":"YulFunctionCall","src":"957:27:3"}],"functionName":{"name":"add","nativeSrc":"945:3:3","nodeType":"YulIdentifier","src":"945:3:3"},"nativeSrc":"945:40:3","nodeType":"YulFunctionCall","src":"945:40:3"},"variables":[{"name":"newFreePtr","nativeSrc":"931:10:3","nodeType":"YulTypedName","src":"931:10:3","type":""}]},{"body":{"nativeSrc":"1096:22:3","nodeType":"YulBlock","src":"1096:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1098:16:3","nodeType":"YulIdentifier","src":"1098:16:3"},"nativeSrc":"1098:18:3","nodeType":"YulFunctionCall","src":"1098:18:3"},"nativeSrc":"1098:18:3","nodeType":"YulExpressionStatement","src":"1098:18:3"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"1039:10:3","nodeType":"YulIdentifier","src":"1039:10:3"},{"kind":"number","nativeSrc":"1051:18:3","nodeType":"YulLiteral","src":"1051:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1036:2:3","nodeType":"YulIdentifier","src":"1036:2:3"},"nativeSrc":"1036:34:3","nodeType":"YulFunctionCall","src":"1036:34:3"},{"arguments":[{"name":"newFreePtr","nativeSrc":"1075:10:3","nodeType":"YulIdentifier","src":"1075:10:3"},{"name":"memPtr","nativeSrc":"1087:6:3","nodeType":"YulIdentifier","src":"1087:6:3"}],"functionName":{"name":"lt","nativeSrc":"1072:2:3","nodeType":"YulIdentifier","src":"1072:2:3"},"nativeSrc":"1072:22:3","nodeType":"YulFunctionCall","src":"1072:22:3"}],"functionName":{"name":"or","nativeSrc":"1033:2:3","nodeType":"YulIdentifier","src":"1033:2:3"},"nativeSrc":"1033:62:3","nodeType":"YulFunctionCall","src":"1033:62:3"},"nativeSrc":"1030:88:3","nodeType":"YulIf","src":"1030:88:3"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1134:2:3","nodeType":"YulLiteral","src":"1134:2:3","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"1138:10:3","nodeType":"YulIdentifier","src":"1138:10:3"}],"functionName":{"name":"mstore","nativeSrc":"1127:6:3","nodeType":"YulIdentifier","src":"1127:6:3"},"nativeSrc":"1127:22:3","nodeType":"YulFunctionCall","src":"1127:22:3"},"nativeSrc":"1127:22:3","nodeType":"YulExpressionStatement","src":"1127:22:3"}]},"name":"finalize_allocation","nativeSrc":"874:281:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"903:6:3","nodeType":"YulTypedName","src":"903:6:3","type":""},{"name":"size","nativeSrc":"911:4:3","nodeType":"YulTypedName","src":"911:4:3","type":""}],"src":"874:281:3"},{"body":{"nativeSrc":"1202:88:3","nodeType":"YulBlock","src":"1202:88:3","statements":[{"nativeSrc":"1212:30:3","nodeType":"YulAssignment","src":"1212:30:3","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nativeSrc":"1222:18:3","nodeType":"YulIdentifier","src":"1222:18:3"},"nativeSrc":"1222:20:3","nodeType":"YulFunctionCall","src":"1222:20:3"},"variableNames":[{"name":"memPtr","nativeSrc":"1212:6:3","nodeType":"YulIdentifier","src":"1212:6:3"}]},{"expression":{"arguments":[{"name":"memPtr","nativeSrc":"1271:6:3","nodeType":"YulIdentifier","src":"1271:6:3"},{"name":"size","nativeSrc":"1279:4:3","nodeType":"YulIdentifier","src":"1279:4:3"}],"functionName":{"name":"finalize_allocation","nativeSrc":"1251:19:3","nodeType":"YulIdentifier","src":"1251:19:3"},"nativeSrc":"1251:33:3","nodeType":"YulFunctionCall","src":"1251:33:3"},"nativeSrc":"1251:33:3","nodeType":"YulExpressionStatement","src":"1251:33:3"}]},"name":"allocate_memory","nativeSrc":"1161:129:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"1186:4:3","nodeType":"YulTypedName","src":"1186:4:3","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"1195:6:3","nodeType":"YulTypedName","src":"1195:6:3","type":""}],"src":"1161:129:3"},{"body":{"nativeSrc":"1362:241:3","nodeType":"YulBlock","src":"1362:241:3","statements":[{"body":{"nativeSrc":"1467:22:3","nodeType":"YulBlock","src":"1467:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1469:16:3","nodeType":"YulIdentifier","src":"1469:16:3"},"nativeSrc":"1469:18:3","nodeType":"YulFunctionCall","src":"1469:18:3"},"nativeSrc":"1469:18:3","nodeType":"YulExpressionStatement","src":"1469:18:3"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"1439:6:3","nodeType":"YulIdentifier","src":"1439:6:3"},{"kind":"number","nativeSrc":"1447:18:3","nodeType":"YulLiteral","src":"1447:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1436:2:3","nodeType":"YulIdentifier","src":"1436:2:3"},"nativeSrc":"1436:30:3","nodeType":"YulFunctionCall","src":"1436:30:3"},"nativeSrc":"1433:56:3","nodeType":"YulIf","src":"1433:56:3"},{"nativeSrc":"1499:37:3","nodeType":"YulAssignment","src":"1499:37:3","value":{"arguments":[{"name":"length","nativeSrc":"1529:6:3","nodeType":"YulIdentifier","src":"1529:6:3"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"1507:21:3","nodeType":"YulIdentifier","src":"1507:21:3"},"nativeSrc":"1507:29:3","nodeType":"YulFunctionCall","src":"1507:29:3"},"variableNames":[{"name":"size","nativeSrc":"1499:4:3","nodeType":"YulIdentifier","src":"1499:4:3"}]},{"nativeSrc":"1573:23:3","nodeType":"YulAssignment","src":"1573:23:3","value":{"arguments":[{"name":"size","nativeSrc":"1585:4:3","nodeType":"YulIdentifier","src":"1585:4:3"},{"kind":"number","nativeSrc":"1591:4:3","nodeType":"YulLiteral","src":"1591:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1581:3:3","nodeType":"YulIdentifier","src":"1581:3:3"},"nativeSrc":"1581:15:3","nodeType":"YulFunctionCall","src":"1581:15:3"},"variableNames":[{"name":"size","nativeSrc":"1573:4:3","nodeType":"YulIdentifier","src":"1573:4:3"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1296:307:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"1346:6:3","nodeType":"YulTypedName","src":"1346:6:3","type":""}],"returnVariables":[{"name":"size","nativeSrc":"1357:4:3","nodeType":"YulTypedName","src":"1357:4:3","type":""}],"src":"1296:307:3"},{"body":{"nativeSrc":"1673:82:3","nodeType":"YulBlock","src":"1673:82:3","statements":[{"expression":{"arguments":[{"name":"dst","nativeSrc":"1696:3:3","nodeType":"YulIdentifier","src":"1696:3:3"},{"name":"src","nativeSrc":"1701:3:3","nodeType":"YulIdentifier","src":"1701:3:3"},{"name":"length","nativeSrc":"1706:6:3","nodeType":"YulIdentifier","src":"1706:6:3"}],"functionName":{"name":"calldatacopy","nativeSrc":"1683:12:3","nodeType":"YulIdentifier","src":"1683:12:3"},"nativeSrc":"1683:30:3","nodeType":"YulFunctionCall","src":"1683:30:3"},"nativeSrc":"1683:30:3","nodeType":"YulExpressionStatement","src":"1683:30:3"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"1733:3:3","nodeType":"YulIdentifier","src":"1733:3:3"},{"name":"length","nativeSrc":"1738:6:3","nodeType":"YulIdentifier","src":"1738:6:3"}],"functionName":{"name":"add","nativeSrc":"1729:3:3","nodeType":"YulIdentifier","src":"1729:3:3"},"nativeSrc":"1729:16:3","nodeType":"YulFunctionCall","src":"1729:16:3"},{"kind":"number","nativeSrc":"1747:1:3","nodeType":"YulLiteral","src":"1747:1:3","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"1722:6:3","nodeType":"YulIdentifier","src":"1722:6:3"},"nativeSrc":"1722:27:3","nodeType":"YulFunctionCall","src":"1722:27:3"},"nativeSrc":"1722:27:3","nodeType":"YulExpressionStatement","src":"1722:27:3"}]},"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"1609:146:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1655:3:3","nodeType":"YulTypedName","src":"1655:3:3","type":""},{"name":"dst","nativeSrc":"1660:3:3","nodeType":"YulTypedName","src":"1660:3:3","type":""},{"name":"length","nativeSrc":"1665:6:3","nodeType":"YulTypedName","src":"1665:6:3","type":""}],"src":"1609:146:3"},{"body":{"nativeSrc":"1844:340:3","nodeType":"YulBlock","src":"1844:340:3","statements":[{"nativeSrc":"1854:74:3","nodeType":"YulAssignment","src":"1854:74:3","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"1920:6:3","nodeType":"YulIdentifier","src":"1920:6:3"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1879:40:3","nodeType":"YulIdentifier","src":"1879:40:3"},"nativeSrc":"1879:48:3","nodeType":"YulFunctionCall","src":"1879:48:3"}],"functionName":{"name":"allocate_memory","nativeSrc":"1863:15:3","nodeType":"YulIdentifier","src":"1863:15:3"},"nativeSrc":"1863:65:3","nodeType":"YulFunctionCall","src":"1863:65:3"},"variableNames":[{"name":"array","nativeSrc":"1854:5:3","nodeType":"YulIdentifier","src":"1854:5:3"}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"1944:5:3","nodeType":"YulIdentifier","src":"1944:5:3"},{"name":"length","nativeSrc":"1951:6:3","nodeType":"YulIdentifier","src":"1951:6:3"}],"functionName":{"name":"mstore","nativeSrc":"1937:6:3","nodeType":"YulIdentifier","src":"1937:6:3"},"nativeSrc":"1937:21:3","nodeType":"YulFunctionCall","src":"1937:21:3"},"nativeSrc":"1937:21:3","nodeType":"YulExpressionStatement","src":"1937:21:3"},{"nativeSrc":"1967:27:3","nodeType":"YulVariableDeclaration","src":"1967:27:3","value":{"arguments":[{"name":"array","nativeSrc":"1982:5:3","nodeType":"YulIdentifier","src":"1982:5:3"},{"kind":"number","nativeSrc":"1989:4:3","nodeType":"YulLiteral","src":"1989:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1978:3:3","nodeType":"YulIdentifier","src":"1978:3:3"},"nativeSrc":"1978:16:3","nodeType":"YulFunctionCall","src":"1978:16:3"},"variables":[{"name":"dst","nativeSrc":"1971:3:3","nodeType":"YulTypedName","src":"1971:3:3","type":""}]},{"body":{"nativeSrc":"2032:83:3","nodeType":"YulBlock","src":"2032:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"2034:77:3","nodeType":"YulIdentifier","src":"2034:77:3"},"nativeSrc":"2034:79:3","nodeType":"YulFunctionCall","src":"2034:79:3"},"nativeSrc":"2034:79:3","nodeType":"YulExpressionStatement","src":"2034:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"2013:3:3","nodeType":"YulIdentifier","src":"2013:3:3"},{"name":"length","nativeSrc":"2018:6:3","nodeType":"YulIdentifier","src":"2018:6:3"}],"functionName":{"name":"add","nativeSrc":"2009:3:3","nodeType":"YulIdentifier","src":"2009:3:3"},"nativeSrc":"2009:16:3","nodeType":"YulFunctionCall","src":"2009:16:3"},{"name":"end","nativeSrc":"2027:3:3","nodeType":"YulIdentifier","src":"2027:3:3"}],"functionName":{"name":"gt","nativeSrc":"2006:2:3","nodeType":"YulIdentifier","src":"2006:2:3"},"nativeSrc":"2006:25:3","nodeType":"YulFunctionCall","src":"2006:25:3"},"nativeSrc":"2003:112:3","nodeType":"YulIf","src":"2003:112:3"},{"expression":{"arguments":[{"name":"src","nativeSrc":"2161:3:3","nodeType":"YulIdentifier","src":"2161:3:3"},{"name":"dst","nativeSrc":"2166:3:3","nodeType":"YulIdentifier","src":"2166:3:3"},{"name":"length","nativeSrc":"2171:6:3","nodeType":"YulIdentifier","src":"2171:6:3"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"2124:36:3","nodeType":"YulIdentifier","src":"2124:36:3"},"nativeSrc":"2124:54:3","nodeType":"YulFunctionCall","src":"2124:54:3"},"nativeSrc":"2124:54:3","nodeType":"YulExpressionStatement","src":"2124:54:3"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"1761:423:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1817:3:3","nodeType":"YulTypedName","src":"1817:3:3","type":""},{"name":"length","nativeSrc":"1822:6:3","nodeType":"YulTypedName","src":"1822:6:3","type":""},{"name":"end","nativeSrc":"1830:3:3","nodeType":"YulTypedName","src":"1830:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"1838:5:3","nodeType":"YulTypedName","src":"1838:5:3","type":""}],"src":"1761:423:3"},{"body":{"nativeSrc":"2264:277:3","nodeType":"YulBlock","src":"2264:277:3","statements":[{"body":{"nativeSrc":"2313:83:3","nodeType":"YulBlock","src":"2313:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"2315:77:3","nodeType":"YulIdentifier","src":"2315:77:3"},"nativeSrc":"2315:79:3","nodeType":"YulFunctionCall","src":"2315:79:3"},"nativeSrc":"2315:79:3","nodeType":"YulExpressionStatement","src":"2315:79:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2292:6:3","nodeType":"YulIdentifier","src":"2292:6:3"},{"kind":"number","nativeSrc":"2300:4:3","nodeType":"YulLiteral","src":"2300:4:3","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"2288:3:3","nodeType":"YulIdentifier","src":"2288:3:3"},"nativeSrc":"2288:17:3","nodeType":"YulFunctionCall","src":"2288:17:3"},{"name":"end","nativeSrc":"2307:3:3","nodeType":"YulIdentifier","src":"2307:3:3"}],"functionName":{"name":"slt","nativeSrc":"2284:3:3","nodeType":"YulIdentifier","src":"2284:3:3"},"nativeSrc":"2284:27:3","nodeType":"YulFunctionCall","src":"2284:27:3"}],"functionName":{"name":"iszero","nativeSrc":"2277:6:3","nodeType":"YulIdentifier","src":"2277:6:3"},"nativeSrc":"2277:35:3","nodeType":"YulFunctionCall","src":"2277:35:3"},"nativeSrc":"2274:122:3","nodeType":"YulIf","src":"2274:122:3"},{"nativeSrc":"2405:34:3","nodeType":"YulVariableDeclaration","src":"2405:34:3","value":{"arguments":[{"name":"offset","nativeSrc":"2432:6:3","nodeType":"YulIdentifier","src":"2432:6:3"}],"functionName":{"name":"calldataload","nativeSrc":"2419:12:3","nodeType":"YulIdentifier","src":"2419:12:3"},"nativeSrc":"2419:20:3","nodeType":"YulFunctionCall","src":"2419:20:3"},"variables":[{"name":"length","nativeSrc":"2409:6:3","nodeType":"YulTypedName","src":"2409:6:3","type":""}]},{"nativeSrc":"2448:87:3","nodeType":"YulAssignment","src":"2448:87:3","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2508:6:3","nodeType":"YulIdentifier","src":"2508:6:3"},{"kind":"number","nativeSrc":"2516:4:3","nodeType":"YulLiteral","src":"2516:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2504:3:3","nodeType":"YulIdentifier","src":"2504:3:3"},"nativeSrc":"2504:17:3","nodeType":"YulFunctionCall","src":"2504:17:3"},{"name":"length","nativeSrc":"2523:6:3","nodeType":"YulIdentifier","src":"2523:6:3"},{"name":"end","nativeSrc":"2531:3:3","nodeType":"YulIdentifier","src":"2531:3:3"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"2457:46:3","nodeType":"YulIdentifier","src":"2457:46:3"},"nativeSrc":"2457:78:3","nodeType":"YulFunctionCall","src":"2457:78:3"},"variableNames":[{"name":"array","nativeSrc":"2448:5:3","nodeType":"YulIdentifier","src":"2448:5:3"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"2203:338:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2242:6:3","nodeType":"YulTypedName","src":"2242:6:3","type":""},{"name":"end","nativeSrc":"2250:3:3","nodeType":"YulTypedName","src":"2250:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2258:5:3","nodeType":"YulTypedName","src":"2258:5:3","type":""}],"src":"2203:338:3"},{"body":{"nativeSrc":"2629:229:3","nodeType":"YulBlock","src":"2629:229:3","statements":[{"body":{"nativeSrc":"2734:22:3","nodeType":"YulBlock","src":"2734:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"2736:16:3","nodeType":"YulIdentifier","src":"2736:16:3"},"nativeSrc":"2736:18:3","nodeType":"YulFunctionCall","src":"2736:18:3"},"nativeSrc":"2736:18:3","nodeType":"YulExpressionStatement","src":"2736:18:3"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"2706:6:3","nodeType":"YulIdentifier","src":"2706:6:3"},{"kind":"number","nativeSrc":"2714:18:3","nodeType":"YulLiteral","src":"2714:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"2703:2:3","nodeType":"YulIdentifier","src":"2703:2:3"},"nativeSrc":"2703:30:3","nodeType":"YulFunctionCall","src":"2703:30:3"},"nativeSrc":"2700:56:3","nodeType":"YulIf","src":"2700:56:3"},{"nativeSrc":"2766:25:3","nodeType":"YulAssignment","src":"2766:25:3","value":{"arguments":[{"name":"length","nativeSrc":"2778:6:3","nodeType":"YulIdentifier","src":"2778:6:3"},{"kind":"number","nativeSrc":"2786:4:3","nodeType":"YulLiteral","src":"2786:4:3","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"2774:3:3","nodeType":"YulIdentifier","src":"2774:3:3"},"nativeSrc":"2774:17:3","nodeType":"YulFunctionCall","src":"2774:17:3"},"variableNames":[{"name":"size","nativeSrc":"2766:4:3","nodeType":"YulIdentifier","src":"2766:4:3"}]},{"nativeSrc":"2828:23:3","nodeType":"YulAssignment","src":"2828:23:3","value":{"arguments":[{"name":"size","nativeSrc":"2840:4:3","nodeType":"YulIdentifier","src":"2840:4:3"},{"kind":"number","nativeSrc":"2846:4:3","nodeType":"YulLiteral","src":"2846:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2836:3:3","nodeType":"YulIdentifier","src":"2836:3:3"},"nativeSrc":"2836:15:3","nodeType":"YulFunctionCall","src":"2836:15:3"},"variableNames":[{"name":"size","nativeSrc":"2828:4:3","nodeType":"YulIdentifier","src":"2828:4:3"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"2547:311:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"2613:6:3","nodeType":"YulTypedName","src":"2613:6:3","type":""}],"returnVariables":[{"name":"size","nativeSrc":"2624:4:3","nodeType":"YulTypedName","src":"2624:4:3","type":""}],"src":"2547:311:3"},{"body":{"nativeSrc":"2953:28:3","nodeType":"YulBlock","src":"2953:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2970:1:3","nodeType":"YulLiteral","src":"2970:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"2973:1:3","nodeType":"YulLiteral","src":"2973:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2963:6:3","nodeType":"YulIdentifier","src":"2963:6:3"},"nativeSrc":"2963:12:3","nodeType":"YulFunctionCall","src":"2963:12:3"},"nativeSrc":"2963:12:3","nodeType":"YulExpressionStatement","src":"2963:12:3"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"2864:117:3","nodeType":"YulFunctionDefinition","src":"2864:117:3"},{"body":{"nativeSrc":"3032:32:3","nodeType":"YulBlock","src":"3032:32:3","statements":[{"nativeSrc":"3042:16:3","nodeType":"YulAssignment","src":"3042:16:3","value":{"name":"value","nativeSrc":"3053:5:3","nodeType":"YulIdentifier","src":"3053:5:3"},"variableNames":[{"name":"cleaned","nativeSrc":"3042:7:3","nodeType":"YulIdentifier","src":"3042:7:3"}]}]},"name":"cleanup_t_uint256","nativeSrc":"2987:77:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3014:5:3","nodeType":"YulTypedName","src":"3014:5:3","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"3024:7:3","nodeType":"YulTypedName","src":"3024:7:3","type":""}],"src":"2987:77:3"},{"body":{"nativeSrc":"3113:79:3","nodeType":"YulBlock","src":"3113:79:3","statements":[{"body":{"nativeSrc":"3170:16:3","nodeType":"YulBlock","src":"3170:16:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3179:1:3","nodeType":"YulLiteral","src":"3179:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"3182:1:3","nodeType":"YulLiteral","src":"3182:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"3172:6:3","nodeType":"YulIdentifier","src":"3172:6:3"},"nativeSrc":"3172:12:3","nodeType":"YulFunctionCall","src":"3172:12:3"},"nativeSrc":"3172:12:3","nodeType":"YulExpressionStatement","src":"3172:12:3"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"3136:5:3","nodeType":"YulIdentifier","src":"3136:5:3"},{"arguments":[{"name":"value","nativeSrc":"3161:5:3","nodeType":"YulIdentifier","src":"3161:5:3"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"3143:17:3","nodeType":"YulIdentifier","src":"3143:17:3"},"nativeSrc":"3143:24:3","nodeType":"YulFunctionCall","src":"3143:24:3"}],"functionName":{"name":"eq","nativeSrc":"3133:2:3","nodeType":"YulIdentifier","src":"3133:2:3"},"nativeSrc":"3133:35:3","nodeType":"YulFunctionCall","src":"3133:35:3"}],"functionName":{"name":"iszero","nativeSrc":"3126:6:3","nodeType":"YulIdentifier","src":"3126:6:3"},"nativeSrc":"3126:43:3","nodeType":"YulFunctionCall","src":"3126:43:3"},"nativeSrc":"3123:63:3","nodeType":"YulIf","src":"3123:63:3"}]},"name":"validator_revert_t_uint256","nativeSrc":"3070:122:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3106:5:3","nodeType":"YulTypedName","src":"3106:5:3","type":""}],"src":"3070:122:3"},{"body":{"nativeSrc":"3250:87:3","nodeType":"YulBlock","src":"3250:87:3","statements":[{"nativeSrc":"3260:29:3","nodeType":"YulAssignment","src":"3260:29:3","value":{"arguments":[{"name":"offset","nativeSrc":"3282:6:3","nodeType":"YulIdentifier","src":"3282:6:3"}],"functionName":{"name":"calldataload","nativeSrc":"3269:12:3","nodeType":"YulIdentifier","src":"3269:12:3"},"nativeSrc":"3269:20:3","nodeType":"YulFunctionCall","src":"3269:20:3"},"variableNames":[{"name":"value","nativeSrc":"3260:5:3","nodeType":"YulIdentifier","src":"3260:5:3"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"3325:5:3","nodeType":"YulIdentifier","src":"3325:5:3"}],"functionName":{"name":"validator_revert_t_uint256","nativeSrc":"3298:26:3","nodeType":"YulIdentifier","src":"3298:26:3"},"nativeSrc":"3298:33:3","nodeType":"YulFunctionCall","src":"3298:33:3"},"nativeSrc":"3298:33:3","nodeType":"YulExpressionStatement","src":"3298:33:3"}]},"name":"abi_decode_t_uint256","nativeSrc":"3198:139:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3228:6:3","nodeType":"YulTypedName","src":"3228:6:3","type":""},{"name":"end","nativeSrc":"3236:3:3","nodeType":"YulTypedName","src":"3236:3:3","type":""}],"returnVariables":[{"name":"value","nativeSrc":"3244:5:3","nodeType":"YulTypedName","src":"3244:5:3","type":""}],"src":"3198:139:3"},{"body":{"nativeSrc":"3462:608:3","nodeType":"YulBlock","src":"3462:608:3","statements":[{"nativeSrc":"3472:90:3","nodeType":"YulAssignment","src":"3472:90:3","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"3554:6:3","nodeType":"YulIdentifier","src":"3554:6:3"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3497:56:3","nodeType":"YulIdentifier","src":"3497:56:3"},"nativeSrc":"3497:64:3","nodeType":"YulFunctionCall","src":"3497:64:3"}],"functionName":{"name":"allocate_memory","nativeSrc":"3481:15:3","nodeType":"YulIdentifier","src":"3481:15:3"},"nativeSrc":"3481:81:3","nodeType":"YulFunctionCall","src":"3481:81:3"},"variableNames":[{"name":"array","nativeSrc":"3472:5:3","nodeType":"YulIdentifier","src":"3472:5:3"}]},{"nativeSrc":"3571:16:3","nodeType":"YulVariableDeclaration","src":"3571:16:3","value":{"name":"array","nativeSrc":"3582:5:3","nodeType":"YulIdentifier","src":"3582:5:3"},"variables":[{"name":"dst","nativeSrc":"3575:3:3","nodeType":"YulTypedName","src":"3575:3:3","type":""}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"3604:5:3","nodeType":"YulIdentifier","src":"3604:5:3"},{"name":"length","nativeSrc":"3611:6:3","nodeType":"YulIdentifier","src":"3611:6:3"}],"functionName":{"name":"mstore","nativeSrc":"3597:6:3","nodeType":"YulIdentifier","src":"3597:6:3"},"nativeSrc":"3597:21:3","nodeType":"YulFunctionCall","src":"3597:21:3"},"nativeSrc":"3597:21:3","nodeType":"YulExpressionStatement","src":"3597:21:3"},{"nativeSrc":"3627:23:3","nodeType":"YulAssignment","src":"3627:23:3","value":{"arguments":[{"name":"array","nativeSrc":"3638:5:3","nodeType":"YulIdentifier","src":"3638:5:3"},{"kind":"number","nativeSrc":"3645:4:3","nodeType":"YulLiteral","src":"3645:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3634:3:3","nodeType":"YulIdentifier","src":"3634:3:3"},"nativeSrc":"3634:16:3","nodeType":"YulFunctionCall","src":"3634:16:3"},"variableNames":[{"name":"dst","nativeSrc":"3627:3:3","nodeType":"YulIdentifier","src":"3627:3:3"}]},{"nativeSrc":"3660:44:3","nodeType":"YulVariableDeclaration","src":"3660:44:3","value":{"arguments":[{"name":"offset","nativeSrc":"3678:6:3","nodeType":"YulIdentifier","src":"3678:6:3"},{"arguments":[{"name":"length","nativeSrc":"3690:6:3","nodeType":"YulIdentifier","src":"3690:6:3"},{"kind":"number","nativeSrc":"3698:4:3","nodeType":"YulLiteral","src":"3698:4:3","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"3686:3:3","nodeType":"YulIdentifier","src":"3686:3:3"},"nativeSrc":"3686:17:3","nodeType":"YulFunctionCall","src":"3686:17:3"}],"functionName":{"name":"add","nativeSrc":"3674:3:3","nodeType":"YulIdentifier","src":"3674:3:3"},"nativeSrc":"3674:30:3","nodeType":"YulFunctionCall","src":"3674:30:3"},"variables":[{"name":"srcEnd","nativeSrc":"3664:6:3","nodeType":"YulTypedName","src":"3664:6:3","type":""}]},{"body":{"nativeSrc":"3732:103:3","nodeType":"YulBlock","src":"3732:103:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"3746:77:3","nodeType":"YulIdentifier","src":"3746:77:3"},"nativeSrc":"3746:79:3","nodeType":"YulFunctionCall","src":"3746:79:3"},"nativeSrc":"3746:79:3","nodeType":"YulExpressionStatement","src":"3746:79:3"}]},"condition":{"arguments":[{"name":"srcEnd","nativeSrc":"3719:6:3","nodeType":"YulIdentifier","src":"3719:6:3"},{"name":"end","nativeSrc":"3727:3:3","nodeType":"YulIdentifier","src":"3727:3:3"}],"functionName":{"name":"gt","nativeSrc":"3716:2:3","nodeType":"YulIdentifier","src":"3716:2:3"},"nativeSrc":"3716:15:3","nodeType":"YulFunctionCall","src":"3716:15:3"},"nativeSrc":"3713:122:3","nodeType":"YulIf","src":"3713:122:3"},{"body":{"nativeSrc":"3920:144:3","nodeType":"YulBlock","src":"3920:144:3","statements":[{"nativeSrc":"3935:21:3","nodeType":"YulVariableDeclaration","src":"3935:21:3","value":{"name":"src","nativeSrc":"3953:3:3","nodeType":"YulIdentifier","src":"3953:3:3"},"variables":[{"name":"elementPos","nativeSrc":"3939:10:3","nodeType":"YulTypedName","src":"3939:10:3","type":""}]},{"expression":{"arguments":[{"name":"dst","nativeSrc":"3977:3:3","nodeType":"YulIdentifier","src":"3977:3:3"},{"arguments":[{"name":"elementPos","nativeSrc":"4003:10:3","nodeType":"YulIdentifier","src":"4003:10:3"},{"name":"end","nativeSrc":"4015:3:3","nodeType":"YulIdentifier","src":"4015:3:3"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"3982:20:3","nodeType":"YulIdentifier","src":"3982:20:3"},"nativeSrc":"3982:37:3","nodeType":"YulFunctionCall","src":"3982:37:3"}],"functionName":{"name":"mstore","nativeSrc":"3970:6:3","nodeType":"YulIdentifier","src":"3970:6:3"},"nativeSrc":"3970:50:3","nodeType":"YulFunctionCall","src":"3970:50:3"},"nativeSrc":"3970:50:3","nodeType":"YulExpressionStatement","src":"3970:50:3"},{"nativeSrc":"4033:21:3","nodeType":"YulAssignment","src":"4033:21:3","value":{"arguments":[{"name":"dst","nativeSrc":"4044:3:3","nodeType":"YulIdentifier","src":"4044:3:3"},{"kind":"number","nativeSrc":"4049:4:3","nodeType":"YulLiteral","src":"4049:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4040:3:3","nodeType":"YulIdentifier","src":"4040:3:3"},"nativeSrc":"4040:14:3","nodeType":"YulFunctionCall","src":"4040:14:3"},"variableNames":[{"name":"dst","nativeSrc":"4033:3:3","nodeType":"YulIdentifier","src":"4033:3:3"}]}]},"condition":{"arguments":[{"name":"src","nativeSrc":"3873:3:3","nodeType":"YulIdentifier","src":"3873:3:3"},{"name":"srcEnd","nativeSrc":"3878:6:3","nodeType":"YulIdentifier","src":"3878:6:3"}],"functionName":{"name":"lt","nativeSrc":"3870:2:3","nodeType":"YulIdentifier","src":"3870:2:3"},"nativeSrc":"3870:15:3","nodeType":"YulFunctionCall","src":"3870:15:3"},"nativeSrc":"3844:220:3","nodeType":"YulForLoop","post":{"nativeSrc":"3886:25:3","nodeType":"YulBlock","src":"3886:25:3","statements":[{"nativeSrc":"3888:21:3","nodeType":"YulAssignment","src":"3888:21:3","value":{"arguments":[{"name":"src","nativeSrc":"3899:3:3","nodeType":"YulIdentifier","src":"3899:3:3"},{"kind":"number","nativeSrc":"3904:4:3","nodeType":"YulLiteral","src":"3904:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3895:3:3","nodeType":"YulIdentifier","src":"3895:3:3"},"nativeSrc":"3895:14:3","nodeType":"YulFunctionCall","src":"3895:14:3"},"variableNames":[{"name":"src","nativeSrc":"3888:3:3","nodeType":"YulIdentifier","src":"3888:3:3"}]}]},"pre":{"nativeSrc":"3848:21:3","nodeType":"YulBlock","src":"3848:21:3","statements":[{"nativeSrc":"3850:17:3","nodeType":"YulVariableDeclaration","src":"3850:17:3","value":{"name":"offset","nativeSrc":"3861:6:3","nodeType":"YulIdentifier","src":"3861:6:3"},"variables":[{"name":"src","nativeSrc":"3854:3:3","nodeType":"YulTypedName","src":"3854:3:3","type":""}]}]},"src":"3844:220:3"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3360:710:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3432:6:3","nodeType":"YulTypedName","src":"3432:6:3","type":""},{"name":"length","nativeSrc":"3440:6:3","nodeType":"YulTypedName","src":"3440:6:3","type":""},{"name":"end","nativeSrc":"3448:3:3","nodeType":"YulTypedName","src":"3448:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"3456:5:3","nodeType":"YulTypedName","src":"3456:5:3","type":""}],"src":"3360:710:3"},{"body":{"nativeSrc":"4170:293:3","nodeType":"YulBlock","src":"4170:293:3","statements":[{"body":{"nativeSrc":"4219:83:3","nodeType":"YulBlock","src":"4219:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"4221:77:3","nodeType":"YulIdentifier","src":"4221:77:3"},"nativeSrc":"4221:79:3","nodeType":"YulFunctionCall","src":"4221:79:3"},"nativeSrc":"4221:79:3","nodeType":"YulExpressionStatement","src":"4221:79:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4198:6:3","nodeType":"YulIdentifier","src":"4198:6:3"},{"kind":"number","nativeSrc":"4206:4:3","nodeType":"YulLiteral","src":"4206:4:3","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"4194:3:3","nodeType":"YulIdentifier","src":"4194:3:3"},"nativeSrc":"4194:17:3","nodeType":"YulFunctionCall","src":"4194:17:3"},{"name":"end","nativeSrc":"4213:3:3","nodeType":"YulIdentifier","src":"4213:3:3"}],"functionName":{"name":"slt","nativeSrc":"4190:3:3","nodeType":"YulIdentifier","src":"4190:3:3"},"nativeSrc":"4190:27:3","nodeType":"YulFunctionCall","src":"4190:27:3"}],"functionName":{"name":"iszero","nativeSrc":"4183:6:3","nodeType":"YulIdentifier","src":"4183:6:3"},"nativeSrc":"4183:35:3","nodeType":"YulFunctionCall","src":"4183:35:3"},"nativeSrc":"4180:122:3","nodeType":"YulIf","src":"4180:122:3"},{"nativeSrc":"4311:34:3","nodeType":"YulVariableDeclaration","src":"4311:34:3","value":{"arguments":[{"name":"offset","nativeSrc":"4338:6:3","nodeType":"YulIdentifier","src":"4338:6:3"}],"functionName":{"name":"calldataload","nativeSrc":"4325:12:3","nodeType":"YulIdentifier","src":"4325:12:3"},"nativeSrc":"4325:20:3","nodeType":"YulFunctionCall","src":"4325:20:3"},"variables":[{"name":"length","nativeSrc":"4315:6:3","nodeType":"YulTypedName","src":"4315:6:3","type":""}]},{"nativeSrc":"4354:103:3","nodeType":"YulAssignment","src":"4354:103:3","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4430:6:3","nodeType":"YulIdentifier","src":"4430:6:3"},{"kind":"number","nativeSrc":"4438:4:3","nodeType":"YulLiteral","src":"4438:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4426:3:3","nodeType":"YulIdentifier","src":"4426:3:3"},"nativeSrc":"4426:17:3","nodeType":"YulFunctionCall","src":"4426:17:3"},{"name":"length","nativeSrc":"4445:6:3","nodeType":"YulIdentifier","src":"4445:6:3"},{"name":"end","nativeSrc":"4453:3:3","nodeType":"YulIdentifier","src":"4453:3:3"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4363:62:3","nodeType":"YulIdentifier","src":"4363:62:3"},"nativeSrc":"4363:94:3","nodeType":"YulFunctionCall","src":"4363:94:3"},"variableNames":[{"name":"array","nativeSrc":"4354:5:3","nodeType":"YulIdentifier","src":"4354:5:3"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4093:370:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"4148:6:3","nodeType":"YulTypedName","src":"4148:6:3","type":""},{"name":"end","nativeSrc":"4156:3:3","nodeType":"YulTypedName","src":"4156:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"4164:5:3","nodeType":"YulTypedName","src":"4164:5:3","type":""}],"src":"4093:370:3"},{"body":{"nativeSrc":"4586:745:3","nodeType":"YulBlock","src":"4586:745:3","statements":[{"body":{"nativeSrc":"4632:83:3","nodeType":"YulBlock","src":"4632:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"4634:77:3","nodeType":"YulIdentifier","src":"4634:77:3"},"nativeSrc":"4634:79:3","nodeType":"YulFunctionCall","src":"4634:79:3"},"nativeSrc":"4634:79:3","nodeType":"YulExpressionStatement","src":"4634:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"4607:7:3","nodeType":"YulIdentifier","src":"4607:7:3"},{"name":"headStart","nativeSrc":"4616:9:3","nodeType":"YulIdentifier","src":"4616:9:3"}],"functionName":{"name":"sub","nativeSrc":"4603:3:3","nodeType":"YulIdentifier","src":"4603:3:3"},"nativeSrc":"4603:23:3","nodeType":"YulFunctionCall","src":"4603:23:3"},{"kind":"number","nativeSrc":"4628:2:3","nodeType":"YulLiteral","src":"4628:2:3","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"4599:3:3","nodeType":"YulIdentifier","src":"4599:3:3"},"nativeSrc":"4599:32:3","nodeType":"YulFunctionCall","src":"4599:32:3"},"nativeSrc":"4596:119:3","nodeType":"YulIf","src":"4596:119:3"},{"nativeSrc":"4725:286:3","nodeType":"YulBlock","src":"4725:286:3","statements":[{"nativeSrc":"4740:45:3","nodeType":"YulVariableDeclaration","src":"4740:45:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4771:9:3","nodeType":"YulIdentifier","src":"4771:9:3"},{"kind":"number","nativeSrc":"4782:1:3","nodeType":"YulLiteral","src":"4782:1:3","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"4767:3:3","nodeType":"YulIdentifier","src":"4767:3:3"},"nativeSrc":"4767:17:3","nodeType":"YulFunctionCall","src":"4767:17:3"}],"functionName":{"name":"calldataload","nativeSrc":"4754:12:3","nodeType":"YulIdentifier","src":"4754:12:3"},"nativeSrc":"4754:31:3","nodeType":"YulFunctionCall","src":"4754:31:3"},"variables":[{"name":"offset","nativeSrc":"4744:6:3","nodeType":"YulTypedName","src":"4744:6:3","type":""}]},{"body":{"nativeSrc":"4832:83:3","nodeType":"YulBlock","src":"4832:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"4834:77:3","nodeType":"YulIdentifier","src":"4834:77:3"},"nativeSrc":"4834:79:3","nodeType":"YulFunctionCall","src":"4834:79:3"},"nativeSrc":"4834:79:3","nodeType":"YulExpressionStatement","src":"4834:79:3"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"4804:6:3","nodeType":"YulIdentifier","src":"4804:6:3"},{"kind":"number","nativeSrc":"4812:18:3","nodeType":"YulLiteral","src":"4812:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"4801:2:3","nodeType":"YulIdentifier","src":"4801:2:3"},"nativeSrc":"4801:30:3","nodeType":"YulFunctionCall","src":"4801:30:3"},"nativeSrc":"4798:117:3","nodeType":"YulIf","src":"4798:117:3"},{"nativeSrc":"4929:72:3","nodeType":"YulAssignment","src":"4929:72:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4973:9:3","nodeType":"YulIdentifier","src":"4973:9:3"},{"name":"offset","nativeSrc":"4984:6:3","nodeType":"YulIdentifier","src":"4984:6:3"}],"functionName":{"name":"add","nativeSrc":"4969:3:3","nodeType":"YulIdentifier","src":"4969:3:3"},"nativeSrc":"4969:22:3","nodeType":"YulFunctionCall","src":"4969:22:3"},{"name":"dataEnd","nativeSrc":"4993:7:3","nodeType":"YulIdentifier","src":"4993:7:3"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"4939:29:3","nodeType":"YulIdentifier","src":"4939:29:3"},"nativeSrc":"4939:62:3","nodeType":"YulFunctionCall","src":"4939:62:3"},"variableNames":[{"name":"value0","nativeSrc":"4929:6:3","nodeType":"YulIdentifier","src":"4929:6:3"}]}]},{"nativeSrc":"5021:303:3","nodeType":"YulBlock","src":"5021:303:3","statements":[{"nativeSrc":"5036:46:3","nodeType":"YulVariableDeclaration","src":"5036:46:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5067:9:3","nodeType":"YulIdentifier","src":"5067:9:3"},{"kind":"number","nativeSrc":"5078:2:3","nodeType":"YulLiteral","src":"5078:2:3","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5063:3:3","nodeType":"YulIdentifier","src":"5063:3:3"},"nativeSrc":"5063:18:3","nodeType":"YulFunctionCall","src":"5063:18:3"}],"functionName":{"name":"calldataload","nativeSrc":"5050:12:3","nodeType":"YulIdentifier","src":"5050:12:3"},"nativeSrc":"5050:32:3","nodeType":"YulFunctionCall","src":"5050:32:3"},"variables":[{"name":"offset","nativeSrc":"5040:6:3","nodeType":"YulTypedName","src":"5040:6:3","type":""}]},{"body":{"nativeSrc":"5129:83:3","nodeType":"YulBlock","src":"5129:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"5131:77:3","nodeType":"YulIdentifier","src":"5131:77:3"},"nativeSrc":"5131:79:3","nodeType":"YulFunctionCall","src":"5131:79:3"},"nativeSrc":"5131:79:3","nodeType":"YulExpressionStatement","src":"5131:79:3"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"5101:6:3","nodeType":"YulIdentifier","src":"5101:6:3"},{"kind":"number","nativeSrc":"5109:18:3","nodeType":"YulLiteral","src":"5109:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"5098:2:3","nodeType":"YulIdentifier","src":"5098:2:3"},"nativeSrc":"5098:30:3","nodeType":"YulFunctionCall","src":"5098:30:3"},"nativeSrc":"5095:117:3","nodeType":"YulIf","src":"5095:117:3"},{"nativeSrc":"5226:88:3","nodeType":"YulAssignment","src":"5226:88:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5286:9:3","nodeType":"YulIdentifier","src":"5286:9:3"},{"name":"offset","nativeSrc":"5297:6:3","nodeType":"YulIdentifier","src":"5297:6:3"}],"functionName":{"name":"add","nativeSrc":"5282:3:3","nodeType":"YulIdentifier","src":"5282:3:3"},"nativeSrc":"5282:22:3","nodeType":"YulFunctionCall","src":"5282:22:3"},{"name":"dataEnd","nativeSrc":"5306:7:3","nodeType":"YulIdentifier","src":"5306:7:3"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"5236:45:3","nodeType":"YulIdentifier","src":"5236:45:3"},"nativeSrc":"5236:78:3","nodeType":"YulFunctionCall","src":"5236:78:3"},"variableNames":[{"name":"value1","nativeSrc":"5226:6:3","nodeType":"YulIdentifier","src":"5226:6:3"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4469:862:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4548:9:3","nodeType":"YulTypedName","src":"4548:9:3","type":""},{"name":"dataEnd","nativeSrc":"4559:7:3","nodeType":"YulTypedName","src":"4559:7:3","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"4571:6:3","nodeType":"YulTypedName","src":"4571:6:3","type":""},{"name":"value1","nativeSrc":"4579:6:3","nodeType":"YulTypedName","src":"4579:6:3","type":""}],"src":"4469:862:3"},{"body":{"nativeSrc":"5379:48:3","nodeType":"YulBlock","src":"5379:48:3","statements":[{"nativeSrc":"5389:32:3","nodeType":"YulAssignment","src":"5389:32:3","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5414:5:3","nodeType":"YulIdentifier","src":"5414:5:3"}],"functionName":{"name":"iszero","nativeSrc":"5407:6:3","nodeType":"YulIdentifier","src":"5407:6:3"},"nativeSrc":"5407:13:3","nodeType":"YulFunctionCall","src":"5407:13:3"}],"functionName":{"name":"iszero","nativeSrc":"5400:6:3","nodeType":"YulIdentifier","src":"5400:6:3"},"nativeSrc":"5400:21:3","nodeType":"YulFunctionCall","src":"5400:21:3"},"variableNames":[{"name":"cleaned","nativeSrc":"5389:7:3","nodeType":"YulIdentifier","src":"5389:7:3"}]}]},"name":"cleanup_t_bool","nativeSrc":"5337:90:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5361:5:3","nodeType":"YulTypedName","src":"5361:5:3","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"5371:7:3","nodeType":"YulTypedName","src":"5371:7:3","type":""}],"src":"5337:90:3"},{"body":{"nativeSrc":"5492:50:3","nodeType":"YulBlock","src":"5492:50:3","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"5509:3:3","nodeType":"YulIdentifier","src":"5509:3:3"},{"arguments":[{"name":"value","nativeSrc":"5529:5:3","nodeType":"YulIdentifier","src":"5529:5:3"}],"functionName":{"name":"cleanup_t_bool","nativeSrc":"5514:14:3","nodeType":"YulIdentifier","src":"5514:14:3"},"nativeSrc":"5514:21:3","nodeType":"YulFunctionCall","src":"5514:21:3"}],"functionName":{"name":"mstore","nativeSrc":"5502:6:3","nodeType":"YulIdentifier","src":"5502:6:3"},"nativeSrc":"5502:34:3","nodeType":"YulFunctionCall","src":"5502:34:3"},"nativeSrc":"5502:34:3","nodeType":"YulExpressionStatement","src":"5502:34:3"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5433:109:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5480:5:3","nodeType":"YulTypedName","src":"5480:5:3","type":""},{"name":"pos","nativeSrc":"5487:3:3","nodeType":"YulTypedName","src":"5487:3:3","type":""}],"src":"5433:109:3"},{"body":{"nativeSrc":"5640:118:3","nodeType":"YulBlock","src":"5640:118:3","statements":[{"nativeSrc":"5650:26:3","nodeType":"YulAssignment","src":"5650:26:3","value":{"arguments":[{"name":"headStart","nativeSrc":"5662:9:3","nodeType":"YulIdentifier","src":"5662:9:3"},{"kind":"number","nativeSrc":"5673:2:3","nodeType":"YulLiteral","src":"5673:2:3","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5658:3:3","nodeType":"YulIdentifier","src":"5658:3:3"},"nativeSrc":"5658:18:3","nodeType":"YulFunctionCall","src":"5658:18:3"},"variableNames":[{"name":"tail","nativeSrc":"5650:4:3","nodeType":"YulIdentifier","src":"5650:4:3"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"5724:6:3","nodeType":"YulIdentifier","src":"5724:6:3"},{"arguments":[{"name":"headStart","nativeSrc":"5737:9:3","nodeType":"YulIdentifier","src":"5737:9:3"},{"kind":"number","nativeSrc":"5748:1:3","nodeType":"YulLiteral","src":"5748:1:3","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"5733:3:3","nodeType":"YulIdentifier","src":"5733:3:3"},"nativeSrc":"5733:17:3","nodeType":"YulFunctionCall","src":"5733:17:3"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5686:37:3","nodeType":"YulIdentifier","src":"5686:37:3"},"nativeSrc":"5686:65:3","nodeType":"YulFunctionCall","src":"5686:65:3"},"nativeSrc":"5686:65:3","nodeType":"YulExpressionStatement","src":"5686:65:3"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"5548:210:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5612:9:3","nodeType":"YulTypedName","src":"5612:9:3","type":""},{"name":"value0","nativeSrc":"5624:6:3","nodeType":"YulTypedName","src":"5624:6:3","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5635:4:3","nodeType":"YulTypedName","src":"5635:4:3","type":""}],"src":"5548:210:3"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n","id":3,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f26aee923b0c25e2761ed55d872bdce83e1d95e965ca8ce1d7bf132065ed73bea7f0d97ed9d9f00314c36234ec638665eba9c42b2aeb9472214f2d5a2b22615181d84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220f1a497cd26c4df9d647ccc126914032feed1053e8cb91d6f871b91f05cc43dee64736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDE JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x73AD9CA0A63BF57AAB7471BE06714E14CB129B3BC1957FB205F02A2DFF20144 PUSH32 0xF0D5954BC5550BB6B8A63158299441A292523E20998BD2EEAF6817B9CF74891 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x24B75923EF66B5A38313240BF8701E5289F37FF6E54A5D9696C571CD0D7A6F7B PUSH32 0x13F75F7639B17B60C5DC1561CA51E09122443B14FD9B5198A3200CB73C405E74 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0x26AEE923B0C25E2761ED55D872BDCE83E1D95E965CA8CE1D7BF132065ED73BEA PUSH32 0xD97ED9D9F00314C36234EC638665EBA9C42B2AEB9472214F2D5A2B22615181D DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x24D590624AA64D73288CEF9C5C68DDFBC43C288BFEC0EA23A65E3D519DEB4B45 PUSH32 0x2FE2B7A5E3301EC2548B1B9FA04DAFE8BDB129027D89D2FDA93C32B2AC1D6153 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x2AD72EB4319E5CE1F126C3EE2FB7B07FCACC472B06034BC9B7B00FA5C6DB3DD1 PUSH32 0xBBACFFC38B7A2D2938E833AA0B1BEB2EBE94796EE3EEEAA8CDE99E34B70274E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x244C5FC4BD854EE2B3C1B620E013383A9E6DACA6C0BAB14AECD7101ABA922CB6 PUSH32 0x2281748B89DCD5AEAEE8E7B5573D600632E8B7D13619ECA441E770F4862711FF DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x14CE1F304C015A19FE72CCDD0C7B1AAAE908E4FAA13142D0D8D108E2EFA497FD PUSH32 0x1DDF2AC14509D3ED88C5114E806890A074E2A3CF08BD6B406CD4E0C1256D6A5A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15ED PUSH2 0x160 DUP7 ADD MLOAD PUSH31 0x701C2A27F6E67A591F1CA598C17621B64AD8830430232895CA68FE3DC5854D PUSH32 0xDC88371D3444A7BBC4F3CB292E69421C549C10B86E8982B67D074006094FE08 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AD DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C3 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1847 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A2F DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3A DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A43 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4D DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A57 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A61 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6B DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A74 DUP2 PUSH2 0x184E JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AED DUP3 PUSH2 0x1AA4 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0C JUMPI PUSH2 0x1B0B PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B1F PUSH2 0x1A86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2B DUP3 DUP3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4A PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH2 0x1B54 DUP3 PUSH2 0x1AA4 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B83 PUSH2 0x1B7E DUP5 PUSH2 0x1B30 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B9F JUMPI PUSH2 0x1B9E PUSH2 0x1A9F JUMP JUMPDEST JUMPDEST PUSH2 0x1BAA DUP5 DUP3 DUP6 PUSH2 0x1B61 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC7 JUMPI PUSH2 0x1BC6 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD7 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C24 DUP2 PUSH2 0x1C11 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C41 DUP2 PUSH2 0x1C1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH2 0x1C55 DUP5 PUSH2 0x1BE0 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7D JUMPI PUSH2 0x1C7C PUSH2 0x1C0C JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA6 JUMPI DUP1 PUSH2 0x1C92 DUP9 DUP3 PUSH2 0x1C32 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C7F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC5 JUMPI PUSH2 0x1CC4 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C47 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF5 JUMPI PUSH2 0x1CF4 PUSH2 0x1A90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D13 JUMPI PUSH2 0x1D12 PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D1F DUP6 DUP3 DUP7 ADD PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D40 JUMPI PUSH2 0x1D3F PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4C DUP6 DUP3 DUP7 ADD PUSH2 0x1CB0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6B DUP2 PUSH2 0x1D56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D86 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL LOG4 SWAP8 0xCD 0x26 0xC4 0xDF SWAP14 PUSH5 0x7CCC126914 SUB 0x2F 0xEE 0xD1 SDIV RETURNDATACOPY DUP13 0xB9 SAR PUSH16 0x871B91F05CC43DEE64736F6C63430008 XOR STOP CALLER ","sourceMap":"832:23908:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5187:19551;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;5275:4;5433:724;;;5459:3;5490:1;5525;5552;5587;5605:12;5634:7;5675:334;5683:4;5675:334;;;5734:4;5731:1;5726:13;5714:25;;5788:4;5778:8;5774:19;5771:1;5767:27;5760:34;;5819:4;5815:8;;5851:3;5844:10;;5923:4;5913:8;5909:19;5907:1;5903:26;5896:33;;5955:4;5950:9;;5988:3;5980:11;;5675:334;;;6052:1;6049;6046:8;6043:27;;;6066:1;6064;6057:11;6043:27;6097:1;6094;6090:9;6087:30;;;6113:1;6110;6106:9;6102:13;;6087:30;6142:1;6135:8;;5463:694;;;;;;5433:724;;;;:::o;6399:1517::-;6472:4;6466:11;6544:5;6599:2;6596:1;6592:10;6585:5;6581:22;6656:3;6650:10;6725:2;6720:3;6716:12;6709:19;;6784:7;6830:257;6846:7;6841:3;6838:16;6830:257;;;7011:3;7005:4;6998:17;7067:1;7061:3;7055:10;7050:3;7043:26;7036:33;;6896:2;6890:4;6886:13;6878:21;;6937:2;6932:3;6928:12;6921:19;;6830:257;;;7111:15;7124:1;7119:3;7111:15;:::i;:::-;7104:22;;7288:2;7282:4;7278:13;7270:21;;7401:2;7396:3;7392:12;7385:19;;7432:5;7421:16;;7494:311;7510:7;7505:3;7502:16;7494:311;;;7694:1;7687:4;7681:11;7676:3;7669:27;7662:34;;7748:1;7742:3;7736:10;7731:3;7724:26;7717:33;;7783:3;7778;7771:16;7560:2;7554:4;7550:13;7542:21;;7601:2;7596:3;7592:12;7585:19;;7494:311;;;7898:3;7893;7886:16;6431:1485;;;;;6399:1517;;:::o;7942:162::-;7999:1;7996;7993:8;7983:107;;8035:1;8032;8025:12;8067:4;8065:1;8058:14;7983:107;7942:162;:::o;8130:668::-;8204:3;8195:6;8189:13;8186:23;8176:122;;8243:1;8240;8233:12;8275:4;8273:1;8266:14;8176:122;8315:39;8344:7;8336:6;8332:20;8326:27;8315:39;:::i;:::-;8371;8400:7;8392:6;8388:20;8382:27;8371:39;:::i;:::-;8427;8456:7;8448:6;8444:20;8438:27;8427:39;:::i;:::-;8483:40;8512:8;8504:6;8500:21;8494:28;8483:40;:::i;:::-;8540;8569:8;8561:6;8557:21;8551:28;8540:40;:::i;:::-;8597;8626:8;8618:6;8614:21;8608:28;8597:40;:::i;:::-;8654:39;8683:7;8675:6;8671:20;8665:27;8654:39;:::i;:::-;8130:668;:::o;8824:2828::-;8907:5;8929;9015:2;9006:7;9001:17;8994:25;8987:3;8981:4;8977:15;8969:51;9099:2;9091:6;9086:16;9079:24;9072:3;9066:4;9062:15;9054:50;9173:2;9170;9166:10;9158:6;9153:24;9146:32;9139:3;9133:4;9129:15;9121:58;9248:2;9245;9241:10;9233:6;9228:24;9221:32;9214:3;9208:4;9204:15;9196:58;9323:2;9320;9316:10;9308:6;9303:24;9296:32;9289:3;9283:4;9279:15;9271:58;9398:3;9395:2;9391:11;9383:6;9378:25;9371:33;9364:3;9358:4;9354:15;9346:59;9474:3;9471:2;9467:11;9459:6;9454:25;9447:33;9440:3;9434:4;9430:15;9422:59;9560:1;9554:3;9544:7;9538:4;9534:18;9524:34;9520:42;9515:47;;9606:1;9598:5;9592:4;9588:16;9580:28;9689:1;9684:2;9676:5;9670:4;9666:16;9656:31;9652:39;9643:6;9637:4;9633:17;9625:67;9772:1;9767:2;9762;9754:6;9750:15;9740:30;9736:38;9727:6;9721:4;9717:17;9709:66;9852:1;9846:3;9840;9832:6;9828:16;9818:32;9814:40;9809:45;;9895:1;9889:3;9883:4;9879:14;9871:26;9955:1;9952;9949;9942:15;9932:7;9926:4;9922:18;9914:44;10009:1;10006;10003;9996:15;9992:19;;10062:1;10059;10056;10049:15;10045:19;;10115:1;10112;10109;10102:15;10098:19;;10168:1;10165;10162;10155:15;10151:19;;10221:1;10218;10215;10208:15;10204:19;;10274:1;10271;10268;10261:15;10257:19;;10327:1;10324;10321;10314:15;10310:19;;10380:1;10377;10374;10367:15;10363:19;;10433:1;10430;10427;10420:15;10416:19;;10486:1;10483;10480;10473:15;10469:19;;10539:1;10536;10533;10526:15;10522:19;;10592:1;10589;10586;10579:15;10575:19;;10645:1;10642;10639;10632:15;10628:19;;10698:1;10695;10692;10685:15;10681:19;;10751:1;10748;10745;10738:15;10734:19;;10812:1;10805:4;10799;10795:15;10787:27;10857:1;10853;10850;10847;10843:9;10839:16;10835:24;10831:28;;10900:1;10894:3;10888:4;10884:14;10876:26;10946:1;10937:6;10931:4;10927:17;10919:29;11087:1;11081:3;11071:7;11063:6;11059:20;11049:36;11045:44;11130:2;11124:3;11118:4;11114:14;11106:27;11170:1;11166:2;11162;11155:17;11150:22;;11213:1;11207:3;11201:4;11197:14;11189:26;11251:1;11247:2;11244:1;11237:16;11232:21;;11294:1;11288:3;11282:4;11278:14;11270:26;11332:1;11328:2;11325:1;11318:16;11313:21;;11375:1;11369:3;11363:4;11359:14;11351:26;11413:1;11409:2;11406:1;11399:16;11394:21;;11456:1;11450:3;11444:4;11440:14;11432:26;11494:1;11490:2;11487:1;11480:16;11475:21;;11537:1;11531:3;11525:4;11521:14;11513:26;11635:1;11629:3;11622:4;11614:6;11610:17;11600:33;11596:41;11591:2;11585:4;11581:13;11573:65;8876:2776;;;8824:2828;;;:::o;11678:1173::-;11739:1;12276;12222;12161;12091;12047:3;12041:4;12037:14;12031:21;11990:136;11953:239;11920:329;11892:1;11860:439;11828:8;11822:4;11818:19;11790:527;12385:35;12417:1;12408:6;12402:4;12398:17;12385:35;:::i;:::-;12480:3;12474:4;12470:14;12464:21;12507:1;12502:6;;12743:1;12715:2;12678:8;12672:4;12668:20;12662:27;12630:136;12597:8;12591:4;12587:20;12559:225;11711:1140;;11678:1173;:::o;12877:651::-;12938:1;13400;13355;13272;13234:2;13228:4;13224:13;13218:20;13174:8;13168:4;13164:19;13158:26;13118:185;13084:2;13051:278;13022:356;12997:422;12991:428;;13493:2;13487:3;13481:4;13477:14;13470:26;12910:618;12877:651;;:::o;13542:2196::-;13594:5;13616:6;13639;13789:1;13761:3;13755:4;13751:14;13745:21;13713:7;13705:6;13701:20;13695:27;13667:141;13662:146;;13971:1;13942:5;13936:4;13932:16;13926:23;13894:8;13886:6;13882:21;13876:28;13848:142;13842:148;;14115:1;14084:7;14076:6;14072:20;14066:27;14042:2;14014:120;14008:126;;14272:1;14242:6;14236:4;14232:17;14226:24;14202:2;14174:117;14168:123;;14438:1;14409:5;14403:4;14399:16;14393:23;14361:8;14353:6;14349:21;14343:28;14315:142;14309:148;;14582:1;14551:7;14543:6;14539:20;14533:27;14509:2;14481:120;14475:126;;14739:1;14709:6;14703:4;14699:17;14693:24;14669:2;14641:117;14635:123;;14813:1;14809:2;14805;14798:17;14792:23;;14978:1;14948:6;14942:4;14938:17;14932:24;14901:7;14893:6;14889:20;14883:27;14855:142;14849:148;;15036:1;15032:2;15028;15021:17;15015:23;;15102:1;15090:8;15082:6;15078:21;15072:28;15068:2;15061:43;15055:49;;15164:1;15154:6;15148:4;15144:17;15138:24;15134:2;15127:39;15121:45;;15330:1;15299:6;15293:4;15289:17;15283:24;15250:8;15244:4;15240:19;15234:26;15206:143;15200:149;;15473:1;15442:6;15436:4;15432:17;15426:24;15401:2;15373:119;15367:125;;15531:1;15527:2;15523;15516:17;15510:23;;15596:1;15591:2;15587:1;15584;15580:9;15576:18;15572:26;15567:31;;15656:1;15646:6;15640:4;15636:17;15630:24;15627:1;15620:38;15615:43;;15721:1;15710:7;15704:4;15700:18;15692:31;13576:2162;;;13542:2196;;:::o;15764:132::-;15823:2;15817:9;15813:2;15806:21;15877:2;15874;15870:10;15864:17;15859:2;15855;15851:11;15844:38;15764:132;;:::o;15910:498::-;15969:4;15963:11;16009:2;16003:9;15998:3;15991:22;16064:2;16060;16056:11;16050:18;16045:2;16041:3;16037:11;16030:39;16112:2;16106:9;16101:2;16097:3;16093:11;16086:30;16167:2;16163;16159:11;16153:18;16148:2;16144:3;16140:11;16133:39;16251:2;16247;16242:3;16237;16234:1;16227:4;16220:5;16216:16;16205:49;16298:7;16288:106;;16339:1;16336;16329:12;16371:4;16369:1;16362:14;16288:106;15934:474;;15910:498;;:::o;16422:819::-;16470:11;16515:4;16509:11;16555:2;16549:9;16544:3;16537:22;16610:2;16606;16602:11;16596:18;16591:2;16587:3;16583:11;16576:39;16652:1;16647:2;16643:3;16639:11;16632:22;16729:2;16724:3;16720:2;16715:3;16712:1;16705:4;16698:5;16694:16;16683:49;16672:60;;16776:7;16766:106;;16817:1;16814;16807:12;16849:4;16847:1;16840:14;16766:106;16932:2;16926:9;16921:2;16917:3;16913:11;16906:30;16987:2;16983;16979:11;16973:18;16968:2;16964:3;16960:11;16953:39;17067:2;17063;17058:3;17053;17050:1;17043:4;17036:5;17032:16;17021:49;17010:60;;17114:7;17104:106;;17155:1;17152;17145:12;17187:4;17185:1;17178:14;17104:106;16452:789;;16422:819;;;:::o;17255:780::-;17306:11;17351:4;17345:11;17385:1;17380:3;17373:14;17424:1;17419:2;17415:3;17411:11;17404:22;17463:1;17458:2;17454:3;17450:11;17443:22;17540:2;17535:3;17531:2;17526:3;17523:1;17516:4;17509:5;17505:16;17494:49;17483:60;;17587:7;17577:106;;17628:1;17625;17618:12;17660:4;17658:1;17651:14;17577:106;17743:2;17737:9;17732:2;17728:3;17724:11;17717:30;17798:2;17794;17790:11;17784:18;17779:2;17775:3;17771:11;17764:39;17878:2;17874;17869:3;17864;17861:1;17854:4;17847:5;17843:16;17832:49;17821:60;;17925:7;17915:106;;17966:1;17963;17956:12;17998:4;17996:1;17989:14;17915:106;17288:747;;17255:780;;;;:::o;18049:441::-;18100:11;18145:4;18139:11;18179:1;18174:3;18167:14;18218:1;18213:2;18209:3;18205:11;18198:22;18257:1;18252:2;18248:3;18244:11;18237:22;18333:2;18329;18325;18320:3;18317:1;18310:4;18303:5;18299:16;18288:48;18277:59;;18380:7;18370:106;;18421:1;18418;18411:12;18453:4;18451:1;18444:14;18370:106;18082:408;;18049:441;;;;:::o;18505:206::-;18577:3;18571:4;18567:14;18598:28;18620:4;18612:6;18608:17;18605:1;18598:28;:::i;:::-;18643:54;18692:2;18686:4;18682:13;18676:20;18668:5;18660:6;18656:18;18653:1;18643:54;:::i;:::-;18540:171;18505:206;;:::o;18750:4478::-;18803:5;18825:6;18867:3;18861:4;18857:14;19001:1;18994:3;18988:4;18984:14;18978:21;18967:7;18959:6;18955:20;18949:27;18941:62;18936:67;;19020:26;19044:1;19039:3;19034;19031:1;19020:26;:::i;:::-;19109:1;19098:7;19090:6;19086:20;19080:27;19077:1;19069:42;19064:47;;19144:26;19168:1;19163:3;19158;19155:1;19144:26;:::i;:::-;19253:1;19246:3;19240:4;19236:14;19230:21;19219:7;19211:6;19207:20;19201:27;19193:62;19188:67;;19272:26;19296:1;19291:3;19286;19283:1;19272:26;:::i;:::-;19397:1;19390:3;19384:4;19380:14;19374:21;19363:7;19355:6;19351:20;19345:27;19337:62;19332:67;;19416:26;19440:1;19435:3;19430;19427:1;19416:26;:::i;:::-;19480:3;19474:4;19470:14;19464:21;19460:25;;19502:26;19526:1;19521:3;19516;19513:1;19502:26;:::i;:::-;19614:1;19603:7;19597:4;19593:18;19587:25;19576:7;19568:6;19564:20;19558:27;19551:65;19546:70;;19674:1;19664:6;19658:4;19654:17;19648:24;19645:1;19638:38;19633:43;;19737:1;19726:7;19720:4;19716:18;19710:25;19706:2;19699:40;19693:46;;19802:1;19791:7;19783:6;19779:20;19773:27;19769:2;19762:42;19756:48;;19864:1;19854:6;19848:4;19844:17;19838:24;19834:2;19827:39;19821:45;;19902:1;19898:2;19895:1;19888:16;19883:21;;19965:1;19954:7;19948:4;19944:18;19938:25;19934:2;19927:40;19921:46;;20030:1;20019:7;20011:6;20007:20;20001:27;19997:2;19990:42;19984:48;;20092:1;20082:6;20076:4;20072:17;20066:24;20062:2;20055:39;20049:45;;20130:1;20126:2;20123:1;20116:16;20111:21;;20190:1;20180:6;20174:4;20170:17;20164:24;20161:1;20154:38;20149:43;;20247:1;20240:3;20234:4;20230:14;20224:21;20221:1;20214:35;20209:40;;20333:1;20323:6;20317:4;20313:17;20307:24;20295:8;20289:4;20285:19;20279:26;20272:63;20266:69;;20395:1;20385:6;20379:4;20375:17;20369:24;20365:2;20358:39;20352:45;;20454:1;20447:3;20441:4;20437:14;20431:21;20427:2;20420:36;20414:42;;20492:1;20488:2;20485:1;20478:16;20473:21;;20548:1;20542:2;20536:4;20532:13;20526:20;20523:1;20516:34;20511:39;;20567:32;20597:1;20592:2;20584:6;20580:15;20577:1;20567:32;:::i;:::-;20700:1;20688:8;20680:6;20676:21;20670:28;20661:5;20655:4;20651:16;20645:23;20638:64;20633:69;;20763:1;20752:7;20744:6;20740:20;20734:27;20731:1;20724:41;20719:46;;20823:1;20813:6;20807:4;20803:17;20797:24;20794:1;20787:38;20782:43;;20910:1;20898:8;20890:6;20886:21;20880:28;20871:5;20865:4;20861:16;20855:23;20848:64;20842:70;;20975:1;20964:7;20956:6;20952:20;20946:27;20942:2;20935:42;20929:48;;21037:1;21027:6;21021:4;21017:17;21011:24;21007:2;21000:39;20994:45;;21075:1;21071:2;21068:1;21061:16;21056:21;;21135:1;21125:6;21119:4;21115:17;21109:24;21106:1;21099:38;21094:43;;21192:1;21185:3;21179:4;21175:14;21169:21;21166:1;21159:35;21154:40;;21251:1;21242:5;21236:4;21232:16;21226:23;21223:1;21216:37;21211:42;;21315:1;21303:8;21295:6;21291:21;21285:28;21282:1;21275:42;21270:47;;21354:1;21350;21347;21343:9;21339:17;21334:22;;21373:26;21397:1;21392:3;21387;21384:1;21373:26;:::i;:::-;21449:28;21472:3;21464:6;21460:16;21456:1;21449:28;:::i;:::-;21516:4;21510;21506:15;21500:22;21495:27;;21539:33;21570:1;21564:3;21556:6;21552:16;21549:1;21539:33;:::i;:::-;21624:1;21621;21618;21611:15;21606:20;;21643:33;21674:1;21668:3;21660:6;21656:16;21653:1;21643:33;:::i;:::-;21710:52;21756:3;21750:4;21746:14;21740:21;21735:2;21727:6;21723:15;21720:1;21710:52;:::i;:::-;21779;21825:3;21819:4;21815:14;21809:21;21804:2;21796:6;21792:15;21789:1;21779:52;:::i;:::-;21848;21894:3;21888:4;21884:14;21878:21;21873:2;21865:6;21861:15;21858:1;21848:52;:::i;:::-;21917:46;21957:3;21951:4;21947:14;21941:21;21936:3;21931;21928:1;21917:46;:::i;:::-;21980;22020:3;22014:4;22010:14;22004:21;21999:3;21994;21991:1;21980:46;:::i;:::-;22112:7;22106:4;22102:18;22096:25;22091:30;;22216:1;22212;22205:3;22199:4;22195:14;22189:21;22178:7;22170:6;22166:20;22160:27;22153:61;22150:1;22143:75;22138:80;;22313:1;22309;22302:3;22296:4;22292:14;22286:21;22275:7;22267:6;22263:20;22257:27;22250:61;22247:1;22240:75;22235:80;;22410:1;22406;22399:3;22393:4;22389:14;22383:21;22372:7;22364:6;22360:20;22354:27;22347:61;22344:1;22337:75;22332:80;;22507:1;22503;22496:3;22490:4;22486:14;22480:21;22469:7;22461:6;22457:20;22451:27;22444:61;22441:1;22434:75;22429:80;;22605:1;22601;22594:3;22588:4;22584:14;22578:21;22566:8;22558:6;22554:21;22548:28;22541:62;22538:1;22531:76;22526:81;;22703:1;22699;22692:3;22686:4;22682:14;22676:21;22664:8;22656:6;22652:21;22646:28;22639:62;22636:1;22629:76;22624:81;;22800:1;22796;22790:2;22784:4;22780:13;22774:20;22762:8;22754:6;22750:21;22744:28;22737:61;22734:1;22727:75;22722:80;;22839:1;22835;22832;22828:9;22824:17;22819:22;;22858:26;22882:1;22877:3;22872;22869:1;22858:26;:::i;:::-;22990:3;22984:4;22980:14;22974:21;22969:26;;23012:34;23044:1;23037:4;23029:6;23025:17;23022:1;23012:34;:::i;:::-;23121:1;23114:3;23108:4;23104:14;23098:21;23092:2;23086:4;23082:13;23076:20;23069:54;23064:59;;23159:1;23155:2;23152:1;23145:16;23140:21;;23178:35;23211:1;23203:5;23195:6;23191:18;23188:1;23178:35;:::i;:::-;18785:4443;;;18750:4478;;:::o;23254:915::-;23285:4;23325;23319:11;23375:3;23369:4;23365:14;23359:21;23354:3;23347:34;23444:2;23438:3;23432:4;23428:14;23424:23;23418:30;23413:2;23409:3;23405:11;23398:51;23486:4;23481:2;23477:3;23473:11;23466:25;23528:4;23523:2;23519:3;23515:11;23508:25;23571:4;23565:3;23561;23557:12;23550:26;23614:4;23608:3;23604;23600:12;23593:26;23673:3;23667:4;23663:14;23657:21;23651:3;23647;23643:12;23636:43;23731:2;23725:3;23719:4;23715:14;23711:23;23705:30;23773:2;23769:1;23765:2;23761:10;23757:19;23752:24;;23814:1;23808:3;23804;23800:12;23793:23;23854:4;23848:3;23844;23840:12;23833:26;23897:4;23891:3;23887;23883:12;23876:26;23940:4;23934:3;23930;23926:12;23919:26;23983:4;23977:3;23973;23969:12;23962:26;24084:4;24079:3;24074;24069;24066:1;24059:4;24052:5;24048:16;24037:52;24150:3;24144:10;24135:7;24131:24;24123:32;;23290:879;;;23254:915;;;:::o;:::-;24213:4;24207:11;24254:7;24248:4;24244:18;24238:4;24231:32;24289:17;24300:5;24289:17;:::i;:::-;24319:44;24352:10;24346:4;24339:5;24319:44;:::i;:::-;24376:23;24394:4;24376:23;:::i;:::-;24412:29;24430:10;24424:4;24412:29;:::i;:::-;24454:23;24472:4;24465:5;24454:23;:::i;:::-;24490:24;24509:4;24502:5;24490:24;:::i;:::-;24527;24546:4;24539:5;24527:24;:::i;:::-;24579:18;24592:4;24579:18;:::i;:::-;24646:7;24640:4;24636:18;24630:4;24623:32;24678:7;24675:1;24668:18;24708:4;24706:1;24699:14;7:75:3;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:307::-;1357:4;1447:18;1439:6;1436:30;1433:56;;;1469:18;;:::i;:::-;1433:56;1507:29;1529:6;1507:29;:::i;:::-;1499:37;;1591:4;1585;1581:15;1573:23;;1296:307;;;:::o;1609:146::-;1706:6;1701:3;1696;1683:30;1747:1;1738:6;1733:3;1729:16;1722:27;1609:146;;;:::o;1761:423::-;1838:5;1863:65;1879:48;1920:6;1879:48;:::i;:::-;1863:65;:::i;:::-;1854:74;;1951:6;1944:5;1937:21;1989:4;1982:5;1978:16;2027:3;2018:6;2013:3;2009:16;2006:25;2003:112;;;2034:79;;:::i;:::-;2003:112;2124:54;2171:6;2166:3;2161;2124:54;:::i;:::-;1844:340;1761:423;;;;;:::o;2203:338::-;2258:5;2307:3;2300:4;2292:6;2288:17;2284:27;2274:122;;2315:79;;:::i;:::-;2274:122;2432:6;2419:20;2457:78;2531:3;2523:6;2516:4;2508:6;2504:17;2457:78;:::i;:::-;2448:87;;2264:277;2203:338;;;;:::o;2547:311::-;2624:4;2714:18;2706:6;2703:30;2700:56;;;2736:18;;:::i;:::-;2700:56;2786:4;2778:6;2774:17;2766:25;;2846:4;2840;2836:15;2828:23;;2547:311;;;:::o;2864:117::-;2973:1;2970;2963:12;2987:77;3024:7;3053:5;3042:16;;2987:77;;;:::o;3070:122::-;3143:24;3161:5;3143:24;:::i;:::-;3136:5;3133:35;3123:63;;3182:1;3179;3172:12;3123:63;3070:122;:::o;3198:139::-;3244:5;3282:6;3269:20;3260:29;;3298:33;3325:5;3298:33;:::i;:::-;3198:139;;;;:::o;3360:710::-;3456:5;3481:81;3497:64;3554:6;3497:64;:::i;:::-;3481:81;:::i;:::-;3472:90;;3582:5;3611:6;3604:5;3597:21;3645:4;3638:5;3634:16;3627:23;;3698:4;3690:6;3686:17;3678:6;3674:30;3727:3;3719:6;3716:15;3713:122;;;3746:79;;:::i;:::-;3713:122;3861:6;3844:220;3878:6;3873:3;3870:15;3844:220;;;3953:3;3982:37;4015:3;4003:10;3982:37;:::i;:::-;3977:3;3970:50;4049:4;4044:3;4040:14;4033:21;;3920:144;3904:4;3899:3;3895:14;3888:21;;3844:220;;;3848:21;3462:608;;3360:710;;;;;:::o;4093:370::-;4164:5;4213:3;4206:4;4198:6;4194:17;4190:27;4180:122;;4221:79;;:::i;:::-;4180:122;4338:6;4325:20;4363:94;4453:3;4445:6;4438:4;4430:6;4426:17;4363:94;:::i;:::-;4354:103;;4170:293;4093:370;;;;:::o;4469:862::-;4571:6;4579;4628:2;4616:9;4607:7;4603:23;4599:32;4596:119;;;4634:79;;:::i;:::-;4596:119;4782:1;4771:9;4767:17;4754:31;4812:18;4804:6;4801:30;4798:117;;;4834:79;;:::i;:::-;4798:117;4939:62;4993:7;4984:6;4973:9;4969:22;4939:62;:::i;:::-;4929:72;;4725:286;5078:2;5067:9;5063:18;5050:32;5109:18;5101:6;5098:30;5095:117;;;5131:79;;:::i;:::-;5095:117;5236:78;5306:7;5297:6;5286:9;5282:22;5236:78;:::i;:::-;5226:88;;5021:303;4469:862;;;;;:::o;5337:90::-;5371:7;5414:5;5407:13;5400:21;5389:32;;5337:90;;;:::o;5433:109::-;5514:21;5529:5;5514:21;:::i;:::-;5509:3;5502:34;5433:109;;:::o;5548:210::-;5635:4;5673:2;5662:9;5658:18;5650:26;;5686:65;5748:1;5737:9;5733:17;5724:6;5686:65;:::i;:::-;5548:210;;;;:::o"},"methodIdentifiers":{"verifyProof(bytes,uint256[])":"1e8e1e13"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"pubSignals\",\"type\":\"uint256[]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/workstep2Verifier.sol\":\"Workstep2Verifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/workstep2Verifier.sol\":{\"keccak256\":\"0xc0072027ad70e5448248a107cfe40a1ced460b657e2f9465ff384b2ec0daa6f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4ead35737e5a323fc3e6d0062d079311d638877b41f6b54dbbfc9e6ab45b5e16\",\"dweb:/ipfs/QmSu83qiwuLzKjuh2PhUgz2RjtEzLEuxuxqifS5LvhVNfJ\"]}},\"version\":1}"}},"contracts/workstep3Verifier.sol":{"Workstep3Verifier":{"abi":[{"inputs":[{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"uint256[]","name":"pubSignals","type":"uint256[]"}],"name":"verifyProof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50611dc2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f0ce90799f564b37f9a7c19587ad4234c46f6afad9f4b1fb9277bed47dd9b6a117f2becb27157d1ea8e65712e5a9d3b836536cc95f8ffbe2a9a66259a05b94d8c4184610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220d7f8a71738df57315d94f7f50e5b1fda34b6dabb4f46088cad80eff3388ed1ce64736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC2 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDE JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x73AD9CA0A63BF57AAB7471BE06714E14CB129B3BC1957FB205F02A2DFF20144 PUSH32 0xF0D5954BC5550BB6B8A63158299441A292523E20998BD2EEAF6817B9CF74891 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x24B75923EF66B5A38313240BF8701E5289F37FF6E54A5D9696C571CD0D7A6F7B PUSH32 0x13F75F7639B17B60C5DC1561CA51E09122443B14FD9B5198A3200CB73C405E74 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0xCE90799F564B37F9A7C19587AD4234C46F6AFAD9F4B1FB9277BED47DD9B6A11 PUSH32 0x2BECB27157D1EA8E65712E5A9D3B836536CC95F8FFBE2A9A66259A05B94D8C41 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x24D590624AA64D73288CEF9C5C68DDFBC43C288BFEC0EA23A65E3D519DEB4B45 PUSH32 0x2FE2B7A5E3301EC2548B1B9FA04DAFE8BDB129027D89D2FDA93C32B2AC1D6153 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x2AD72EB4319E5CE1F126C3EE2FB7B07FCACC472B06034BC9B7B00FA5C6DB3DD1 PUSH32 0xBBACFFC38B7A2D2938E833AA0B1BEB2EBE94796EE3EEEAA8CDE99E34B70274E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x244C5FC4BD854EE2B3C1B620E013383A9E6DACA6C0BAB14AECD7101ABA922CB6 PUSH32 0x2281748B89DCD5AEAEE8E7B5573D600632E8B7D13619ECA441E770F4862711FF DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x14CE1F304C015A19FE72CCDD0C7B1AAAE908E4FAA13142D0D8D108E2EFA497FD PUSH32 0x1DDF2AC14509D3ED88C5114E806890A074E2A3CF08BD6B406CD4E0C1256D6A5A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15ED PUSH2 0x160 DUP7 ADD MLOAD PUSH31 0x701C2A27F6E67A591F1CA598C17621B64AD8830430232895CA68FE3DC5854D PUSH32 0xDC88371D3444A7BBC4F3CB292E69421C549C10B86E8982B67D074006094FE08 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AD DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C3 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1847 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A2F DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3A DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A43 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4D DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A57 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A61 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6B DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A74 DUP2 PUSH2 0x184E JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AED DUP3 PUSH2 0x1AA4 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0C JUMPI PUSH2 0x1B0B PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B1F PUSH2 0x1A86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2B DUP3 DUP3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4A PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH2 0x1B54 DUP3 PUSH2 0x1AA4 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B83 PUSH2 0x1B7E DUP5 PUSH2 0x1B30 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B9F JUMPI PUSH2 0x1B9E PUSH2 0x1A9F JUMP JUMPDEST JUMPDEST PUSH2 0x1BAA DUP5 DUP3 DUP6 PUSH2 0x1B61 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC7 JUMPI PUSH2 0x1BC6 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD7 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C24 DUP2 PUSH2 0x1C11 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C41 DUP2 PUSH2 0x1C1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH2 0x1C55 DUP5 PUSH2 0x1BE0 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7D JUMPI PUSH2 0x1C7C PUSH2 0x1C0C JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA6 JUMPI DUP1 PUSH2 0x1C92 DUP9 DUP3 PUSH2 0x1C32 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C7F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC5 JUMPI PUSH2 0x1CC4 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C47 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF5 JUMPI PUSH2 0x1CF4 PUSH2 0x1A90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D13 JUMPI PUSH2 0x1D12 PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D1F DUP6 DUP3 DUP7 ADD PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D40 JUMPI PUSH2 0x1D3F PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4C DUP6 DUP3 DUP7 ADD PUSH2 0x1CB0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6B DUP2 PUSH2 0x1D56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D86 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD7 0xF8 0xA7 OR CODESIZE 0xDF JUMPI BALANCE TSTORE SWAP5 0xF7 CREATE2 0xE JUMPDEST 0x1F 0xDA CALLVALUE 0xB6 0xDA 0xBB 0x4F CHAINID ADDMOD DUP13 0xAD DUP1 0xEF RETURN CODESIZE DUP15 0xD1 0xCE PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ","sourceMap":"832:23908:2:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@verifyProof_682":{"entryPoint":96,"id":682,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7239,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":7024,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7344,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":7090,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":7218,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7390,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":7522,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":7537,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":6933,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":6790,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7136,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":6960,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":7510,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":7185,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":7009,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":6884,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x41":{"entryPoint":6837,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":6810,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":7180,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":6815,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":6805,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":6800,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":6820,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":7195,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nativeSrc":"0:5761:3","nodeType":"YulBlock","src":"0:5761:3","statements":[{"body":{"nativeSrc":"47:35:3","nodeType":"YulBlock","src":"47:35:3","statements":[{"nativeSrc":"57:19:3","nodeType":"YulAssignment","src":"57:19:3","value":{"arguments":[{"kind":"number","nativeSrc":"73:2:3","nodeType":"YulLiteral","src":"73:2:3","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"67:5:3","nodeType":"YulIdentifier","src":"67:5:3"},"nativeSrc":"67:9:3","nodeType":"YulFunctionCall","src":"67:9:3"},"variableNames":[{"name":"memPtr","nativeSrc":"57:6:3","nodeType":"YulIdentifier","src":"57:6:3"}]}]},"name":"allocate_unbounded","nativeSrc":"7:75:3","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nativeSrc":"40:6:3","nodeType":"YulTypedName","src":"40:6:3","type":""}],"src":"7:75:3"},{"body":{"nativeSrc":"177:28:3","nodeType":"YulBlock","src":"177:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194:1:3","nodeType":"YulLiteral","src":"194:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"197:1:3","nodeType":"YulLiteral","src":"197:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"187:6:3","nodeType":"YulIdentifier","src":"187:6:3"},"nativeSrc":"187:12:3","nodeType":"YulFunctionCall","src":"187:12:3"},"nativeSrc":"187:12:3","nodeType":"YulExpressionStatement","src":"187:12:3"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"88:117:3","nodeType":"YulFunctionDefinition","src":"88:117:3"},{"body":{"nativeSrc":"300:28:3","nodeType":"YulBlock","src":"300:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"317:1:3","nodeType":"YulLiteral","src":"317:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"320:1:3","nodeType":"YulLiteral","src":"320:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"310:6:3","nodeType":"YulIdentifier","src":"310:6:3"},"nativeSrc":"310:12:3","nodeType":"YulFunctionCall","src":"310:12:3"},"nativeSrc":"310:12:3","nodeType":"YulExpressionStatement","src":"310:12:3"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"211:117:3","nodeType":"YulFunctionDefinition","src":"211:117:3"},{"body":{"nativeSrc":"423:28:3","nodeType":"YulBlock","src":"423:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"440:1:3","nodeType":"YulLiteral","src":"440:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"443:1:3","nodeType":"YulLiteral","src":"443:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"433:6:3","nodeType":"YulIdentifier","src":"433:6:3"},"nativeSrc":"433:12:3","nodeType":"YulFunctionCall","src":"433:12:3"},"nativeSrc":"433:12:3","nodeType":"YulExpressionStatement","src":"433:12:3"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"334:117:3","nodeType":"YulFunctionDefinition","src":"334:117:3"},{"body":{"nativeSrc":"546:28:3","nodeType":"YulBlock","src":"546:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"563:1:3","nodeType":"YulLiteral","src":"563:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"566:1:3","nodeType":"YulLiteral","src":"566:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"556:6:3","nodeType":"YulIdentifier","src":"556:6:3"},"nativeSrc":"556:12:3","nodeType":"YulFunctionCall","src":"556:12:3"},"nativeSrc":"556:12:3","nodeType":"YulExpressionStatement","src":"556:12:3"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"457:117:3","nodeType":"YulFunctionDefinition","src":"457:117:3"},{"body":{"nativeSrc":"628:54:3","nodeType":"YulBlock","src":"628:54:3","statements":[{"nativeSrc":"638:38:3","nodeType":"YulAssignment","src":"638:38:3","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"656:5:3","nodeType":"YulIdentifier","src":"656:5:3"},{"kind":"number","nativeSrc":"663:2:3","nodeType":"YulLiteral","src":"663:2:3","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"652:3:3","nodeType":"YulIdentifier","src":"652:3:3"},"nativeSrc":"652:14:3","nodeType":"YulFunctionCall","src":"652:14:3"},{"arguments":[{"kind":"number","nativeSrc":"672:2:3","nodeType":"YulLiteral","src":"672:2:3","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"668:3:3","nodeType":"YulIdentifier","src":"668:3:3"},"nativeSrc":"668:7:3","nodeType":"YulFunctionCall","src":"668:7:3"}],"functionName":{"name":"and","nativeSrc":"648:3:3","nodeType":"YulIdentifier","src":"648:3:3"},"nativeSrc":"648:28:3","nodeType":"YulFunctionCall","src":"648:28:3"},"variableNames":[{"name":"result","nativeSrc":"638:6:3","nodeType":"YulIdentifier","src":"638:6:3"}]}]},"name":"round_up_to_mul_of_32","nativeSrc":"580:102:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"611:5:3","nodeType":"YulTypedName","src":"611:5:3","type":""}],"returnVariables":[{"name":"result","nativeSrc":"621:6:3","nodeType":"YulTypedName","src":"621:6:3","type":""}],"src":"580:102:3"},{"body":{"nativeSrc":"716:152:3","nodeType":"YulBlock","src":"716:152:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"733:1:3","nodeType":"YulLiteral","src":"733:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"736:77:3","nodeType":"YulLiteral","src":"736:77:3","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"726:6:3","nodeType":"YulIdentifier","src":"726:6:3"},"nativeSrc":"726:88:3","nodeType":"YulFunctionCall","src":"726:88:3"},"nativeSrc":"726:88:3","nodeType":"YulExpressionStatement","src":"726:88:3"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"830:1:3","nodeType":"YulLiteral","src":"830:1:3","type":"","value":"4"},{"kind":"number","nativeSrc":"833:4:3","nodeType":"YulLiteral","src":"833:4:3","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"823:6:3","nodeType":"YulIdentifier","src":"823:6:3"},"nativeSrc":"823:15:3","nodeType":"YulFunctionCall","src":"823:15:3"},"nativeSrc":"823:15:3","nodeType":"YulExpressionStatement","src":"823:15:3"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"854:1:3","nodeType":"YulLiteral","src":"854:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"857:4:3","nodeType":"YulLiteral","src":"857:4:3","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"847:6:3","nodeType":"YulIdentifier","src":"847:6:3"},"nativeSrc":"847:15:3","nodeType":"YulFunctionCall","src":"847:15:3"},"nativeSrc":"847:15:3","nodeType":"YulExpressionStatement","src":"847:15:3"}]},"name":"panic_error_0x41","nativeSrc":"688:180:3","nodeType":"YulFunctionDefinition","src":"688:180:3"},{"body":{"nativeSrc":"917:238:3","nodeType":"YulBlock","src":"917:238:3","statements":[{"nativeSrc":"927:58:3","nodeType":"YulVariableDeclaration","src":"927:58:3","value":{"arguments":[{"name":"memPtr","nativeSrc":"949:6:3","nodeType":"YulIdentifier","src":"949:6:3"},{"arguments":[{"name":"size","nativeSrc":"979:4:3","nodeType":"YulIdentifier","src":"979:4:3"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"957:21:3","nodeType":"YulIdentifier","src":"957:21:3"},"nativeSrc":"957:27:3","nodeType":"YulFunctionCall","src":"957:27:3"}],"functionName":{"name":"add","nativeSrc":"945:3:3","nodeType":"YulIdentifier","src":"945:3:3"},"nativeSrc":"945:40:3","nodeType":"YulFunctionCall","src":"945:40:3"},"variables":[{"name":"newFreePtr","nativeSrc":"931:10:3","nodeType":"YulTypedName","src":"931:10:3","type":""}]},{"body":{"nativeSrc":"1096:22:3","nodeType":"YulBlock","src":"1096:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1098:16:3","nodeType":"YulIdentifier","src":"1098:16:3"},"nativeSrc":"1098:18:3","nodeType":"YulFunctionCall","src":"1098:18:3"},"nativeSrc":"1098:18:3","nodeType":"YulExpressionStatement","src":"1098:18:3"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"1039:10:3","nodeType":"YulIdentifier","src":"1039:10:3"},{"kind":"number","nativeSrc":"1051:18:3","nodeType":"YulLiteral","src":"1051:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1036:2:3","nodeType":"YulIdentifier","src":"1036:2:3"},"nativeSrc":"1036:34:3","nodeType":"YulFunctionCall","src":"1036:34:3"},{"arguments":[{"name":"newFreePtr","nativeSrc":"1075:10:3","nodeType":"YulIdentifier","src":"1075:10:3"},{"name":"memPtr","nativeSrc":"1087:6:3","nodeType":"YulIdentifier","src":"1087:6:3"}],"functionName":{"name":"lt","nativeSrc":"1072:2:3","nodeType":"YulIdentifier","src":"1072:2:3"},"nativeSrc":"1072:22:3","nodeType":"YulFunctionCall","src":"1072:22:3"}],"functionName":{"name":"or","nativeSrc":"1033:2:3","nodeType":"YulIdentifier","src":"1033:2:3"},"nativeSrc":"1033:62:3","nodeType":"YulFunctionCall","src":"1033:62:3"},"nativeSrc":"1030:88:3","nodeType":"YulIf","src":"1030:88:3"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1134:2:3","nodeType":"YulLiteral","src":"1134:2:3","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"1138:10:3","nodeType":"YulIdentifier","src":"1138:10:3"}],"functionName":{"name":"mstore","nativeSrc":"1127:6:3","nodeType":"YulIdentifier","src":"1127:6:3"},"nativeSrc":"1127:22:3","nodeType":"YulFunctionCall","src":"1127:22:3"},"nativeSrc":"1127:22:3","nodeType":"YulExpressionStatement","src":"1127:22:3"}]},"name":"finalize_allocation","nativeSrc":"874:281:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"903:6:3","nodeType":"YulTypedName","src":"903:6:3","type":""},{"name":"size","nativeSrc":"911:4:3","nodeType":"YulTypedName","src":"911:4:3","type":""}],"src":"874:281:3"},{"body":{"nativeSrc":"1202:88:3","nodeType":"YulBlock","src":"1202:88:3","statements":[{"nativeSrc":"1212:30:3","nodeType":"YulAssignment","src":"1212:30:3","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nativeSrc":"1222:18:3","nodeType":"YulIdentifier","src":"1222:18:3"},"nativeSrc":"1222:20:3","nodeType":"YulFunctionCall","src":"1222:20:3"},"variableNames":[{"name":"memPtr","nativeSrc":"1212:6:3","nodeType":"YulIdentifier","src":"1212:6:3"}]},{"expression":{"arguments":[{"name":"memPtr","nativeSrc":"1271:6:3","nodeType":"YulIdentifier","src":"1271:6:3"},{"name":"size","nativeSrc":"1279:4:3","nodeType":"YulIdentifier","src":"1279:4:3"}],"functionName":{"name":"finalize_allocation","nativeSrc":"1251:19:3","nodeType":"YulIdentifier","src":"1251:19:3"},"nativeSrc":"1251:33:3","nodeType":"YulFunctionCall","src":"1251:33:3"},"nativeSrc":"1251:33:3","nodeType":"YulExpressionStatement","src":"1251:33:3"}]},"name":"allocate_memory","nativeSrc":"1161:129:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"1186:4:3","nodeType":"YulTypedName","src":"1186:4:3","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"1195:6:3","nodeType":"YulTypedName","src":"1195:6:3","type":""}],"src":"1161:129:3"},{"body":{"nativeSrc":"1362:241:3","nodeType":"YulBlock","src":"1362:241:3","statements":[{"body":{"nativeSrc":"1467:22:3","nodeType":"YulBlock","src":"1467:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1469:16:3","nodeType":"YulIdentifier","src":"1469:16:3"},"nativeSrc":"1469:18:3","nodeType":"YulFunctionCall","src":"1469:18:3"},"nativeSrc":"1469:18:3","nodeType":"YulExpressionStatement","src":"1469:18:3"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"1439:6:3","nodeType":"YulIdentifier","src":"1439:6:3"},{"kind":"number","nativeSrc":"1447:18:3","nodeType":"YulLiteral","src":"1447:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1436:2:3","nodeType":"YulIdentifier","src":"1436:2:3"},"nativeSrc":"1436:30:3","nodeType":"YulFunctionCall","src":"1436:30:3"},"nativeSrc":"1433:56:3","nodeType":"YulIf","src":"1433:56:3"},{"nativeSrc":"1499:37:3","nodeType":"YulAssignment","src":"1499:37:3","value":{"arguments":[{"name":"length","nativeSrc":"1529:6:3","nodeType":"YulIdentifier","src":"1529:6:3"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"1507:21:3","nodeType":"YulIdentifier","src":"1507:21:3"},"nativeSrc":"1507:29:3","nodeType":"YulFunctionCall","src":"1507:29:3"},"variableNames":[{"name":"size","nativeSrc":"1499:4:3","nodeType":"YulIdentifier","src":"1499:4:3"}]},{"nativeSrc":"1573:23:3","nodeType":"YulAssignment","src":"1573:23:3","value":{"arguments":[{"name":"size","nativeSrc":"1585:4:3","nodeType":"YulIdentifier","src":"1585:4:3"},{"kind":"number","nativeSrc":"1591:4:3","nodeType":"YulLiteral","src":"1591:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1581:3:3","nodeType":"YulIdentifier","src":"1581:3:3"},"nativeSrc":"1581:15:3","nodeType":"YulFunctionCall","src":"1581:15:3"},"variableNames":[{"name":"size","nativeSrc":"1573:4:3","nodeType":"YulIdentifier","src":"1573:4:3"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1296:307:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"1346:6:3","nodeType":"YulTypedName","src":"1346:6:3","type":""}],"returnVariables":[{"name":"size","nativeSrc":"1357:4:3","nodeType":"YulTypedName","src":"1357:4:3","type":""}],"src":"1296:307:3"},{"body":{"nativeSrc":"1673:82:3","nodeType":"YulBlock","src":"1673:82:3","statements":[{"expression":{"arguments":[{"name":"dst","nativeSrc":"1696:3:3","nodeType":"YulIdentifier","src":"1696:3:3"},{"name":"src","nativeSrc":"1701:3:3","nodeType":"YulIdentifier","src":"1701:3:3"},{"name":"length","nativeSrc":"1706:6:3","nodeType":"YulIdentifier","src":"1706:6:3"}],"functionName":{"name":"calldatacopy","nativeSrc":"1683:12:3","nodeType":"YulIdentifier","src":"1683:12:3"},"nativeSrc":"1683:30:3","nodeType":"YulFunctionCall","src":"1683:30:3"},"nativeSrc":"1683:30:3","nodeType":"YulExpressionStatement","src":"1683:30:3"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"1733:3:3","nodeType":"YulIdentifier","src":"1733:3:3"},{"name":"length","nativeSrc":"1738:6:3","nodeType":"YulIdentifier","src":"1738:6:3"}],"functionName":{"name":"add","nativeSrc":"1729:3:3","nodeType":"YulIdentifier","src":"1729:3:3"},"nativeSrc":"1729:16:3","nodeType":"YulFunctionCall","src":"1729:16:3"},{"kind":"number","nativeSrc":"1747:1:3","nodeType":"YulLiteral","src":"1747:1:3","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"1722:6:3","nodeType":"YulIdentifier","src":"1722:6:3"},"nativeSrc":"1722:27:3","nodeType":"YulFunctionCall","src":"1722:27:3"},"nativeSrc":"1722:27:3","nodeType":"YulExpressionStatement","src":"1722:27:3"}]},"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"1609:146:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1655:3:3","nodeType":"YulTypedName","src":"1655:3:3","type":""},{"name":"dst","nativeSrc":"1660:3:3","nodeType":"YulTypedName","src":"1660:3:3","type":""},{"name":"length","nativeSrc":"1665:6:3","nodeType":"YulTypedName","src":"1665:6:3","type":""}],"src":"1609:146:3"},{"body":{"nativeSrc":"1844:340:3","nodeType":"YulBlock","src":"1844:340:3","statements":[{"nativeSrc":"1854:74:3","nodeType":"YulAssignment","src":"1854:74:3","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"1920:6:3","nodeType":"YulIdentifier","src":"1920:6:3"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1879:40:3","nodeType":"YulIdentifier","src":"1879:40:3"},"nativeSrc":"1879:48:3","nodeType":"YulFunctionCall","src":"1879:48:3"}],"functionName":{"name":"allocate_memory","nativeSrc":"1863:15:3","nodeType":"YulIdentifier","src":"1863:15:3"},"nativeSrc":"1863:65:3","nodeType":"YulFunctionCall","src":"1863:65:3"},"variableNames":[{"name":"array","nativeSrc":"1854:5:3","nodeType":"YulIdentifier","src":"1854:5:3"}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"1944:5:3","nodeType":"YulIdentifier","src":"1944:5:3"},{"name":"length","nativeSrc":"1951:6:3","nodeType":"YulIdentifier","src":"1951:6:3"}],"functionName":{"name":"mstore","nativeSrc":"1937:6:3","nodeType":"YulIdentifier","src":"1937:6:3"},"nativeSrc":"1937:21:3","nodeType":"YulFunctionCall","src":"1937:21:3"},"nativeSrc":"1937:21:3","nodeType":"YulExpressionStatement","src":"1937:21:3"},{"nativeSrc":"1967:27:3","nodeType":"YulVariableDeclaration","src":"1967:27:3","value":{"arguments":[{"name":"array","nativeSrc":"1982:5:3","nodeType":"YulIdentifier","src":"1982:5:3"},{"kind":"number","nativeSrc":"1989:4:3","nodeType":"YulLiteral","src":"1989:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1978:3:3","nodeType":"YulIdentifier","src":"1978:3:3"},"nativeSrc":"1978:16:3","nodeType":"YulFunctionCall","src":"1978:16:3"},"variables":[{"name":"dst","nativeSrc":"1971:3:3","nodeType":"YulTypedName","src":"1971:3:3","type":""}]},{"body":{"nativeSrc":"2032:83:3","nodeType":"YulBlock","src":"2032:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"2034:77:3","nodeType":"YulIdentifier","src":"2034:77:3"},"nativeSrc":"2034:79:3","nodeType":"YulFunctionCall","src":"2034:79:3"},"nativeSrc":"2034:79:3","nodeType":"YulExpressionStatement","src":"2034:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"2013:3:3","nodeType":"YulIdentifier","src":"2013:3:3"},{"name":"length","nativeSrc":"2018:6:3","nodeType":"YulIdentifier","src":"2018:6:3"}],"functionName":{"name":"add","nativeSrc":"2009:3:3","nodeType":"YulIdentifier","src":"2009:3:3"},"nativeSrc":"2009:16:3","nodeType":"YulFunctionCall","src":"2009:16:3"},{"name":"end","nativeSrc":"2027:3:3","nodeType":"YulIdentifier","src":"2027:3:3"}],"functionName":{"name":"gt","nativeSrc":"2006:2:3","nodeType":"YulIdentifier","src":"2006:2:3"},"nativeSrc":"2006:25:3","nodeType":"YulFunctionCall","src":"2006:25:3"},"nativeSrc":"2003:112:3","nodeType":"YulIf","src":"2003:112:3"},{"expression":{"arguments":[{"name":"src","nativeSrc":"2161:3:3","nodeType":"YulIdentifier","src":"2161:3:3"},{"name":"dst","nativeSrc":"2166:3:3","nodeType":"YulIdentifier","src":"2166:3:3"},{"name":"length","nativeSrc":"2171:6:3","nodeType":"YulIdentifier","src":"2171:6:3"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"2124:36:3","nodeType":"YulIdentifier","src":"2124:36:3"},"nativeSrc":"2124:54:3","nodeType":"YulFunctionCall","src":"2124:54:3"},"nativeSrc":"2124:54:3","nodeType":"YulExpressionStatement","src":"2124:54:3"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"1761:423:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1817:3:3","nodeType":"YulTypedName","src":"1817:3:3","type":""},{"name":"length","nativeSrc":"1822:6:3","nodeType":"YulTypedName","src":"1822:6:3","type":""},{"name":"end","nativeSrc":"1830:3:3","nodeType":"YulTypedName","src":"1830:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"1838:5:3","nodeType":"YulTypedName","src":"1838:5:3","type":""}],"src":"1761:423:3"},{"body":{"nativeSrc":"2264:277:3","nodeType":"YulBlock","src":"2264:277:3","statements":[{"body":{"nativeSrc":"2313:83:3","nodeType":"YulBlock","src":"2313:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"2315:77:3","nodeType":"YulIdentifier","src":"2315:77:3"},"nativeSrc":"2315:79:3","nodeType":"YulFunctionCall","src":"2315:79:3"},"nativeSrc":"2315:79:3","nodeType":"YulExpressionStatement","src":"2315:79:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2292:6:3","nodeType":"YulIdentifier","src":"2292:6:3"},{"kind":"number","nativeSrc":"2300:4:3","nodeType":"YulLiteral","src":"2300:4:3","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"2288:3:3","nodeType":"YulIdentifier","src":"2288:3:3"},"nativeSrc":"2288:17:3","nodeType":"YulFunctionCall","src":"2288:17:3"},{"name":"end","nativeSrc":"2307:3:3","nodeType":"YulIdentifier","src":"2307:3:3"}],"functionName":{"name":"slt","nativeSrc":"2284:3:3","nodeType":"YulIdentifier","src":"2284:3:3"},"nativeSrc":"2284:27:3","nodeType":"YulFunctionCall","src":"2284:27:3"}],"functionName":{"name":"iszero","nativeSrc":"2277:6:3","nodeType":"YulIdentifier","src":"2277:6:3"},"nativeSrc":"2277:35:3","nodeType":"YulFunctionCall","src":"2277:35:3"},"nativeSrc":"2274:122:3","nodeType":"YulIf","src":"2274:122:3"},{"nativeSrc":"2405:34:3","nodeType":"YulVariableDeclaration","src":"2405:34:3","value":{"arguments":[{"name":"offset","nativeSrc":"2432:6:3","nodeType":"YulIdentifier","src":"2432:6:3"}],"functionName":{"name":"calldataload","nativeSrc":"2419:12:3","nodeType":"YulIdentifier","src":"2419:12:3"},"nativeSrc":"2419:20:3","nodeType":"YulFunctionCall","src":"2419:20:3"},"variables":[{"name":"length","nativeSrc":"2409:6:3","nodeType":"YulTypedName","src":"2409:6:3","type":""}]},{"nativeSrc":"2448:87:3","nodeType":"YulAssignment","src":"2448:87:3","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2508:6:3","nodeType":"YulIdentifier","src":"2508:6:3"},{"kind":"number","nativeSrc":"2516:4:3","nodeType":"YulLiteral","src":"2516:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2504:3:3","nodeType":"YulIdentifier","src":"2504:3:3"},"nativeSrc":"2504:17:3","nodeType":"YulFunctionCall","src":"2504:17:3"},{"name":"length","nativeSrc":"2523:6:3","nodeType":"YulIdentifier","src":"2523:6:3"},{"name":"end","nativeSrc":"2531:3:3","nodeType":"YulIdentifier","src":"2531:3:3"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"2457:46:3","nodeType":"YulIdentifier","src":"2457:46:3"},"nativeSrc":"2457:78:3","nodeType":"YulFunctionCall","src":"2457:78:3"},"variableNames":[{"name":"array","nativeSrc":"2448:5:3","nodeType":"YulIdentifier","src":"2448:5:3"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"2203:338:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2242:6:3","nodeType":"YulTypedName","src":"2242:6:3","type":""},{"name":"end","nativeSrc":"2250:3:3","nodeType":"YulTypedName","src":"2250:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2258:5:3","nodeType":"YulTypedName","src":"2258:5:3","type":""}],"src":"2203:338:3"},{"body":{"nativeSrc":"2629:229:3","nodeType":"YulBlock","src":"2629:229:3","statements":[{"body":{"nativeSrc":"2734:22:3","nodeType":"YulBlock","src":"2734:22:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"2736:16:3","nodeType":"YulIdentifier","src":"2736:16:3"},"nativeSrc":"2736:18:3","nodeType":"YulFunctionCall","src":"2736:18:3"},"nativeSrc":"2736:18:3","nodeType":"YulExpressionStatement","src":"2736:18:3"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"2706:6:3","nodeType":"YulIdentifier","src":"2706:6:3"},{"kind":"number","nativeSrc":"2714:18:3","nodeType":"YulLiteral","src":"2714:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"2703:2:3","nodeType":"YulIdentifier","src":"2703:2:3"},"nativeSrc":"2703:30:3","nodeType":"YulFunctionCall","src":"2703:30:3"},"nativeSrc":"2700:56:3","nodeType":"YulIf","src":"2700:56:3"},{"nativeSrc":"2766:25:3","nodeType":"YulAssignment","src":"2766:25:3","value":{"arguments":[{"name":"length","nativeSrc":"2778:6:3","nodeType":"YulIdentifier","src":"2778:6:3"},{"kind":"number","nativeSrc":"2786:4:3","nodeType":"YulLiteral","src":"2786:4:3","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"2774:3:3","nodeType":"YulIdentifier","src":"2774:3:3"},"nativeSrc":"2774:17:3","nodeType":"YulFunctionCall","src":"2774:17:3"},"variableNames":[{"name":"size","nativeSrc":"2766:4:3","nodeType":"YulIdentifier","src":"2766:4:3"}]},{"nativeSrc":"2828:23:3","nodeType":"YulAssignment","src":"2828:23:3","value":{"arguments":[{"name":"size","nativeSrc":"2840:4:3","nodeType":"YulIdentifier","src":"2840:4:3"},{"kind":"number","nativeSrc":"2846:4:3","nodeType":"YulLiteral","src":"2846:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2836:3:3","nodeType":"YulIdentifier","src":"2836:3:3"},"nativeSrc":"2836:15:3","nodeType":"YulFunctionCall","src":"2836:15:3"},"variableNames":[{"name":"size","nativeSrc":"2828:4:3","nodeType":"YulIdentifier","src":"2828:4:3"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"2547:311:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"2613:6:3","nodeType":"YulTypedName","src":"2613:6:3","type":""}],"returnVariables":[{"name":"size","nativeSrc":"2624:4:3","nodeType":"YulTypedName","src":"2624:4:3","type":""}],"src":"2547:311:3"},{"body":{"nativeSrc":"2953:28:3","nodeType":"YulBlock","src":"2953:28:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2970:1:3","nodeType":"YulLiteral","src":"2970:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"2973:1:3","nodeType":"YulLiteral","src":"2973:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2963:6:3","nodeType":"YulIdentifier","src":"2963:6:3"},"nativeSrc":"2963:12:3","nodeType":"YulFunctionCall","src":"2963:12:3"},"nativeSrc":"2963:12:3","nodeType":"YulExpressionStatement","src":"2963:12:3"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"2864:117:3","nodeType":"YulFunctionDefinition","src":"2864:117:3"},{"body":{"nativeSrc":"3032:32:3","nodeType":"YulBlock","src":"3032:32:3","statements":[{"nativeSrc":"3042:16:3","nodeType":"YulAssignment","src":"3042:16:3","value":{"name":"value","nativeSrc":"3053:5:3","nodeType":"YulIdentifier","src":"3053:5:3"},"variableNames":[{"name":"cleaned","nativeSrc":"3042:7:3","nodeType":"YulIdentifier","src":"3042:7:3"}]}]},"name":"cleanup_t_uint256","nativeSrc":"2987:77:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3014:5:3","nodeType":"YulTypedName","src":"3014:5:3","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"3024:7:3","nodeType":"YulTypedName","src":"3024:7:3","type":""}],"src":"2987:77:3"},{"body":{"nativeSrc":"3113:79:3","nodeType":"YulBlock","src":"3113:79:3","statements":[{"body":{"nativeSrc":"3170:16:3","nodeType":"YulBlock","src":"3170:16:3","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3179:1:3","nodeType":"YulLiteral","src":"3179:1:3","type":"","value":"0"},{"kind":"number","nativeSrc":"3182:1:3","nodeType":"YulLiteral","src":"3182:1:3","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"3172:6:3","nodeType":"YulIdentifier","src":"3172:6:3"},"nativeSrc":"3172:12:3","nodeType":"YulFunctionCall","src":"3172:12:3"},"nativeSrc":"3172:12:3","nodeType":"YulExpressionStatement","src":"3172:12:3"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"3136:5:3","nodeType":"YulIdentifier","src":"3136:5:3"},{"arguments":[{"name":"value","nativeSrc":"3161:5:3","nodeType":"YulIdentifier","src":"3161:5:3"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"3143:17:3","nodeType":"YulIdentifier","src":"3143:17:3"},"nativeSrc":"3143:24:3","nodeType":"YulFunctionCall","src":"3143:24:3"}],"functionName":{"name":"eq","nativeSrc":"3133:2:3","nodeType":"YulIdentifier","src":"3133:2:3"},"nativeSrc":"3133:35:3","nodeType":"YulFunctionCall","src":"3133:35:3"}],"functionName":{"name":"iszero","nativeSrc":"3126:6:3","nodeType":"YulIdentifier","src":"3126:6:3"},"nativeSrc":"3126:43:3","nodeType":"YulFunctionCall","src":"3126:43:3"},"nativeSrc":"3123:63:3","nodeType":"YulIf","src":"3123:63:3"}]},"name":"validator_revert_t_uint256","nativeSrc":"3070:122:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3106:5:3","nodeType":"YulTypedName","src":"3106:5:3","type":""}],"src":"3070:122:3"},{"body":{"nativeSrc":"3250:87:3","nodeType":"YulBlock","src":"3250:87:3","statements":[{"nativeSrc":"3260:29:3","nodeType":"YulAssignment","src":"3260:29:3","value":{"arguments":[{"name":"offset","nativeSrc":"3282:6:3","nodeType":"YulIdentifier","src":"3282:6:3"}],"functionName":{"name":"calldataload","nativeSrc":"3269:12:3","nodeType":"YulIdentifier","src":"3269:12:3"},"nativeSrc":"3269:20:3","nodeType":"YulFunctionCall","src":"3269:20:3"},"variableNames":[{"name":"value","nativeSrc":"3260:5:3","nodeType":"YulIdentifier","src":"3260:5:3"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"3325:5:3","nodeType":"YulIdentifier","src":"3325:5:3"}],"functionName":{"name":"validator_revert_t_uint256","nativeSrc":"3298:26:3","nodeType":"YulIdentifier","src":"3298:26:3"},"nativeSrc":"3298:33:3","nodeType":"YulFunctionCall","src":"3298:33:3"},"nativeSrc":"3298:33:3","nodeType":"YulExpressionStatement","src":"3298:33:3"}]},"name":"abi_decode_t_uint256","nativeSrc":"3198:139:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3228:6:3","nodeType":"YulTypedName","src":"3228:6:3","type":""},{"name":"end","nativeSrc":"3236:3:3","nodeType":"YulTypedName","src":"3236:3:3","type":""}],"returnVariables":[{"name":"value","nativeSrc":"3244:5:3","nodeType":"YulTypedName","src":"3244:5:3","type":""}],"src":"3198:139:3"},{"body":{"nativeSrc":"3462:608:3","nodeType":"YulBlock","src":"3462:608:3","statements":[{"nativeSrc":"3472:90:3","nodeType":"YulAssignment","src":"3472:90:3","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"3554:6:3","nodeType":"YulIdentifier","src":"3554:6:3"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3497:56:3","nodeType":"YulIdentifier","src":"3497:56:3"},"nativeSrc":"3497:64:3","nodeType":"YulFunctionCall","src":"3497:64:3"}],"functionName":{"name":"allocate_memory","nativeSrc":"3481:15:3","nodeType":"YulIdentifier","src":"3481:15:3"},"nativeSrc":"3481:81:3","nodeType":"YulFunctionCall","src":"3481:81:3"},"variableNames":[{"name":"array","nativeSrc":"3472:5:3","nodeType":"YulIdentifier","src":"3472:5:3"}]},{"nativeSrc":"3571:16:3","nodeType":"YulVariableDeclaration","src":"3571:16:3","value":{"name":"array","nativeSrc":"3582:5:3","nodeType":"YulIdentifier","src":"3582:5:3"},"variables":[{"name":"dst","nativeSrc":"3575:3:3","nodeType":"YulTypedName","src":"3575:3:3","type":""}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"3604:5:3","nodeType":"YulIdentifier","src":"3604:5:3"},{"name":"length","nativeSrc":"3611:6:3","nodeType":"YulIdentifier","src":"3611:6:3"}],"functionName":{"name":"mstore","nativeSrc":"3597:6:3","nodeType":"YulIdentifier","src":"3597:6:3"},"nativeSrc":"3597:21:3","nodeType":"YulFunctionCall","src":"3597:21:3"},"nativeSrc":"3597:21:3","nodeType":"YulExpressionStatement","src":"3597:21:3"},{"nativeSrc":"3627:23:3","nodeType":"YulAssignment","src":"3627:23:3","value":{"arguments":[{"name":"array","nativeSrc":"3638:5:3","nodeType":"YulIdentifier","src":"3638:5:3"},{"kind":"number","nativeSrc":"3645:4:3","nodeType":"YulLiteral","src":"3645:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3634:3:3","nodeType":"YulIdentifier","src":"3634:3:3"},"nativeSrc":"3634:16:3","nodeType":"YulFunctionCall","src":"3634:16:3"},"variableNames":[{"name":"dst","nativeSrc":"3627:3:3","nodeType":"YulIdentifier","src":"3627:3:3"}]},{"nativeSrc":"3660:44:3","nodeType":"YulVariableDeclaration","src":"3660:44:3","value":{"arguments":[{"name":"offset","nativeSrc":"3678:6:3","nodeType":"YulIdentifier","src":"3678:6:3"},{"arguments":[{"name":"length","nativeSrc":"3690:6:3","nodeType":"YulIdentifier","src":"3690:6:3"},{"kind":"number","nativeSrc":"3698:4:3","nodeType":"YulLiteral","src":"3698:4:3","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"3686:3:3","nodeType":"YulIdentifier","src":"3686:3:3"},"nativeSrc":"3686:17:3","nodeType":"YulFunctionCall","src":"3686:17:3"}],"functionName":{"name":"add","nativeSrc":"3674:3:3","nodeType":"YulIdentifier","src":"3674:3:3"},"nativeSrc":"3674:30:3","nodeType":"YulFunctionCall","src":"3674:30:3"},"variables":[{"name":"srcEnd","nativeSrc":"3664:6:3","nodeType":"YulTypedName","src":"3664:6:3","type":""}]},{"body":{"nativeSrc":"3732:103:3","nodeType":"YulBlock","src":"3732:103:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"3746:77:3","nodeType":"YulIdentifier","src":"3746:77:3"},"nativeSrc":"3746:79:3","nodeType":"YulFunctionCall","src":"3746:79:3"},"nativeSrc":"3746:79:3","nodeType":"YulExpressionStatement","src":"3746:79:3"}]},"condition":{"arguments":[{"name":"srcEnd","nativeSrc":"3719:6:3","nodeType":"YulIdentifier","src":"3719:6:3"},{"name":"end","nativeSrc":"3727:3:3","nodeType":"YulIdentifier","src":"3727:3:3"}],"functionName":{"name":"gt","nativeSrc":"3716:2:3","nodeType":"YulIdentifier","src":"3716:2:3"},"nativeSrc":"3716:15:3","nodeType":"YulFunctionCall","src":"3716:15:3"},"nativeSrc":"3713:122:3","nodeType":"YulIf","src":"3713:122:3"},{"body":{"nativeSrc":"3920:144:3","nodeType":"YulBlock","src":"3920:144:3","statements":[{"nativeSrc":"3935:21:3","nodeType":"YulVariableDeclaration","src":"3935:21:3","value":{"name":"src","nativeSrc":"3953:3:3","nodeType":"YulIdentifier","src":"3953:3:3"},"variables":[{"name":"elementPos","nativeSrc":"3939:10:3","nodeType":"YulTypedName","src":"3939:10:3","type":""}]},{"expression":{"arguments":[{"name":"dst","nativeSrc":"3977:3:3","nodeType":"YulIdentifier","src":"3977:3:3"},{"arguments":[{"name":"elementPos","nativeSrc":"4003:10:3","nodeType":"YulIdentifier","src":"4003:10:3"},{"name":"end","nativeSrc":"4015:3:3","nodeType":"YulIdentifier","src":"4015:3:3"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"3982:20:3","nodeType":"YulIdentifier","src":"3982:20:3"},"nativeSrc":"3982:37:3","nodeType":"YulFunctionCall","src":"3982:37:3"}],"functionName":{"name":"mstore","nativeSrc":"3970:6:3","nodeType":"YulIdentifier","src":"3970:6:3"},"nativeSrc":"3970:50:3","nodeType":"YulFunctionCall","src":"3970:50:3"},"nativeSrc":"3970:50:3","nodeType":"YulExpressionStatement","src":"3970:50:3"},{"nativeSrc":"4033:21:3","nodeType":"YulAssignment","src":"4033:21:3","value":{"arguments":[{"name":"dst","nativeSrc":"4044:3:3","nodeType":"YulIdentifier","src":"4044:3:3"},{"kind":"number","nativeSrc":"4049:4:3","nodeType":"YulLiteral","src":"4049:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4040:3:3","nodeType":"YulIdentifier","src":"4040:3:3"},"nativeSrc":"4040:14:3","nodeType":"YulFunctionCall","src":"4040:14:3"},"variableNames":[{"name":"dst","nativeSrc":"4033:3:3","nodeType":"YulIdentifier","src":"4033:3:3"}]}]},"condition":{"arguments":[{"name":"src","nativeSrc":"3873:3:3","nodeType":"YulIdentifier","src":"3873:3:3"},{"name":"srcEnd","nativeSrc":"3878:6:3","nodeType":"YulIdentifier","src":"3878:6:3"}],"functionName":{"name":"lt","nativeSrc":"3870:2:3","nodeType":"YulIdentifier","src":"3870:2:3"},"nativeSrc":"3870:15:3","nodeType":"YulFunctionCall","src":"3870:15:3"},"nativeSrc":"3844:220:3","nodeType":"YulForLoop","post":{"nativeSrc":"3886:25:3","nodeType":"YulBlock","src":"3886:25:3","statements":[{"nativeSrc":"3888:21:3","nodeType":"YulAssignment","src":"3888:21:3","value":{"arguments":[{"name":"src","nativeSrc":"3899:3:3","nodeType":"YulIdentifier","src":"3899:3:3"},{"kind":"number","nativeSrc":"3904:4:3","nodeType":"YulLiteral","src":"3904:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3895:3:3","nodeType":"YulIdentifier","src":"3895:3:3"},"nativeSrc":"3895:14:3","nodeType":"YulFunctionCall","src":"3895:14:3"},"variableNames":[{"name":"src","nativeSrc":"3888:3:3","nodeType":"YulIdentifier","src":"3888:3:3"}]}]},"pre":{"nativeSrc":"3848:21:3","nodeType":"YulBlock","src":"3848:21:3","statements":[{"nativeSrc":"3850:17:3","nodeType":"YulVariableDeclaration","src":"3850:17:3","value":{"name":"offset","nativeSrc":"3861:6:3","nodeType":"YulIdentifier","src":"3861:6:3"},"variables":[{"name":"src","nativeSrc":"3854:3:3","nodeType":"YulTypedName","src":"3854:3:3","type":""}]}]},"src":"3844:220:3"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3360:710:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3432:6:3","nodeType":"YulTypedName","src":"3432:6:3","type":""},{"name":"length","nativeSrc":"3440:6:3","nodeType":"YulTypedName","src":"3440:6:3","type":""},{"name":"end","nativeSrc":"3448:3:3","nodeType":"YulTypedName","src":"3448:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"3456:5:3","nodeType":"YulTypedName","src":"3456:5:3","type":""}],"src":"3360:710:3"},{"body":{"nativeSrc":"4170:293:3","nodeType":"YulBlock","src":"4170:293:3","statements":[{"body":{"nativeSrc":"4219:83:3","nodeType":"YulBlock","src":"4219:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"4221:77:3","nodeType":"YulIdentifier","src":"4221:77:3"},"nativeSrc":"4221:79:3","nodeType":"YulFunctionCall","src":"4221:79:3"},"nativeSrc":"4221:79:3","nodeType":"YulExpressionStatement","src":"4221:79:3"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4198:6:3","nodeType":"YulIdentifier","src":"4198:6:3"},{"kind":"number","nativeSrc":"4206:4:3","nodeType":"YulLiteral","src":"4206:4:3","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"4194:3:3","nodeType":"YulIdentifier","src":"4194:3:3"},"nativeSrc":"4194:17:3","nodeType":"YulFunctionCall","src":"4194:17:3"},{"name":"end","nativeSrc":"4213:3:3","nodeType":"YulIdentifier","src":"4213:3:3"}],"functionName":{"name":"slt","nativeSrc":"4190:3:3","nodeType":"YulIdentifier","src":"4190:3:3"},"nativeSrc":"4190:27:3","nodeType":"YulFunctionCall","src":"4190:27:3"}],"functionName":{"name":"iszero","nativeSrc":"4183:6:3","nodeType":"YulIdentifier","src":"4183:6:3"},"nativeSrc":"4183:35:3","nodeType":"YulFunctionCall","src":"4183:35:3"},"nativeSrc":"4180:122:3","nodeType":"YulIf","src":"4180:122:3"},{"nativeSrc":"4311:34:3","nodeType":"YulVariableDeclaration","src":"4311:34:3","value":{"arguments":[{"name":"offset","nativeSrc":"4338:6:3","nodeType":"YulIdentifier","src":"4338:6:3"}],"functionName":{"name":"calldataload","nativeSrc":"4325:12:3","nodeType":"YulIdentifier","src":"4325:12:3"},"nativeSrc":"4325:20:3","nodeType":"YulFunctionCall","src":"4325:20:3"},"variables":[{"name":"length","nativeSrc":"4315:6:3","nodeType":"YulTypedName","src":"4315:6:3","type":""}]},{"nativeSrc":"4354:103:3","nodeType":"YulAssignment","src":"4354:103:3","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4430:6:3","nodeType":"YulIdentifier","src":"4430:6:3"},{"kind":"number","nativeSrc":"4438:4:3","nodeType":"YulLiteral","src":"4438:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4426:3:3","nodeType":"YulIdentifier","src":"4426:3:3"},"nativeSrc":"4426:17:3","nodeType":"YulFunctionCall","src":"4426:17:3"},{"name":"length","nativeSrc":"4445:6:3","nodeType":"YulIdentifier","src":"4445:6:3"},{"name":"end","nativeSrc":"4453:3:3","nodeType":"YulIdentifier","src":"4453:3:3"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4363:62:3","nodeType":"YulIdentifier","src":"4363:62:3"},"nativeSrc":"4363:94:3","nodeType":"YulFunctionCall","src":"4363:94:3"},"variableNames":[{"name":"array","nativeSrc":"4354:5:3","nodeType":"YulIdentifier","src":"4354:5:3"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4093:370:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"4148:6:3","nodeType":"YulTypedName","src":"4148:6:3","type":""},{"name":"end","nativeSrc":"4156:3:3","nodeType":"YulTypedName","src":"4156:3:3","type":""}],"returnVariables":[{"name":"array","nativeSrc":"4164:5:3","nodeType":"YulTypedName","src":"4164:5:3","type":""}],"src":"4093:370:3"},{"body":{"nativeSrc":"4586:745:3","nodeType":"YulBlock","src":"4586:745:3","statements":[{"body":{"nativeSrc":"4632:83:3","nodeType":"YulBlock","src":"4632:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"4634:77:3","nodeType":"YulIdentifier","src":"4634:77:3"},"nativeSrc":"4634:79:3","nodeType":"YulFunctionCall","src":"4634:79:3"},"nativeSrc":"4634:79:3","nodeType":"YulExpressionStatement","src":"4634:79:3"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"4607:7:3","nodeType":"YulIdentifier","src":"4607:7:3"},{"name":"headStart","nativeSrc":"4616:9:3","nodeType":"YulIdentifier","src":"4616:9:3"}],"functionName":{"name":"sub","nativeSrc":"4603:3:3","nodeType":"YulIdentifier","src":"4603:3:3"},"nativeSrc":"4603:23:3","nodeType":"YulFunctionCall","src":"4603:23:3"},{"kind":"number","nativeSrc":"4628:2:3","nodeType":"YulLiteral","src":"4628:2:3","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"4599:3:3","nodeType":"YulIdentifier","src":"4599:3:3"},"nativeSrc":"4599:32:3","nodeType":"YulFunctionCall","src":"4599:32:3"},"nativeSrc":"4596:119:3","nodeType":"YulIf","src":"4596:119:3"},{"nativeSrc":"4725:286:3","nodeType":"YulBlock","src":"4725:286:3","statements":[{"nativeSrc":"4740:45:3","nodeType":"YulVariableDeclaration","src":"4740:45:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4771:9:3","nodeType":"YulIdentifier","src":"4771:9:3"},{"kind":"number","nativeSrc":"4782:1:3","nodeType":"YulLiteral","src":"4782:1:3","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"4767:3:3","nodeType":"YulIdentifier","src":"4767:3:3"},"nativeSrc":"4767:17:3","nodeType":"YulFunctionCall","src":"4767:17:3"}],"functionName":{"name":"calldataload","nativeSrc":"4754:12:3","nodeType":"YulIdentifier","src":"4754:12:3"},"nativeSrc":"4754:31:3","nodeType":"YulFunctionCall","src":"4754:31:3"},"variables":[{"name":"offset","nativeSrc":"4744:6:3","nodeType":"YulTypedName","src":"4744:6:3","type":""}]},{"body":{"nativeSrc":"4832:83:3","nodeType":"YulBlock","src":"4832:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"4834:77:3","nodeType":"YulIdentifier","src":"4834:77:3"},"nativeSrc":"4834:79:3","nodeType":"YulFunctionCall","src":"4834:79:3"},"nativeSrc":"4834:79:3","nodeType":"YulExpressionStatement","src":"4834:79:3"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"4804:6:3","nodeType":"YulIdentifier","src":"4804:6:3"},{"kind":"number","nativeSrc":"4812:18:3","nodeType":"YulLiteral","src":"4812:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"4801:2:3","nodeType":"YulIdentifier","src":"4801:2:3"},"nativeSrc":"4801:30:3","nodeType":"YulFunctionCall","src":"4801:30:3"},"nativeSrc":"4798:117:3","nodeType":"YulIf","src":"4798:117:3"},{"nativeSrc":"4929:72:3","nodeType":"YulAssignment","src":"4929:72:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4973:9:3","nodeType":"YulIdentifier","src":"4973:9:3"},{"name":"offset","nativeSrc":"4984:6:3","nodeType":"YulIdentifier","src":"4984:6:3"}],"functionName":{"name":"add","nativeSrc":"4969:3:3","nodeType":"YulIdentifier","src":"4969:3:3"},"nativeSrc":"4969:22:3","nodeType":"YulFunctionCall","src":"4969:22:3"},{"name":"dataEnd","nativeSrc":"4993:7:3","nodeType":"YulIdentifier","src":"4993:7:3"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"4939:29:3","nodeType":"YulIdentifier","src":"4939:29:3"},"nativeSrc":"4939:62:3","nodeType":"YulFunctionCall","src":"4939:62:3"},"variableNames":[{"name":"value0","nativeSrc":"4929:6:3","nodeType":"YulIdentifier","src":"4929:6:3"}]}]},{"nativeSrc":"5021:303:3","nodeType":"YulBlock","src":"5021:303:3","statements":[{"nativeSrc":"5036:46:3","nodeType":"YulVariableDeclaration","src":"5036:46:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5067:9:3","nodeType":"YulIdentifier","src":"5067:9:3"},{"kind":"number","nativeSrc":"5078:2:3","nodeType":"YulLiteral","src":"5078:2:3","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5063:3:3","nodeType":"YulIdentifier","src":"5063:3:3"},"nativeSrc":"5063:18:3","nodeType":"YulFunctionCall","src":"5063:18:3"}],"functionName":{"name":"calldataload","nativeSrc":"5050:12:3","nodeType":"YulIdentifier","src":"5050:12:3"},"nativeSrc":"5050:32:3","nodeType":"YulFunctionCall","src":"5050:32:3"},"variables":[{"name":"offset","nativeSrc":"5040:6:3","nodeType":"YulTypedName","src":"5040:6:3","type":""}]},{"body":{"nativeSrc":"5129:83:3","nodeType":"YulBlock","src":"5129:83:3","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"5131:77:3","nodeType":"YulIdentifier","src":"5131:77:3"},"nativeSrc":"5131:79:3","nodeType":"YulFunctionCall","src":"5131:79:3"},"nativeSrc":"5131:79:3","nodeType":"YulExpressionStatement","src":"5131:79:3"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"5101:6:3","nodeType":"YulIdentifier","src":"5101:6:3"},{"kind":"number","nativeSrc":"5109:18:3","nodeType":"YulLiteral","src":"5109:18:3","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"5098:2:3","nodeType":"YulIdentifier","src":"5098:2:3"},"nativeSrc":"5098:30:3","nodeType":"YulFunctionCall","src":"5098:30:3"},"nativeSrc":"5095:117:3","nodeType":"YulIf","src":"5095:117:3"},{"nativeSrc":"5226:88:3","nodeType":"YulAssignment","src":"5226:88:3","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5286:9:3","nodeType":"YulIdentifier","src":"5286:9:3"},{"name":"offset","nativeSrc":"5297:6:3","nodeType":"YulIdentifier","src":"5297:6:3"}],"functionName":{"name":"add","nativeSrc":"5282:3:3","nodeType":"YulIdentifier","src":"5282:3:3"},"nativeSrc":"5282:22:3","nodeType":"YulFunctionCall","src":"5282:22:3"},{"name":"dataEnd","nativeSrc":"5306:7:3","nodeType":"YulIdentifier","src":"5306:7:3"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"5236:45:3","nodeType":"YulIdentifier","src":"5236:45:3"},"nativeSrc":"5236:78:3","nodeType":"YulFunctionCall","src":"5236:78:3"},"variableNames":[{"name":"value1","nativeSrc":"5226:6:3","nodeType":"YulIdentifier","src":"5226:6:3"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4469:862:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4548:9:3","nodeType":"YulTypedName","src":"4548:9:3","type":""},{"name":"dataEnd","nativeSrc":"4559:7:3","nodeType":"YulTypedName","src":"4559:7:3","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"4571:6:3","nodeType":"YulTypedName","src":"4571:6:3","type":""},{"name":"value1","nativeSrc":"4579:6:3","nodeType":"YulTypedName","src":"4579:6:3","type":""}],"src":"4469:862:3"},{"body":{"nativeSrc":"5379:48:3","nodeType":"YulBlock","src":"5379:48:3","statements":[{"nativeSrc":"5389:32:3","nodeType":"YulAssignment","src":"5389:32:3","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5414:5:3","nodeType":"YulIdentifier","src":"5414:5:3"}],"functionName":{"name":"iszero","nativeSrc":"5407:6:3","nodeType":"YulIdentifier","src":"5407:6:3"},"nativeSrc":"5407:13:3","nodeType":"YulFunctionCall","src":"5407:13:3"}],"functionName":{"name":"iszero","nativeSrc":"5400:6:3","nodeType":"YulIdentifier","src":"5400:6:3"},"nativeSrc":"5400:21:3","nodeType":"YulFunctionCall","src":"5400:21:3"},"variableNames":[{"name":"cleaned","nativeSrc":"5389:7:3","nodeType":"YulIdentifier","src":"5389:7:3"}]}]},"name":"cleanup_t_bool","nativeSrc":"5337:90:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5361:5:3","nodeType":"YulTypedName","src":"5361:5:3","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"5371:7:3","nodeType":"YulTypedName","src":"5371:7:3","type":""}],"src":"5337:90:3"},{"body":{"nativeSrc":"5492:50:3","nodeType":"YulBlock","src":"5492:50:3","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"5509:3:3","nodeType":"YulIdentifier","src":"5509:3:3"},{"arguments":[{"name":"value","nativeSrc":"5529:5:3","nodeType":"YulIdentifier","src":"5529:5:3"}],"functionName":{"name":"cleanup_t_bool","nativeSrc":"5514:14:3","nodeType":"YulIdentifier","src":"5514:14:3"},"nativeSrc":"5514:21:3","nodeType":"YulFunctionCall","src":"5514:21:3"}],"functionName":{"name":"mstore","nativeSrc":"5502:6:3","nodeType":"YulIdentifier","src":"5502:6:3"},"nativeSrc":"5502:34:3","nodeType":"YulFunctionCall","src":"5502:34:3"},"nativeSrc":"5502:34:3","nodeType":"YulExpressionStatement","src":"5502:34:3"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5433:109:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5480:5:3","nodeType":"YulTypedName","src":"5480:5:3","type":""},{"name":"pos","nativeSrc":"5487:3:3","nodeType":"YulTypedName","src":"5487:3:3","type":""}],"src":"5433:109:3"},{"body":{"nativeSrc":"5640:118:3","nodeType":"YulBlock","src":"5640:118:3","statements":[{"nativeSrc":"5650:26:3","nodeType":"YulAssignment","src":"5650:26:3","value":{"arguments":[{"name":"headStart","nativeSrc":"5662:9:3","nodeType":"YulIdentifier","src":"5662:9:3"},{"kind":"number","nativeSrc":"5673:2:3","nodeType":"YulLiteral","src":"5673:2:3","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5658:3:3","nodeType":"YulIdentifier","src":"5658:3:3"},"nativeSrc":"5658:18:3","nodeType":"YulFunctionCall","src":"5658:18:3"},"variableNames":[{"name":"tail","nativeSrc":"5650:4:3","nodeType":"YulIdentifier","src":"5650:4:3"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"5724:6:3","nodeType":"YulIdentifier","src":"5724:6:3"},{"arguments":[{"name":"headStart","nativeSrc":"5737:9:3","nodeType":"YulIdentifier","src":"5737:9:3"},{"kind":"number","nativeSrc":"5748:1:3","nodeType":"YulLiteral","src":"5748:1:3","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"5733:3:3","nodeType":"YulIdentifier","src":"5733:3:3"},"nativeSrc":"5733:17:3","nodeType":"YulFunctionCall","src":"5733:17:3"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5686:37:3","nodeType":"YulIdentifier","src":"5686:37:3"},"nativeSrc":"5686:65:3","nodeType":"YulFunctionCall","src":"5686:65:3"},"nativeSrc":"5686:65:3","nodeType":"YulExpressionStatement","src":"5686:65:3"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"5548:210:3","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5612:9:3","nodeType":"YulTypedName","src":"5612:9:3","type":""},{"name":"value0","nativeSrc":"5624:6:3","nodeType":"YulTypedName","src":"5624:6:3","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5635:4:3","nodeType":"YulTypedName","src":"5635:4:3","type":""}],"src":"5548:210:3"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n","id":3,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f0ce90799f564b37f9a7c19587ad4234c46f6afad9f4b1fb9277bed47dd9b6a117f2becb27157d1ea8e65712e5a9d3b836536cc95f8ffbe2a9a66259a05b94d8c4184610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220d7f8a71738df57315d94f7f50e5b1fda34b6dabb4f46088cad80eff3388ed1ce64736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDE JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x73AD9CA0A63BF57AAB7471BE06714E14CB129B3BC1957FB205F02A2DFF20144 PUSH32 0xF0D5954BC5550BB6B8A63158299441A292523E20998BD2EEAF6817B9CF74891 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x24B75923EF66B5A38313240BF8701E5289F37FF6E54A5D9696C571CD0D7A6F7B PUSH32 0x13F75F7639B17B60C5DC1561CA51E09122443B14FD9B5198A3200CB73C405E74 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0xCE90799F564B37F9A7C19587AD4234C46F6AFAD9F4B1FB9277BED47DD9B6A11 PUSH32 0x2BECB27157D1EA8E65712E5A9D3B836536CC95F8FFBE2A9A66259A05B94D8C41 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x24D590624AA64D73288CEF9C5C68DDFBC43C288BFEC0EA23A65E3D519DEB4B45 PUSH32 0x2FE2B7A5E3301EC2548B1B9FA04DAFE8BDB129027D89D2FDA93C32B2AC1D6153 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x2AD72EB4319E5CE1F126C3EE2FB7B07FCACC472B06034BC9B7B00FA5C6DB3DD1 PUSH32 0xBBACFFC38B7A2D2938E833AA0B1BEB2EBE94796EE3EEEAA8CDE99E34B70274E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x244C5FC4BD854EE2B3C1B620E013383A9E6DACA6C0BAB14AECD7101ABA922CB6 PUSH32 0x2281748B89DCD5AEAEE8E7B5573D600632E8B7D13619ECA441E770F4862711FF DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x14CE1F304C015A19FE72CCDD0C7B1AAAE908E4FAA13142D0D8D108E2EFA497FD PUSH32 0x1DDF2AC14509D3ED88C5114E806890A074E2A3CF08BD6B406CD4E0C1256D6A5A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15ED PUSH2 0x160 DUP7 ADD MLOAD PUSH31 0x701C2A27F6E67A591F1CA598C17621B64AD8830430232895CA68FE3DC5854D PUSH32 0xDC88371D3444A7BBC4F3CB292E69421C549C10B86E8982B67D074006094FE08 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AD DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C3 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1847 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A2F DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3A DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A43 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4D DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A57 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A61 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6B DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A74 DUP2 PUSH2 0x184E JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AED DUP3 PUSH2 0x1AA4 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0C JUMPI PUSH2 0x1B0B PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B1F PUSH2 0x1A86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2B DUP3 DUP3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4A PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH2 0x1B54 DUP3 PUSH2 0x1AA4 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B83 PUSH2 0x1B7E DUP5 PUSH2 0x1B30 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B9F JUMPI PUSH2 0x1B9E PUSH2 0x1A9F JUMP JUMPDEST JUMPDEST PUSH2 0x1BAA DUP5 DUP3 DUP6 PUSH2 0x1B61 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC7 JUMPI PUSH2 0x1BC6 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD7 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C24 DUP2 PUSH2 0x1C11 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C41 DUP2 PUSH2 0x1C1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH2 0x1C55 DUP5 PUSH2 0x1BE0 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7D JUMPI PUSH2 0x1C7C PUSH2 0x1C0C JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA6 JUMPI DUP1 PUSH2 0x1C92 DUP9 DUP3 PUSH2 0x1C32 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C7F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC5 JUMPI PUSH2 0x1CC4 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C47 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF5 JUMPI PUSH2 0x1CF4 PUSH2 0x1A90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D13 JUMPI PUSH2 0x1D12 PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D1F DUP6 DUP3 DUP7 ADD PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D40 JUMPI PUSH2 0x1D3F PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4C DUP6 DUP3 DUP7 ADD PUSH2 0x1CB0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6B DUP2 PUSH2 0x1D56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D86 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD7 0xF8 0xA7 OR CODESIZE 0xDF JUMPI BALANCE TSTORE SWAP5 0xF7 CREATE2 0xE JUMPDEST 0x1F 0xDA CALLVALUE 0xB6 0xDA 0xBB 0x4F CHAINID ADDMOD DUP13 0xAD DUP1 0xEF RETURN CODESIZE DUP15 0xD1 0xCE PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ","sourceMap":"832:23908:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5187:19551;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;5275:4;5433:724;;;5459:3;5490:1;5525;5552;5587;5605:12;5634:7;5675:334;5683:4;5675:334;;;5734:4;5731:1;5726:13;5714:25;;5788:4;5778:8;5774:19;5771:1;5767:27;5760:34;;5819:4;5815:8;;5851:3;5844:10;;5923:4;5913:8;5909:19;5907:1;5903:26;5896:33;;5955:4;5950:9;;5988:3;5980:11;;5675:334;;;6052:1;6049;6046:8;6043:27;;;6066:1;6064;6057:11;6043:27;6097:1;6094;6090:9;6087:30;;;6113:1;6110;6106:9;6102:13;;6087:30;6142:1;6135:8;;5463:694;;;;;;5433:724;;;;:::o;6399:1517::-;6472:4;6466:11;6544:5;6599:2;6596:1;6592:10;6585:5;6581:22;6656:3;6650:10;6725:2;6720:3;6716:12;6709:19;;6784:7;6830:257;6846:7;6841:3;6838:16;6830:257;;;7011:3;7005:4;6998:17;7067:1;7061:3;7055:10;7050:3;7043:26;7036:33;;6896:2;6890:4;6886:13;6878:21;;6937:2;6932:3;6928:12;6921:19;;6830:257;;;7111:15;7124:1;7119:3;7111:15;:::i;:::-;7104:22;;7288:2;7282:4;7278:13;7270:21;;7401:2;7396:3;7392:12;7385:19;;7432:5;7421:16;;7494:311;7510:7;7505:3;7502:16;7494:311;;;7694:1;7687:4;7681:11;7676:3;7669:27;7662:34;;7748:1;7742:3;7736:10;7731:3;7724:26;7717:33;;7783:3;7778;7771:16;7560:2;7554:4;7550:13;7542:21;;7601:2;7596:3;7592:12;7585:19;;7494:311;;;7898:3;7893;7886:16;6431:1485;;;;;6399:1517;;:::o;7942:162::-;7999:1;7996;7993:8;7983:107;;8035:1;8032;8025:12;8067:4;8065:1;8058:14;7983:107;7942:162;:::o;8130:668::-;8204:3;8195:6;8189:13;8186:23;8176:122;;8243:1;8240;8233:12;8275:4;8273:1;8266:14;8176:122;8315:39;8344:7;8336:6;8332:20;8326:27;8315:39;:::i;:::-;8371;8400:7;8392:6;8388:20;8382:27;8371:39;:::i;:::-;8427;8456:7;8448:6;8444:20;8438:27;8427:39;:::i;:::-;8483:40;8512:8;8504:6;8500:21;8494:28;8483:40;:::i;:::-;8540;8569:8;8561:6;8557:21;8551:28;8540:40;:::i;:::-;8597;8626:8;8618:6;8614:21;8608:28;8597:40;:::i;:::-;8654:39;8683:7;8675:6;8671:20;8665:27;8654:39;:::i;:::-;8130:668;:::o;8824:2828::-;8907:5;8929;9015:2;9006:7;9001:17;8994:25;8987:3;8981:4;8977:15;8969:51;9099:2;9091:6;9086:16;9079:24;9072:3;9066:4;9062:15;9054:50;9173:2;9170;9166:10;9158:6;9153:24;9146:32;9139:3;9133:4;9129:15;9121:58;9248:2;9245;9241:10;9233:6;9228:24;9221:32;9214:3;9208:4;9204:15;9196:58;9323:2;9320;9316:10;9308:6;9303:24;9296:32;9289:3;9283:4;9279:15;9271:58;9398:3;9395:2;9391:11;9383:6;9378:25;9371:33;9364:3;9358:4;9354:15;9346:59;9474:3;9471:2;9467:11;9459:6;9454:25;9447:33;9440:3;9434:4;9430:15;9422:59;9560:1;9554:3;9544:7;9538:4;9534:18;9524:34;9520:42;9515:47;;9606:1;9598:5;9592:4;9588:16;9580:28;9689:1;9684:2;9676:5;9670:4;9666:16;9656:31;9652:39;9643:6;9637:4;9633:17;9625:67;9772:1;9767:2;9762;9754:6;9750:15;9740:30;9736:38;9727:6;9721:4;9717:17;9709:66;9852:1;9846:3;9840;9832:6;9828:16;9818:32;9814:40;9809:45;;9895:1;9889:3;9883:4;9879:14;9871:26;9955:1;9952;9949;9942:15;9932:7;9926:4;9922:18;9914:44;10009:1;10006;10003;9996:15;9992:19;;10062:1;10059;10056;10049:15;10045:19;;10115:1;10112;10109;10102:15;10098:19;;10168:1;10165;10162;10155:15;10151:19;;10221:1;10218;10215;10208:15;10204:19;;10274:1;10271;10268;10261:15;10257:19;;10327:1;10324;10321;10314:15;10310:19;;10380:1;10377;10374;10367:15;10363:19;;10433:1;10430;10427;10420:15;10416:19;;10486:1;10483;10480;10473:15;10469:19;;10539:1;10536;10533;10526:15;10522:19;;10592:1;10589;10586;10579:15;10575:19;;10645:1;10642;10639;10632:15;10628:19;;10698:1;10695;10692;10685:15;10681:19;;10751:1;10748;10745;10738:15;10734:19;;10812:1;10805:4;10799;10795:15;10787:27;10857:1;10853;10850;10847;10843:9;10839:16;10835:24;10831:28;;10900:1;10894:3;10888:4;10884:14;10876:26;10946:1;10937:6;10931:4;10927:17;10919:29;11087:1;11081:3;11071:7;11063:6;11059:20;11049:36;11045:44;11130:2;11124:3;11118:4;11114:14;11106:27;11170:1;11166:2;11162;11155:17;11150:22;;11213:1;11207:3;11201:4;11197:14;11189:26;11251:1;11247:2;11244:1;11237:16;11232:21;;11294:1;11288:3;11282:4;11278:14;11270:26;11332:1;11328:2;11325:1;11318:16;11313:21;;11375:1;11369:3;11363:4;11359:14;11351:26;11413:1;11409:2;11406:1;11399:16;11394:21;;11456:1;11450:3;11444:4;11440:14;11432:26;11494:1;11490:2;11487:1;11480:16;11475:21;;11537:1;11531:3;11525:4;11521:14;11513:26;11635:1;11629:3;11622:4;11614:6;11610:17;11600:33;11596:41;11591:2;11585:4;11581:13;11573:65;8876:2776;;;8824:2828;;;:::o;11678:1173::-;11739:1;12276;12222;12161;12091;12047:3;12041:4;12037:14;12031:21;11990:136;11953:239;11920:329;11892:1;11860:439;11828:8;11822:4;11818:19;11790:527;12385:35;12417:1;12408:6;12402:4;12398:17;12385:35;:::i;:::-;12480:3;12474:4;12470:14;12464:21;12507:1;12502:6;;12743:1;12715:2;12678:8;12672:4;12668:20;12662:27;12630:136;12597:8;12591:4;12587:20;12559:225;11711:1140;;11678:1173;:::o;12877:651::-;12938:1;13400;13355;13272;13234:2;13228:4;13224:13;13218:20;13174:8;13168:4;13164:19;13158:26;13118:185;13084:2;13051:278;13022:356;12997:422;12991:428;;13493:2;13487:3;13481:4;13477:14;13470:26;12910:618;12877:651;;:::o;13542:2196::-;13594:5;13616:6;13639;13789:1;13761:3;13755:4;13751:14;13745:21;13713:7;13705:6;13701:20;13695:27;13667:141;13662:146;;13971:1;13942:5;13936:4;13932:16;13926:23;13894:8;13886:6;13882:21;13876:28;13848:142;13842:148;;14115:1;14084:7;14076:6;14072:20;14066:27;14042:2;14014:120;14008:126;;14272:1;14242:6;14236:4;14232:17;14226:24;14202:2;14174:117;14168:123;;14438:1;14409:5;14403:4;14399:16;14393:23;14361:8;14353:6;14349:21;14343:28;14315:142;14309:148;;14582:1;14551:7;14543:6;14539:20;14533:27;14509:2;14481:120;14475:126;;14739:1;14709:6;14703:4;14699:17;14693:24;14669:2;14641:117;14635:123;;14813:1;14809:2;14805;14798:17;14792:23;;14978:1;14948:6;14942:4;14938:17;14932:24;14901:7;14893:6;14889:20;14883:27;14855:142;14849:148;;15036:1;15032:2;15028;15021:17;15015:23;;15102:1;15090:8;15082:6;15078:21;15072:28;15068:2;15061:43;15055:49;;15164:1;15154:6;15148:4;15144:17;15138:24;15134:2;15127:39;15121:45;;15330:1;15299:6;15293:4;15289:17;15283:24;15250:8;15244:4;15240:19;15234:26;15206:143;15200:149;;15473:1;15442:6;15436:4;15432:17;15426:24;15401:2;15373:119;15367:125;;15531:1;15527:2;15523;15516:17;15510:23;;15596:1;15591:2;15587:1;15584;15580:9;15576:18;15572:26;15567:31;;15656:1;15646:6;15640:4;15636:17;15630:24;15627:1;15620:38;15615:43;;15721:1;15710:7;15704:4;15700:18;15692:31;13576:2162;;;13542:2196;;:::o;15764:132::-;15823:2;15817:9;15813:2;15806:21;15877:2;15874;15870:10;15864:17;15859:2;15855;15851:11;15844:38;15764:132;;:::o;15910:498::-;15969:4;15963:11;16009:2;16003:9;15998:3;15991:22;16064:2;16060;16056:11;16050:18;16045:2;16041:3;16037:11;16030:39;16112:2;16106:9;16101:2;16097:3;16093:11;16086:30;16167:2;16163;16159:11;16153:18;16148:2;16144:3;16140:11;16133:39;16251:2;16247;16242:3;16237;16234:1;16227:4;16220:5;16216:16;16205:49;16298:7;16288:106;;16339:1;16336;16329:12;16371:4;16369:1;16362:14;16288:106;15934:474;;15910:498;;:::o;16422:819::-;16470:11;16515:4;16509:11;16555:2;16549:9;16544:3;16537:22;16610:2;16606;16602:11;16596:18;16591:2;16587:3;16583:11;16576:39;16652:1;16647:2;16643:3;16639:11;16632:22;16729:2;16724:3;16720:2;16715:3;16712:1;16705:4;16698:5;16694:16;16683:49;16672:60;;16776:7;16766:106;;16817:1;16814;16807:12;16849:4;16847:1;16840:14;16766:106;16932:2;16926:9;16921:2;16917:3;16913:11;16906:30;16987:2;16983;16979:11;16973:18;16968:2;16964:3;16960:11;16953:39;17067:2;17063;17058:3;17053;17050:1;17043:4;17036:5;17032:16;17021:49;17010:60;;17114:7;17104:106;;17155:1;17152;17145:12;17187:4;17185:1;17178:14;17104:106;16452:789;;16422:819;;;:::o;17255:780::-;17306:11;17351:4;17345:11;17385:1;17380:3;17373:14;17424:1;17419:2;17415:3;17411:11;17404:22;17463:1;17458:2;17454:3;17450:11;17443:22;17540:2;17535:3;17531:2;17526:3;17523:1;17516:4;17509:5;17505:16;17494:49;17483:60;;17587:7;17577:106;;17628:1;17625;17618:12;17660:4;17658:1;17651:14;17577:106;17743:2;17737:9;17732:2;17728:3;17724:11;17717:30;17798:2;17794;17790:11;17784:18;17779:2;17775:3;17771:11;17764:39;17878:2;17874;17869:3;17864;17861:1;17854:4;17847:5;17843:16;17832:49;17821:60;;17925:7;17915:106;;17966:1;17963;17956:12;17998:4;17996:1;17989:14;17915:106;17288:747;;17255:780;;;;:::o;18049:441::-;18100:11;18145:4;18139:11;18179:1;18174:3;18167:14;18218:1;18213:2;18209:3;18205:11;18198:22;18257:1;18252:2;18248:3;18244:11;18237:22;18333:2;18329;18325;18320:3;18317:1;18310:4;18303:5;18299:16;18288:48;18277:59;;18380:7;18370:106;;18421:1;18418;18411:12;18453:4;18451:1;18444:14;18370:106;18082:408;;18049:441;;;;:::o;18505:206::-;18577:3;18571:4;18567:14;18598:28;18620:4;18612:6;18608:17;18605:1;18598:28;:::i;:::-;18643:54;18692:2;18686:4;18682:13;18676:20;18668:5;18660:6;18656:18;18653:1;18643:54;:::i;:::-;18540:171;18505:206;;:::o;18750:4478::-;18803:5;18825:6;18867:3;18861:4;18857:14;19001:1;18994:3;18988:4;18984:14;18978:21;18967:7;18959:6;18955:20;18949:27;18941:62;18936:67;;19020:26;19044:1;19039:3;19034;19031:1;19020:26;:::i;:::-;19109:1;19098:7;19090:6;19086:20;19080:27;19077:1;19069:42;19064:47;;19144:26;19168:1;19163:3;19158;19155:1;19144:26;:::i;:::-;19253:1;19246:3;19240:4;19236:14;19230:21;19219:7;19211:6;19207:20;19201:27;19193:62;19188:67;;19272:26;19296:1;19291:3;19286;19283:1;19272:26;:::i;:::-;19397:1;19390:3;19384:4;19380:14;19374:21;19363:7;19355:6;19351:20;19345:27;19337:62;19332:67;;19416:26;19440:1;19435:3;19430;19427:1;19416:26;:::i;:::-;19480:3;19474:4;19470:14;19464:21;19460:25;;19502:26;19526:1;19521:3;19516;19513:1;19502:26;:::i;:::-;19614:1;19603:7;19597:4;19593:18;19587:25;19576:7;19568:6;19564:20;19558:27;19551:65;19546:70;;19674:1;19664:6;19658:4;19654:17;19648:24;19645:1;19638:38;19633:43;;19737:1;19726:7;19720:4;19716:18;19710:25;19706:2;19699:40;19693:46;;19802:1;19791:7;19783:6;19779:20;19773:27;19769:2;19762:42;19756:48;;19864:1;19854:6;19848:4;19844:17;19838:24;19834:2;19827:39;19821:45;;19902:1;19898:2;19895:1;19888:16;19883:21;;19965:1;19954:7;19948:4;19944:18;19938:25;19934:2;19927:40;19921:46;;20030:1;20019:7;20011:6;20007:20;20001:27;19997:2;19990:42;19984:48;;20092:1;20082:6;20076:4;20072:17;20066:24;20062:2;20055:39;20049:45;;20130:1;20126:2;20123:1;20116:16;20111:21;;20190:1;20180:6;20174:4;20170:17;20164:24;20161:1;20154:38;20149:43;;20247:1;20240:3;20234:4;20230:14;20224:21;20221:1;20214:35;20209:40;;20333:1;20323:6;20317:4;20313:17;20307:24;20295:8;20289:4;20285:19;20279:26;20272:63;20266:69;;20395:1;20385:6;20379:4;20375:17;20369:24;20365:2;20358:39;20352:45;;20454:1;20447:3;20441:4;20437:14;20431:21;20427:2;20420:36;20414:42;;20492:1;20488:2;20485:1;20478:16;20473:21;;20548:1;20542:2;20536:4;20532:13;20526:20;20523:1;20516:34;20511:39;;20567:32;20597:1;20592:2;20584:6;20580:15;20577:1;20567:32;:::i;:::-;20700:1;20688:8;20680:6;20676:21;20670:28;20661:5;20655:4;20651:16;20645:23;20638:64;20633:69;;20763:1;20752:7;20744:6;20740:20;20734:27;20731:1;20724:41;20719:46;;20823:1;20813:6;20807:4;20803:17;20797:24;20794:1;20787:38;20782:43;;20910:1;20898:8;20890:6;20886:21;20880:28;20871:5;20865:4;20861:16;20855:23;20848:64;20842:70;;20975:1;20964:7;20956:6;20952:20;20946:27;20942:2;20935:42;20929:48;;21037:1;21027:6;21021:4;21017:17;21011:24;21007:2;21000:39;20994:45;;21075:1;21071:2;21068:1;21061:16;21056:21;;21135:1;21125:6;21119:4;21115:17;21109:24;21106:1;21099:38;21094:43;;21192:1;21185:3;21179:4;21175:14;21169:21;21166:1;21159:35;21154:40;;21251:1;21242:5;21236:4;21232:16;21226:23;21223:1;21216:37;21211:42;;21315:1;21303:8;21295:6;21291:21;21285:28;21282:1;21275:42;21270:47;;21354:1;21350;21347;21343:9;21339:17;21334:22;;21373:26;21397:1;21392:3;21387;21384:1;21373:26;:::i;:::-;21449:28;21472:3;21464:6;21460:16;21456:1;21449:28;:::i;:::-;21516:4;21510;21506:15;21500:22;21495:27;;21539:33;21570:1;21564:3;21556:6;21552:16;21549:1;21539:33;:::i;:::-;21624:1;21621;21618;21611:15;21606:20;;21643:33;21674:1;21668:3;21660:6;21656:16;21653:1;21643:33;:::i;:::-;21710:52;21756:3;21750:4;21746:14;21740:21;21735:2;21727:6;21723:15;21720:1;21710:52;:::i;:::-;21779;21825:3;21819:4;21815:14;21809:21;21804:2;21796:6;21792:15;21789:1;21779:52;:::i;:::-;21848;21894:3;21888:4;21884:14;21878:21;21873:2;21865:6;21861:15;21858:1;21848:52;:::i;:::-;21917:46;21957:3;21951:4;21947:14;21941:21;21936:3;21931;21928:1;21917:46;:::i;:::-;21980;22020:3;22014:4;22010:14;22004:21;21999:3;21994;21991:1;21980:46;:::i;:::-;22112:7;22106:4;22102:18;22096:25;22091:30;;22216:1;22212;22205:3;22199:4;22195:14;22189:21;22178:7;22170:6;22166:20;22160:27;22153:61;22150:1;22143:75;22138:80;;22313:1;22309;22302:3;22296:4;22292:14;22286:21;22275:7;22267:6;22263:20;22257:27;22250:61;22247:1;22240:75;22235:80;;22410:1;22406;22399:3;22393:4;22389:14;22383:21;22372:7;22364:6;22360:20;22354:27;22347:61;22344:1;22337:75;22332:80;;22507:1;22503;22496:3;22490:4;22486:14;22480:21;22469:7;22461:6;22457:20;22451:27;22444:61;22441:1;22434:75;22429:80;;22605:1;22601;22594:3;22588:4;22584:14;22578:21;22566:8;22558:6;22554:21;22548:28;22541:62;22538:1;22531:76;22526:81;;22703:1;22699;22692:3;22686:4;22682:14;22676:21;22664:8;22656:6;22652:21;22646:28;22639:62;22636:1;22629:76;22624:81;;22800:1;22796;22790:2;22784:4;22780:13;22774:20;22762:8;22754:6;22750:21;22744:28;22737:61;22734:1;22727:75;22722:80;;22839:1;22835;22832;22828:9;22824:17;22819:22;;22858:26;22882:1;22877:3;22872;22869:1;22858:26;:::i;:::-;22990:3;22984:4;22980:14;22974:21;22969:26;;23012:34;23044:1;23037:4;23029:6;23025:17;23022:1;23012:34;:::i;:::-;23121:1;23114:3;23108:4;23104:14;23098:21;23092:2;23086:4;23082:13;23076:20;23069:54;23064:59;;23159:1;23155:2;23152:1;23145:16;23140:21;;23178:35;23211:1;23203:5;23195:6;23191:18;23188:1;23178:35;:::i;:::-;18785:4443;;;18750:4478;;:::o;23254:915::-;23285:4;23325;23319:11;23375:3;23369:4;23365:14;23359:21;23354:3;23347:34;23444:2;23438:3;23432:4;23428:14;23424:23;23418:30;23413:2;23409:3;23405:11;23398:51;23486:4;23481:2;23477:3;23473:11;23466:25;23528:4;23523:2;23519:3;23515:11;23508:25;23571:4;23565:3;23561;23557:12;23550:26;23614:4;23608:3;23604;23600:12;23593:26;23673:3;23667:4;23663:14;23657:21;23651:3;23647;23643:12;23636:43;23731:2;23725:3;23719:4;23715:14;23711:23;23705:30;23773:2;23769:1;23765:2;23761:10;23757:19;23752:24;;23814:1;23808:3;23804;23800:12;23793:23;23854:4;23848:3;23844;23840:12;23833:26;23897:4;23891:3;23887;23883:12;23876:26;23940:4;23934:3;23930;23926:12;23919:26;23983:4;23977:3;23973;23969:12;23962:26;24084:4;24079:3;24074;24069;24066:1;24059:4;24052:5;24048:16;24037:52;24150:3;24144:10;24135:7;24131:24;24123:32;;23290:879;;;23254:915;;;:::o;:::-;24213:4;24207:11;24254:7;24248:4;24244:18;24238:4;24231:32;24289:17;24300:5;24289:17;:::i;:::-;24319:44;24352:10;24346:4;24339:5;24319:44;:::i;:::-;24376:23;24394:4;24376:23;:::i;:::-;24412:29;24430:10;24424:4;24412:29;:::i;:::-;24454:23;24472:4;24465:5;24454:23;:::i;:::-;24490:24;24509:4;24502:5;24490:24;:::i;:::-;24527;24546:4;24539:5;24527:24;:::i;:::-;24579:18;24592:4;24579:18;:::i;:::-;24646:7;24640:4;24636:18;24630:4;24623:32;24678:7;24675:1;24668:18;24708:4;24706:1;24699:14;7:75:3;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:307::-;1357:4;1447:18;1439:6;1436:30;1433:56;;;1469:18;;:::i;:::-;1433:56;1507:29;1529:6;1507:29;:::i;:::-;1499:37;;1591:4;1585;1581:15;1573:23;;1296:307;;;:::o;1609:146::-;1706:6;1701:3;1696;1683:30;1747:1;1738:6;1733:3;1729:16;1722:27;1609:146;;;:::o;1761:423::-;1838:5;1863:65;1879:48;1920:6;1879:48;:::i;:::-;1863:65;:::i;:::-;1854:74;;1951:6;1944:5;1937:21;1989:4;1982:5;1978:16;2027:3;2018:6;2013:3;2009:16;2006:25;2003:112;;;2034:79;;:::i;:::-;2003:112;2124:54;2171:6;2166:3;2161;2124:54;:::i;:::-;1844:340;1761:423;;;;;:::o;2203:338::-;2258:5;2307:3;2300:4;2292:6;2288:17;2284:27;2274:122;;2315:79;;:::i;:::-;2274:122;2432:6;2419:20;2457:78;2531:3;2523:6;2516:4;2508:6;2504:17;2457:78;:::i;:::-;2448:87;;2264:277;2203:338;;;;:::o;2547:311::-;2624:4;2714:18;2706:6;2703:30;2700:56;;;2736:18;;:::i;:::-;2700:56;2786:4;2778:6;2774:17;2766:25;;2846:4;2840;2836:15;2828:23;;2547:311;;;:::o;2864:117::-;2973:1;2970;2963:12;2987:77;3024:7;3053:5;3042:16;;2987:77;;;:::o;3070:122::-;3143:24;3161:5;3143:24;:::i;:::-;3136:5;3133:35;3123:63;;3182:1;3179;3172:12;3123:63;3070:122;:::o;3198:139::-;3244:5;3282:6;3269:20;3260:29;;3298:33;3325:5;3298:33;:::i;:::-;3198:139;;;;:::o;3360:710::-;3456:5;3481:81;3497:64;3554:6;3497:64;:::i;:::-;3481:81;:::i;:::-;3472:90;;3582:5;3611:6;3604:5;3597:21;3645:4;3638:5;3634:16;3627:23;;3698:4;3690:6;3686:17;3678:6;3674:30;3727:3;3719:6;3716:15;3713:122;;;3746:79;;:::i;:::-;3713:122;3861:6;3844:220;3878:6;3873:3;3870:15;3844:220;;;3953:3;3982:37;4015:3;4003:10;3982:37;:::i;:::-;3977:3;3970:50;4049:4;4044:3;4040:14;4033:21;;3920:144;3904:4;3899:3;3895:14;3888:21;;3844:220;;;3848:21;3462:608;;3360:710;;;;;:::o;4093:370::-;4164:5;4213:3;4206:4;4198:6;4194:17;4190:27;4180:122;;4221:79;;:::i;:::-;4180:122;4338:6;4325:20;4363:94;4453:3;4445:6;4438:4;4430:6;4426:17;4363:94;:::i;:::-;4354:103;;4170:293;4093:370;;;;:::o;4469:862::-;4571:6;4579;4628:2;4616:9;4607:7;4603:23;4599:32;4596:119;;;4634:79;;:::i;:::-;4596:119;4782:1;4771:9;4767:17;4754:31;4812:18;4804:6;4801:30;4798:117;;;4834:79;;:::i;:::-;4798:117;4939:62;4993:7;4984:6;4973:9;4969:22;4939:62;:::i;:::-;4929:72;;4725:286;5078:2;5067:9;5063:18;5050:32;5109:18;5101:6;5098:30;5095:117;;;5131:79;;:::i;:::-;5095:117;5236:78;5306:7;5297:6;5286:9;5282:22;5236:78;:::i;:::-;5226:88;;5021:303;4469:862;;;;;:::o;5337:90::-;5371:7;5414:5;5407:13;5400:21;5389:32;;5337:90;;;:::o;5433:109::-;5514:21;5529:5;5514:21;:::i;:::-;5509:3;5502:34;5433:109;;:::o;5548:210::-;5635:4;5673:2;5662:9;5658:18;5650:26;;5686:65;5748:1;5737:9;5733:17;5724:6;5686:65;:::i;:::-;5548:210;;;;:::o"},"methodIdentifiers":{"verifyProof(bytes,uint256[])":"1e8e1e13"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"pubSignals\",\"type\":\"uint256[]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/workstep3Verifier.sol\":\"Workstep3Verifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/workstep3Verifier.sol\":{\"keccak256\":\"0x31fb7d39aac636847208fda53a180f876595ddc4b5d7c6f3f868b1a378d13208\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://206417f869dfb89753d60c631f0b6f5dd14703e784154ad0ccca15d6db1f71cb\",\"dweb:/ipfs/QmckrXic5CMkFTdBJhdrCYuZonvCUyWz4ZgYf5cFib4No8\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/examples/bri-3/ccsmArtifacts/build-info/189c1ee8bdf5b684eaab5cd99ba5c880.json b/examples/bri-3/ccsmArtifacts/build-info/189c1ee8bdf5b684eaab5cd99ba5c880.json new file mode 100644 index 000000000..b9c1d3ed7 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/build-info/189c1ee8bdf5b684eaab5cd99ba5c880.json @@ -0,0 +1 @@ +{"id":"189c1ee8bdf5b684eaab5cd99ba5c880","_format":"hh-sol-build-info-1","solcVersion":"0.8.24","solcLongVersion":"0.8.24+commit.e11b9ed9","input":{"language":"Solidity","sources":{"@openzeppelin/contracts/access/AccessControl.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.20;\n\nimport {IAccessControl} from \"./IAccessControl.sol\";\nimport {Context} from \"../utils/Context.sol\";\nimport {ERC165} from \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```solidity\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```solidity\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\n * to enforce additional security measures for this role.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address account => bool) hasRole;\n bytes32 adminRole;\n }\n\n mapping(bytes32 role => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with an {AccessControlUnauthorizedAccount} error including the required role.\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual returns (bool) {\n return _roles[role].hasRole[account];\n }\n\n /**\n * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`\n * is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier.\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`\n * is missing `role`.\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert AccessControlUnauthorizedAccount(account, role);\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `callerConfirmation`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address callerConfirmation) public virtual {\n if (callerConfirmation != _msgSender()) {\n revert AccessControlBadConfirmation();\n }\n\n _revokeRole(role, callerConfirmation);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual returns (bool) {\n if (!hasRole(role, account)) {\n _roles[role].hasRole[account] = true;\n emit RoleGranted(role, account, _msgSender());\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Attempts to revoke `role` to `account` and returns a boolean indicating if `role` was revoked.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual returns (bool) {\n if (hasRole(role, account)) {\n _roles[role].hasRole[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n return true;\n } else {\n return false;\n }\n }\n}\n"},"@openzeppelin/contracts/access/IAccessControl.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/IAccessControl.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev The `account` is missing a role.\n */\n error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n /**\n * @dev The caller of a function is not the expected one.\n *\n * NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\n */\n error AccessControlBadConfirmation();\n\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `callerConfirmation`.\n */\n function renounceRole(bytes32 role, address callerConfirmation) external;\n}\n"},"@openzeppelin/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n"},"@openzeppelin/contracts/utils/introspection/ERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n"},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n"},"contracts/CcsmBpiStateAnchor.sol":{"content":"//SPDX-License-Identifier: UNLICENSED\npragma solidity 0.8.24;\n\nimport '@openzeppelin/contracts/access/AccessControl.sol';\n\ncontract CcsmBpiStateAnchor is AccessControl {\n mapping(string => string) public anchorHashStore;\n event AnchorHashSet(string indexed workstepInstanceId, string anchorHash);\n\n bytes32 public constant ADMIN_ROLE = keccak256('ADMIN_ROLE');\n\n constructor(address[] memory admins) {\n _grantRole(DEFAULT_ADMIN_ROLE, msg.sender); // Grant deployer the default admin role\n\n for (uint i = 0; i < admins.length; i++) {\n _grantRole(ADMIN_ROLE, admins[i]); // Grant admin role to each address\n }\n }\n\n function setAnchorHash(\n string calldata _workstepInstanceId,\n string calldata _anchorHash\n ) external onlyAdmin {\n require(\n bytes(_workstepInstanceId).length > 0,\n 'WorkstepInstanceId cannot be empty'\n );\n require(\n bytes(_workstepInstanceId).length < 40,\n 'WorkstepInstanceId cannot exceed 40 bytes'\n );\n require(bytes(_anchorHash).length > 0, 'AnchorHash cannot be empty');\n require(\n bytes(_anchorHash).length <= 256,\n 'AnchorHash cannot exceed 256 bytes'\n );\n\n anchorHashStore[_workstepInstanceId] = _anchorHash;\n\n emit AnchorHashSet(_workstepInstanceId, _anchorHash);\n }\n\n function getAnchorHash(\n string calldata _workstepInstanceId\n ) external view returns (string memory) {\n return anchorHashStore[_workstepInstanceId];\n }\n\n modifier onlyAdmin() {\n require(\n hasRole(ADMIN_ROLE, msg.sender),\n 'Only admin can call this function'\n );\n _;\n }\n}\n"},"contracts/workstep1Verifier.sol":{"content":"// SPDX-License-Identifier: GPL-3.0\n/*\n Copyright 2021 0KIMS association.\n\n This file is generated with [snarkJS](https://github.com/iden3/snarkjs).\n\n snarkJS is a free software: you can redistribute it and/or modify it\n under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n snarkJS is distributed in the hope that it will be useful, but WITHOUT\n ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public\n License for more details.\n\n You should have received a copy of the GNU General Public License\n along with snarkJS. If not, see .\n*/\n\n\npragma solidity >=0.7.0 <0.9.0;\n\ncontract PlonkVerifier {\n \n uint32 constant n = 32768;\n uint16 constant nPublic = 1;\n uint16 constant nLagrange = 1;\n \n uint256 constant Qmx = 10194515970599655109282911583529565849380113195932357171927870801826137307774;\n uint256 constant Qmy = 13140940011443490941222100702885231336933018003050133753669339785410949789318;\n uint256 constant Qlx = 9075702821792504836345109031609121656336462373875253577566881197906035654776;\n uint256 constant Qly = 18954037199706809918078978569604036271719091221321522515280996454686959634667;\n uint256 constant Qrx = 14125739754959425112951448565023067073272356473857387194868146753139341737481;\n uint256 constant Qry = 9211804802878452259667024877839323417493810024412294758516974036979308136919;\n uint256 constant Qox = 13352593265832352698392334901719590216083652550510765281779096890792086115148;\n uint256 constant Qoy = 21171212246999274828233761278619486390083267569257427931416020748289597739922;\n uint256 constant Qcx = 5480056686458973564008058219103481932927511500969774465272533080708796456916;\n uint256 constant Qcy = 18487662305128159302246915279383311188386526722958024410734396746249896900994;\n uint256 constant S1x = 17437666502495807466379659324529146642963221649250738321282955596403801525575;\n uint256 constant S1y = 18377485979133540239288926929244885650557281677382052473844064353786021038654;\n uint256 constant S2x = 10333151760014968029254102863611638785552971938423162339326135439408834116154;\n uint256 constant S2y = 6543452700579038735255020802571735600538633455576730189571594753630185539443;\n uint256 constant S3x = 8285393960618857014807148089475294222094460765549151605952886640511103409207;\n uint256 constant S3y = 11915398849747589245935203954132611261473678566697922313039161652306295887431;\n uint256 constant k1 = 2;\n uint256 constant k2 = 3;\n uint256 constant X2x1 = 7550171141489642323345496683737244277083256424004707715998483409540040587466;\n uint256 constant X2x2 = 13674327281456600895607819848682159502956608479735975762218411599033981559968;\n uint256 constant X2y1 = 16329427655915944908484974060898761683974646318074639198003187154525254176520;\n uint256 constant X2y2 = 19604631653040203911523494213678188005987622194545572529608835183936569820990;\n \n uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n uint256 constant w1 = 20402931748843538985151001264530049874871572933694634836567070693966133783803; \n \n uint256 constant G1x = 1;\n uint256 constant G1y = 2;\n uint256 constant G2x1 = 10857046999023057135944570762232829481370756359578518086990519993285655852781;\n uint256 constant G2x2 = 11559732032986387107991004021392285783925812861821192530917403151452391805634;\n uint256 constant G2y1 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;\n uint256 constant G2y2 = 4082367875863433681332203403145435568316851327593401208105741076214120093531;\n uint16 constant pA = 32;\n uint16 constant pB = 96;\n uint16 constant pC = 160;\n uint16 constant pZ = 224;\n uint16 constant pT1 = 288;\n uint16 constant pT2 = 352;\n uint16 constant pT3 = 416;\n uint16 constant pWxi = 480;\n uint16 constant pWxiw = 544;\n uint16 constant pEval_a = 608;\n uint16 constant pEval_b = 640;\n uint16 constant pEval_c = 672;\n uint16 constant pEval_s1 = 704;\n uint16 constant pEval_s2 = 736;\n uint16 constant pEval_zw = 768;\n uint16 constant pEval_r = 800;\n \n uint16 constant pAlpha = 0;\n uint16 constant pBeta = 32;\n uint16 constant pGamma = 64;\n uint16 constant pXi = 96;\n uint16 constant pXin = 128;\n uint16 constant pBetaXi = 160;\n uint16 constant pV1 = 192;\n uint16 constant pV2 = 224;\n uint16 constant pV3 = 256;\n uint16 constant pV4 = 288;\n uint16 constant pV5 = 320;\n uint16 constant pV6 = 352;\n uint16 constant pU = 384;\n uint16 constant pPl = 416;\n uint16 constant pEval_t = 448;\n uint16 constant pA1 = 480;\n uint16 constant pB1 = 544;\n uint16 constant pZh = 608;\n uint16 constant pZhInv = 640;\n \n uint16 constant pEval_l1 = 672;\n \n \n \n uint16 constant lastMem = 704;\n\n function verifyProof(bytes memory proof, uint[] memory pubSignals) public view returns (bool) {\n assembly {\n /////////\n // Computes the inverse using the extended euclidean algorithm\n /////////\n function inverse(a, q) -> inv {\n let t := 0 \n let newt := 1\n let r := q \n let newr := a\n let quotient\n let aux\n \n for { } newr { } {\n quotient := sdiv(r, newr)\n aux := sub(t, mul(quotient, newt))\n t:= newt\n newt:= aux\n \n aux := sub(r,mul(quotient, newr))\n r := newr\n newr := aux\n }\n \n if gt(r, 1) { revert(0,0) }\n if slt(t, 0) { t:= add(t, q) }\n\n inv := t\n }\n \n ///////\n // Computes the inverse of an array of values\n // See https://vitalik.ca/general/2018/07/21/starks_part_3.html in section where explain fields operations\n //////\n function inverseArray(pVals, n) {\n \n let pAux := mload(0x40) // Point to the next free position\n let pIn := pVals\n let lastPIn := add(pVals, mul(n, 32)) // Read n elemnts\n let acc := mload(pIn) // Read the first element\n pIn := add(pIn, 32) // Point to the second element\n let inv\n \n \n for { } lt(pIn, lastPIn) { \n pAux := add(pAux, 32) \n pIn := add(pIn, 32)\n } \n {\n mstore(pAux, acc)\n acc := mulmod(acc, mload(pIn), q)\n }\n acc := inverse(acc, q)\n \n // At this point pAux pint to the next free position we substract 1 to point to the last used\n pAux := sub(pAux, 32)\n // pIn points to the n+1 element, we substract to point to n\n pIn := sub(pIn, 32)\n lastPIn := pVals // We don't process the first element \n for { } gt(pIn, lastPIn) { \n pAux := sub(pAux, 32) \n pIn := sub(pIn, 32)\n } \n {\n inv := mulmod(acc, mload(pAux), q)\n acc := mulmod(acc, mload(pIn), q)\n mstore(pIn, inv)\n }\n // pIn points to first element, we just set it.\n mstore(pIn, acc)\n }\n \n function checkField(v) {\n if iszero(lt(v, q)) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n \n function checkInput(pProof) {\n if iszero(eq(mload(pProof), 800 )) {\n mstore(0, 0)\n return(0,0x20)\n }\n checkField(mload(add(pProof, pEval_a)))\n checkField(mload(add(pProof, pEval_b)))\n checkField(mload(add(pProof, pEval_c)))\n checkField(mload(add(pProof, pEval_s1)))\n checkField(mload(add(pProof, pEval_s2)))\n checkField(mload(add(pProof, pEval_zw)))\n checkField(mload(add(pProof, pEval_r)))\n\n // Points are checked in the point operations precompiled smart contracts\n }\n \n function calculateChallanges(pProof, pMem, pPublic) {\n \n let a\n let b\n\n \n mstore( add(pMem, 704 ), mload( add( pPublic, 32)))\n \n mstore( add(pMem, 736 ), mload( add( pProof, pA)))\n mstore( add(pMem, 768 ), mload( add( pProof, add(pA,32))))\n mstore( add(pMem, 800 ), mload( add( pProof, add(pA,64))))\n mstore( add(pMem, 832 ), mload( add( pProof, add(pA,96))))\n mstore( add(pMem, 864 ), mload( add( pProof, add(pA,128))))\n mstore( add(pMem, 896 ), mload( add( pProof, add(pA,160))))\n \n b := mod(keccak256(add(pMem, lastMem), 224), q) \n mstore( add(pMem, pBeta), b)\n mstore( add(pMem, pGamma), mod(keccak256(add(pMem, pBeta), 32), q))\n mstore( add(pMem, pAlpha), mod(keccak256(add(pProof, pZ), 64), q))\n \n a := mod(keccak256(add(pProof, pT1), 192), q)\n mstore( add(pMem, pXi), a)\n mstore( add(pMem, pBetaXi), mulmod(b, a, q))\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n mstore( add(pMem, pXin), a)\n a:= mod(add(sub(a, 1),q), q)\n mstore( add(pMem, pZh), a)\n mstore( add(pMem, pZhInv), a) // We will invert later together with lagrange pols\n \n let v1 := mod(keccak256(add(pProof, pEval_a), 224), q)\n mstore( add(pMem, pV1), v1)\n a := mulmod(v1, v1, q)\n mstore( add(pMem, pV2), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV3), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV4), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV5), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV6), a)\n \n mstore( add(pMem, pU), mod(keccak256(add(pProof, pWxi), 128), q))\n }\n \n function calculateLagrange(pMem) {\n\n let w := 1 \n \n mstore(\n add(pMem, pEval_l1), \n mulmod(\n n, \n mod(\n add(\n sub(\n mload(add(pMem, pXi)), \n w\n ), \n q\n ),\n q\n ), \n q\n )\n )\n \n \n \n inverseArray(add(pMem, pZhInv), 2 )\n \n let zh := mload(add(pMem, pZh))\n w := 1\n \n \n mstore(\n add(pMem, pEval_l1 ), \n mulmod(\n mload(add(pMem, pEval_l1 )),\n zh,\n q\n )\n )\n \n \n \n\n\n }\n \n function calculatePl(pMem, pPub) {\n let pl := 0\n \n \n pl := mod(\n add(\n sub(\n pl, \n mulmod(\n mload(add(pMem, pEval_l1)),\n mload(add(pPub, 32)),\n q\n )\n ),\n q\n ),\n q\n )\n \n \n mstore(add(pMem, pPl), pl)\n \n\n }\n\n function calculateT(pProof, pMem) {\n let t\n let t1\n let t2\n t := addmod(\n mload(add(pProof, pEval_r)), \n mload(add(pMem, pPl)), \n q\n )\n \n t1 := mulmod(\n mload(add(pProof, pEval_s1)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t1 := addmod(\n t1,\n mload(add(pProof, pEval_a)),\n q\n )\n \n t1 := addmod(\n t1,\n mload(add(pMem, pGamma)),\n q\n )\n\n t2 := mulmod(\n mload(add(pProof, pEval_s2)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t2 := addmod(\n t2,\n mload(add(pProof, pEval_b)),\n q\n )\n \n t2 := addmod(\n t2,\n mload(add(pMem, pGamma)),\n q\n )\n \n t1 := mulmod(t1, t2, q)\n \n t2 := addmod(\n mload(add(pProof, pEval_c)),\n mload(add(pMem, pGamma)),\n q\n )\n\n t1 := mulmod(t1, t2, q)\n t1 := mulmod(t1, mload(add(pProof, pEval_zw)), q)\n t1 := mulmod(t1, mload(add(pMem, pAlpha)), q)\n \n t2 := mulmod(\n mload(add(pMem, pEval_l1)), \n mload(add(pMem, pAlpha)), \n q\n )\n\n t2 := mulmod(\n t2, \n mload(add(pMem, pAlpha)), \n q\n )\n\n t1 := addmod(t1, t2, q)\n \n t := mod(sub(add(t, q), t1), q)\n t := mulmod(t, mload(add(pMem, pZhInv)), q)\n \n mstore( add(pMem, pEval_t) , t)\n\n }\n \n function g1_set(pR, pP) {\n mstore(pR, mload(pP))\n mstore(add(pR, 32), mload(add(pP,32)))\n }\n\n function g1_acc(pR, pP) {\n let mIn := mload(0x40)\n mstore(mIn, mload(pR))\n mstore(add(mIn,32), mload(add(pR, 32)))\n mstore(add(mIn,64), mload(pP))\n mstore(add(mIn,96), mload(add(pP, 32)))\n\n let success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulAcc(pR, pP, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, mload(pP))\n mstore(add(mIn,32), mload(add(pP, 32)))\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n }\n\n function g1_mulAccC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulSetC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n\n function calculateA1(pProof, pMem) {\n let p := add(pMem, pA1)\n g1_set(p, add(pProof, pWxi))\n g1_mulAcc(p, add(pProof, pWxiw), mload(add(pMem, pU)))\n }\n \n \n function calculateB1(pProof, pMem) {\n let s\n let s1\n let p := add(pMem, pB1)\n \n // Calculate D\n s := mulmod( mload(add(pProof, pEval_a)), mload(add(pMem, pV1)), q)\n g1_mulSetC(p, Qlx, Qly, s)\n\n s := mulmod( s, mload(add(pProof, pEval_b)), q) \n g1_mulAccC(p, Qmx, Qmy, s)\n\n s := mulmod( mload(add(pProof, pEval_b)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qrx, Qry, s)\n \n s := mulmod( mload(add(pProof, pEval_c)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qox, Qoy, s)\n\n s :=mload(add(pMem, pV1))\n g1_mulAccC(p, Qcx, Qcy, s)\n\n s := addmod(mload(add(pProof, pEval_a)), mload(add(pMem, pBetaXi)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(k1, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s1 := mulmod(k2, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_c)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s1 := mulmod(mload(add(pMem, pEval_l1)), mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pV1)), q)\n s := addmod(s, s1, q)\n s := addmod(s, mload(add(pMem, pU)), q)\n g1_mulAcc(p, add(pProof, pZ), s)\n \n s := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s1)), q)\n s := addmod(s, mload(add(pProof, pEval_a)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s2)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s := mulmod(s, mload(add(pMem, pBeta)), q)\n s := mulmod(s, mload(add(pProof, pEval_zw)), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, S3x, S3y, s)\n\n\n // calculate F\n g1_acc(p , add(pProof, pT1))\n\n s := mload(add(pMem, pXin))\n g1_mulAcc(p, add(pProof, pT2), s)\n \n s := mulmod(s, s, q)\n g1_mulAcc(p, add(pProof, pT3), s)\n \n g1_mulAcc(p, add(pProof, pA), mload(add(pMem, pV2)))\n g1_mulAcc(p, add(pProof, pB), mload(add(pMem, pV3)))\n g1_mulAcc(p, add(pProof, pC), mload(add(pMem, pV4)))\n g1_mulAccC(p, S1x, S1y, mload(add(pMem, pV5)))\n g1_mulAccC(p, S2x, S2y, mload(add(pMem, pV6)))\n \n // calculate E\n s := mload(add(pMem, pEval_t))\n s := addmod(s, mulmod(mload(add(pProof, pEval_r)), mload(add(pMem, pV1)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_a)), mload(add(pMem, pV2)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_b)), mload(add(pMem, pV3)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_c)), mload(add(pMem, pV4)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s1)), mload(add(pMem, pV5)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s2)), mload(add(pMem, pV6)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_zw)), mload(add(pMem, pU)), q), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, G1x, G1y, s)\n \n \n // Last part of B\n s := mload(add(pMem, pXi))\n g1_mulAcc(p, add(pProof, pWxi), s)\n\n s := mulmod(mload(add(pMem, pU)), mload(add(pMem, pXi)), q)\n s := mulmod(s, w1, q)\n g1_mulAcc(p, add(pProof, pWxiw), s)\n\n }\n \n function checkPairing(pMem) -> isOk {\n let mIn := mload(0x40)\n mstore(mIn, mload(add(pMem, pA1)))\n mstore(add(mIn,32), mload(add(add(pMem, pA1), 32)))\n mstore(add(mIn,64), X2x2)\n mstore(add(mIn,96), X2x1)\n mstore(add(mIn,128), X2y2)\n mstore(add(mIn,160), X2y1)\n mstore(add(mIn,192), mload(add(pMem, pB1)))\n let s := mload(add(add(pMem, pB1), 32))\n s := mod(sub(qf, s), qf)\n mstore(add(mIn,224), s)\n mstore(add(mIn,256), G2x2)\n mstore(add(mIn,288), G2x1)\n mstore(add(mIn,320), G2y2)\n mstore(add(mIn,352), G2y1)\n \n let success := staticcall(sub(gas(), 2000), 8, mIn, 384, mIn, 0x20)\n \n isOk := and(success, mload(mIn))\n }\n \n let pMem := mload(0x40)\n mstore(0x40, add(pMem, lastMem))\n \n checkInput(proof)\n calculateChallanges(proof, pMem, pubSignals)\n calculateLagrange(pMem)\n calculatePl(pMem, pubSignals)\n calculateT(proof, pMem)\n calculateA1(proof, pMem)\n calculateB1(proof, pMem)\n let isValid := checkPairing(pMem)\n \n mstore(0x40, sub(pMem, lastMem))\n mstore(0, isValid)\n return(0,0x20)\n }\n \n }\n}\n"},"contracts/workstep2Verifier.sol":{"content":"// SPDX-License-Identifier: GPL-3.0\n/*\n Copyright 2021 0KIMS association.\n\n This file is generated with [snarkJS](https://github.com/iden3/snarkjs).\n\n snarkJS is a free software: you can redistribute it and/or modify it\n under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n snarkJS is distributed in the hope that it will be useful, but WITHOUT\n ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public\n License for more details.\n\n You should have received a copy of the GNU General Public License\n along with snarkJS. If not, see .\n*/\n\n\npragma solidity >=0.7.0 <0.9.0;\n\ncontract PlonkVerifier {\n \n uint32 constant n = 32768;\n uint16 constant nPublic = 1;\n uint16 constant nLagrange = 1;\n \n uint256 constant Qmx = 9031014201334786598437474819333373897984837472962630324851335361844058545780;\n uint256 constant Qmy = 16607210786086921981367283815049778740600968770620223098147538097138430537595;\n uint256 constant Qlx = 6808278280485306759745548891536191162342236099697633650996345740914224220305;\n uint256 constant Qly = 3270170195800647956439730797339220040656917583598598133609260645618986123588;\n uint256 constant Qrx = 6148500901704548782540313024093324774763190834353235759778239054380115761181;\n uint256 constant Qry = 17496928704547418787249113629100332597587390388927992302390890724367334325226;\n uint256 constant Qox = 21659278811951783556483125629272843184764885478213749993598444862278045884755;\n uint256 constant Qoy = 16660597475205619545281468126006239987539267348200340592793952148487504874309;\n uint256 constant Qcx = 5305510349838087338783547875566294471771494030996437605662252026376037082958;\n uint256 constant Qcy = 19377334097772342373923876594211562277705091388899497313132675599004144975313;\n uint256 constant S1x = 13511374588247167997414482771460319777500130147065290737814654512741747616346;\n uint256 constant S1y = 9410442723228155800609023852081630300440285014469359549251506116352343840765;\n uint256 constant S2x = 6234343642032529676304475840139856609542183618893282794848722265839404121608;\n uint256 constant S2y = 198081256679397470117078185378786682134167977767481936106730933658216400205;\n uint256 constant S3x = 15607364487714913306100446210105619358733676078036562302151585058643715232255;\n uint256 constant S3y = 16418203895932101971661510317717759015568131982287223931136504811190200970422;\n uint256 constant k1 = 2;\n uint256 constant k2 = 3;\n uint256 constant X2x1 = 7550171141489642323345496683737244277083256424004707715998483409540040587466;\n uint256 constant X2x2 = 13674327281456600895607819848682159502956608479735975762218411599033981559968;\n uint256 constant X2y1 = 16329427655915944908484974060898761683974646318074639198003187154525254176520;\n uint256 constant X2y2 = 19604631653040203911523494213678188005987622194545572529608835183936569820990;\n \n uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n uint256 constant w1 = 20402931748843538985151001264530049874871572933694634836567070693966133783803; \n \n uint256 constant G1x = 1;\n uint256 constant G1y = 2;\n uint256 constant G2x1 = 10857046999023057135944570762232829481370756359578518086990519993285655852781;\n uint256 constant G2x2 = 11559732032986387107991004021392285783925812861821192530917403151452391805634;\n uint256 constant G2y1 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;\n uint256 constant G2y2 = 4082367875863433681332203403145435568316851327593401208105741076214120093531;\n uint16 constant pA = 32;\n uint16 constant pB = 96;\n uint16 constant pC = 160;\n uint16 constant pZ = 224;\n uint16 constant pT1 = 288;\n uint16 constant pT2 = 352;\n uint16 constant pT3 = 416;\n uint16 constant pWxi = 480;\n uint16 constant pWxiw = 544;\n uint16 constant pEval_a = 608;\n uint16 constant pEval_b = 640;\n uint16 constant pEval_c = 672;\n uint16 constant pEval_s1 = 704;\n uint16 constant pEval_s2 = 736;\n uint16 constant pEval_zw = 768;\n uint16 constant pEval_r = 800;\n \n uint16 constant pAlpha = 0;\n uint16 constant pBeta = 32;\n uint16 constant pGamma = 64;\n uint16 constant pXi = 96;\n uint16 constant pXin = 128;\n uint16 constant pBetaXi = 160;\n uint16 constant pV1 = 192;\n uint16 constant pV2 = 224;\n uint16 constant pV3 = 256;\n uint16 constant pV4 = 288;\n uint16 constant pV5 = 320;\n uint16 constant pV6 = 352;\n uint16 constant pU = 384;\n uint16 constant pPl = 416;\n uint16 constant pEval_t = 448;\n uint16 constant pA1 = 480;\n uint16 constant pB1 = 544;\n uint16 constant pZh = 608;\n uint16 constant pZhInv = 640;\n \n uint16 constant pEval_l1 = 672;\n \n \n \n uint16 constant lastMem = 704;\n\n function verifyProof(bytes memory proof, uint[] memory pubSignals) public view returns (bool) {\n assembly {\n /////////\n // Computes the inverse using the extended euclidean algorithm\n /////////\n function inverse(a, q) -> inv {\n let t := 0 \n let newt := 1\n let r := q \n let newr := a\n let quotient\n let aux\n \n for { } newr { } {\n quotient := sdiv(r, newr)\n aux := sub(t, mul(quotient, newt))\n t:= newt\n newt:= aux\n \n aux := sub(r,mul(quotient, newr))\n r := newr\n newr := aux\n }\n \n if gt(r, 1) { revert(0,0) }\n if slt(t, 0) { t:= add(t, q) }\n\n inv := t\n }\n \n ///////\n // Computes the inverse of an array of values\n // See https://vitalik.ca/general/2018/07/21/starks_part_3.html in section where explain fields operations\n //////\n function inverseArray(pVals, n) {\n \n let pAux := mload(0x40) // Point to the next free position\n let pIn := pVals\n let lastPIn := add(pVals, mul(n, 32)) // Read n elemnts\n let acc := mload(pIn) // Read the first element\n pIn := add(pIn, 32) // Point to the second element\n let inv\n \n \n for { } lt(pIn, lastPIn) { \n pAux := add(pAux, 32) \n pIn := add(pIn, 32)\n } \n {\n mstore(pAux, acc)\n acc := mulmod(acc, mload(pIn), q)\n }\n acc := inverse(acc, q)\n \n // At this point pAux pint to the next free position we substract 1 to point to the last used\n pAux := sub(pAux, 32)\n // pIn points to the n+1 element, we substract to point to n\n pIn := sub(pIn, 32)\n lastPIn := pVals // We don't process the first element \n for { } gt(pIn, lastPIn) { \n pAux := sub(pAux, 32) \n pIn := sub(pIn, 32)\n } \n {\n inv := mulmod(acc, mload(pAux), q)\n acc := mulmod(acc, mload(pIn), q)\n mstore(pIn, inv)\n }\n // pIn points to first element, we just set it.\n mstore(pIn, acc)\n }\n \n function checkField(v) {\n if iszero(lt(v, q)) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n \n function checkInput(pProof) {\n if iszero(eq(mload(pProof), 800 )) {\n mstore(0, 0)\n return(0,0x20)\n }\n checkField(mload(add(pProof, pEval_a)))\n checkField(mload(add(pProof, pEval_b)))\n checkField(mload(add(pProof, pEval_c)))\n checkField(mload(add(pProof, pEval_s1)))\n checkField(mload(add(pProof, pEval_s2)))\n checkField(mload(add(pProof, pEval_zw)))\n checkField(mload(add(pProof, pEval_r)))\n\n // Points are checked in the point operations precompiled smart contracts\n }\n \n function calculateChallanges(pProof, pMem, pPublic) {\n \n let a\n let b\n\n \n mstore( add(pMem, 704 ), mload( add( pPublic, 32)))\n \n mstore( add(pMem, 736 ), mload( add( pProof, pA)))\n mstore( add(pMem, 768 ), mload( add( pProof, add(pA,32))))\n mstore( add(pMem, 800 ), mload( add( pProof, add(pA,64))))\n mstore( add(pMem, 832 ), mload( add( pProof, add(pA,96))))\n mstore( add(pMem, 864 ), mload( add( pProof, add(pA,128))))\n mstore( add(pMem, 896 ), mload( add( pProof, add(pA,160))))\n \n b := mod(keccak256(add(pMem, lastMem), 224), q) \n mstore( add(pMem, pBeta), b)\n mstore( add(pMem, pGamma), mod(keccak256(add(pMem, pBeta), 32), q))\n mstore( add(pMem, pAlpha), mod(keccak256(add(pProof, pZ), 64), q))\n \n a := mod(keccak256(add(pProof, pT1), 192), q)\n mstore( add(pMem, pXi), a)\n mstore( add(pMem, pBetaXi), mulmod(b, a, q))\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n mstore( add(pMem, pXin), a)\n a:= mod(add(sub(a, 1),q), q)\n mstore( add(pMem, pZh), a)\n mstore( add(pMem, pZhInv), a) // We will invert later together with lagrange pols\n \n let v1 := mod(keccak256(add(pProof, pEval_a), 224), q)\n mstore( add(pMem, pV1), v1)\n a := mulmod(v1, v1, q)\n mstore( add(pMem, pV2), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV3), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV4), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV5), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV6), a)\n \n mstore( add(pMem, pU), mod(keccak256(add(pProof, pWxi), 128), q))\n }\n \n function calculateLagrange(pMem) {\n\n let w := 1 \n \n mstore(\n add(pMem, pEval_l1), \n mulmod(\n n, \n mod(\n add(\n sub(\n mload(add(pMem, pXi)), \n w\n ), \n q\n ),\n q\n ), \n q\n )\n )\n \n \n \n inverseArray(add(pMem, pZhInv), 2 )\n \n let zh := mload(add(pMem, pZh))\n w := 1\n \n \n mstore(\n add(pMem, pEval_l1 ), \n mulmod(\n mload(add(pMem, pEval_l1 )),\n zh,\n q\n )\n )\n \n \n \n\n\n }\n \n function calculatePl(pMem, pPub) {\n let pl := 0\n \n \n pl := mod(\n add(\n sub(\n pl, \n mulmod(\n mload(add(pMem, pEval_l1)),\n mload(add(pPub, 32)),\n q\n )\n ),\n q\n ),\n q\n )\n \n \n mstore(add(pMem, pPl), pl)\n \n\n }\n\n function calculateT(pProof, pMem) {\n let t\n let t1\n let t2\n t := addmod(\n mload(add(pProof, pEval_r)), \n mload(add(pMem, pPl)), \n q\n )\n \n t1 := mulmod(\n mload(add(pProof, pEval_s1)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t1 := addmod(\n t1,\n mload(add(pProof, pEval_a)),\n q\n )\n \n t1 := addmod(\n t1,\n mload(add(pMem, pGamma)),\n q\n )\n\n t2 := mulmod(\n mload(add(pProof, pEval_s2)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t2 := addmod(\n t2,\n mload(add(pProof, pEval_b)),\n q\n )\n \n t2 := addmod(\n t2,\n mload(add(pMem, pGamma)),\n q\n )\n \n t1 := mulmod(t1, t2, q)\n \n t2 := addmod(\n mload(add(pProof, pEval_c)),\n mload(add(pMem, pGamma)),\n q\n )\n\n t1 := mulmod(t1, t2, q)\n t1 := mulmod(t1, mload(add(pProof, pEval_zw)), q)\n t1 := mulmod(t1, mload(add(pMem, pAlpha)), q)\n \n t2 := mulmod(\n mload(add(pMem, pEval_l1)), \n mload(add(pMem, pAlpha)), \n q\n )\n\n t2 := mulmod(\n t2, \n mload(add(pMem, pAlpha)), \n q\n )\n\n t1 := addmod(t1, t2, q)\n \n t := mod(sub(add(t, q), t1), q)\n t := mulmod(t, mload(add(pMem, pZhInv)), q)\n \n mstore( add(pMem, pEval_t) , t)\n\n }\n \n function g1_set(pR, pP) {\n mstore(pR, mload(pP))\n mstore(add(pR, 32), mload(add(pP,32)))\n }\n\n function g1_acc(pR, pP) {\n let mIn := mload(0x40)\n mstore(mIn, mload(pR))\n mstore(add(mIn,32), mload(add(pR, 32)))\n mstore(add(mIn,64), mload(pP))\n mstore(add(mIn,96), mload(add(pP, 32)))\n\n let success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulAcc(pR, pP, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, mload(pP))\n mstore(add(mIn,32), mload(add(pP, 32)))\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n }\n\n function g1_mulAccC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulSetC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n\n function calculateA1(pProof, pMem) {\n let p := add(pMem, pA1)\n g1_set(p, add(pProof, pWxi))\n g1_mulAcc(p, add(pProof, pWxiw), mload(add(pMem, pU)))\n }\n \n \n function calculateB1(pProof, pMem) {\n let s\n let s1\n let p := add(pMem, pB1)\n \n // Calculate D\n s := mulmod( mload(add(pProof, pEval_a)), mload(add(pMem, pV1)), q)\n g1_mulSetC(p, Qlx, Qly, s)\n\n s := mulmod( s, mload(add(pProof, pEval_b)), q) \n g1_mulAccC(p, Qmx, Qmy, s)\n\n s := mulmod( mload(add(pProof, pEval_b)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qrx, Qry, s)\n \n s := mulmod( mload(add(pProof, pEval_c)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qox, Qoy, s)\n\n s :=mload(add(pMem, pV1))\n g1_mulAccC(p, Qcx, Qcy, s)\n\n s := addmod(mload(add(pProof, pEval_a)), mload(add(pMem, pBetaXi)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(k1, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s1 := mulmod(k2, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_c)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s1 := mulmod(mload(add(pMem, pEval_l1)), mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pV1)), q)\n s := addmod(s, s1, q)\n s := addmod(s, mload(add(pMem, pU)), q)\n g1_mulAcc(p, add(pProof, pZ), s)\n \n s := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s1)), q)\n s := addmod(s, mload(add(pProof, pEval_a)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s2)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s := mulmod(s, mload(add(pMem, pBeta)), q)\n s := mulmod(s, mload(add(pProof, pEval_zw)), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, S3x, S3y, s)\n\n\n // calculate F\n g1_acc(p , add(pProof, pT1))\n\n s := mload(add(pMem, pXin))\n g1_mulAcc(p, add(pProof, pT2), s)\n \n s := mulmod(s, s, q)\n g1_mulAcc(p, add(pProof, pT3), s)\n \n g1_mulAcc(p, add(pProof, pA), mload(add(pMem, pV2)))\n g1_mulAcc(p, add(pProof, pB), mload(add(pMem, pV3)))\n g1_mulAcc(p, add(pProof, pC), mload(add(pMem, pV4)))\n g1_mulAccC(p, S1x, S1y, mload(add(pMem, pV5)))\n g1_mulAccC(p, S2x, S2y, mload(add(pMem, pV6)))\n \n // calculate E\n s := mload(add(pMem, pEval_t))\n s := addmod(s, mulmod(mload(add(pProof, pEval_r)), mload(add(pMem, pV1)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_a)), mload(add(pMem, pV2)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_b)), mload(add(pMem, pV3)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_c)), mload(add(pMem, pV4)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s1)), mload(add(pMem, pV5)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s2)), mload(add(pMem, pV6)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_zw)), mload(add(pMem, pU)), q), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, G1x, G1y, s)\n \n \n // Last part of B\n s := mload(add(pMem, pXi))\n g1_mulAcc(p, add(pProof, pWxi), s)\n\n s := mulmod(mload(add(pMem, pU)), mload(add(pMem, pXi)), q)\n s := mulmod(s, w1, q)\n g1_mulAcc(p, add(pProof, pWxiw), s)\n\n }\n \n function checkPairing(pMem) -> isOk {\n let mIn := mload(0x40)\n mstore(mIn, mload(add(pMem, pA1)))\n mstore(add(mIn,32), mload(add(add(pMem, pA1), 32)))\n mstore(add(mIn,64), X2x2)\n mstore(add(mIn,96), X2x1)\n mstore(add(mIn,128), X2y2)\n mstore(add(mIn,160), X2y1)\n mstore(add(mIn,192), mload(add(pMem, pB1)))\n let s := mload(add(add(pMem, pB1), 32))\n s := mod(sub(qf, s), qf)\n mstore(add(mIn,224), s)\n mstore(add(mIn,256), G2x2)\n mstore(add(mIn,288), G2x1)\n mstore(add(mIn,320), G2y2)\n mstore(add(mIn,352), G2y1)\n \n let success := staticcall(sub(gas(), 2000), 8, mIn, 384, mIn, 0x20)\n \n isOk := and(success, mload(mIn))\n }\n \n let pMem := mload(0x40)\n mstore(0x40, add(pMem, lastMem))\n \n checkInput(proof)\n calculateChallanges(proof, pMem, pubSignals)\n calculateLagrange(pMem)\n calculatePl(pMem, pubSignals)\n calculateT(proof, pMem)\n calculateA1(proof, pMem)\n calculateB1(proof, pMem)\n let isValid := checkPairing(pMem)\n \n mstore(0x40, sub(pMem, lastMem))\n mstore(0, isValid)\n return(0,0x20)\n }\n \n }\n}\n"},"contracts/workstep3Verifier.sol":{"content":"// SPDX-License-Identifier: GPL-3.0\n/*\n Copyright 2021 0KIMS association.\n\n This file is generated with [snarkJS](https://github.com/iden3/snarkjs).\n\n snarkJS is a free software: you can redistribute it and/or modify it\n under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n snarkJS is distributed in the hope that it will be useful, but WITHOUT\n ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public\n License for more details.\n\n You should have received a copy of the GNU General Public License\n along with snarkJS. If not, see .\n*/\n\n\npragma solidity >=0.7.0 <0.9.0;\n\ncontract PlonkVerifier {\n \n uint32 constant n = 32768;\n uint16 constant nPublic = 1;\n uint16 constant nLagrange = 1;\n \n uint256 constant Qmx = 9031014201334786598437474819333373897984837472962630324851335361844058545780;\n uint256 constant Qmy = 16607210786086921981367283815049778740600968770620223098147538097138430537595;\n uint256 constant Qlx = 6808278280485306759745548891536191162342236099697633650996345740914224220305;\n uint256 constant Qly = 3270170195800647956439730797339220040656917583598598133609260645618986123588;\n uint256 constant Qrx = 19867659962940379415833721956196885812592831298524381980555731113220022045761;\n uint256 constant Qry = 5839482012031765332886537848770371473868238809091147323904600653094947875345;\n uint256 constant Qox = 21659278811951783556483125629272843184764885478213749993598444862278045884755;\n uint256 constant Qoy = 16660597475205619545281468126006239987539267348200340592793952148487504874309;\n uint256 constant Qcx = 5305510349838087338783547875566294471771494030996437605662252026376037082958;\n uint256 constant Qcy = 19377334097772342373923876594211562277705091388899497313132675599004144975313;\n uint256 constant S1x = 13511374588247167997414482771460319777500130147065290737814654512741747616346;\n uint256 constant S1y = 9410442723228155800609023852081630300440285014469359549251506116352343840765;\n uint256 constant S2x = 6234343642032529676304475840139856609542183618893282794848722265839404121608;\n uint256 constant S2y = 198081256679397470117078185378786682134167977767481936106730933658216400205;\n uint256 constant S3x = 15607364487714913306100446210105619358733676078036562302151585058643715232255;\n uint256 constant S3y = 16418203895932101971661510317717759015568131982287223931136504811190200970422;\n uint256 constant k1 = 2;\n uint256 constant k2 = 3;\n uint256 constant X2x1 = 7550171141489642323345496683737244277083256424004707715998483409540040587466;\n uint256 constant X2x2 = 13674327281456600895607819848682159502956608479735975762218411599033981559968;\n uint256 constant X2y1 = 16329427655915944908484974060898761683974646318074639198003187154525254176520;\n uint256 constant X2y2 = 19604631653040203911523494213678188005987622194545572529608835183936569820990;\n \n uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n uint256 constant w1 = 20402931748843538985151001264530049874871572933694634836567070693966133783803; \n \n uint256 constant G1x = 1;\n uint256 constant G1y = 2;\n uint256 constant G2x1 = 10857046999023057135944570762232829481370756359578518086990519993285655852781;\n uint256 constant G2x2 = 11559732032986387107991004021392285783925812861821192530917403151452391805634;\n uint256 constant G2y1 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;\n uint256 constant G2y2 = 4082367875863433681332203403145435568316851327593401208105741076214120093531;\n uint16 constant pA = 32;\n uint16 constant pB = 96;\n uint16 constant pC = 160;\n uint16 constant pZ = 224;\n uint16 constant pT1 = 288;\n uint16 constant pT2 = 352;\n uint16 constant pT3 = 416;\n uint16 constant pWxi = 480;\n uint16 constant pWxiw = 544;\n uint16 constant pEval_a = 608;\n uint16 constant pEval_b = 640;\n uint16 constant pEval_c = 672;\n uint16 constant pEval_s1 = 704;\n uint16 constant pEval_s2 = 736;\n uint16 constant pEval_zw = 768;\n uint16 constant pEval_r = 800;\n \n uint16 constant pAlpha = 0;\n uint16 constant pBeta = 32;\n uint16 constant pGamma = 64;\n uint16 constant pXi = 96;\n uint16 constant pXin = 128;\n uint16 constant pBetaXi = 160;\n uint16 constant pV1 = 192;\n uint16 constant pV2 = 224;\n uint16 constant pV3 = 256;\n uint16 constant pV4 = 288;\n uint16 constant pV5 = 320;\n uint16 constant pV6 = 352;\n uint16 constant pU = 384;\n uint16 constant pPl = 416;\n uint16 constant pEval_t = 448;\n uint16 constant pA1 = 480;\n uint16 constant pB1 = 544;\n uint16 constant pZh = 608;\n uint16 constant pZhInv = 640;\n \n uint16 constant pEval_l1 = 672;\n \n \n \n uint16 constant lastMem = 704;\n\n function verifyProof(bytes memory proof, uint[] memory pubSignals) public view returns (bool) {\n assembly {\n /////////\n // Computes the inverse using the extended euclidean algorithm\n /////////\n function inverse(a, q) -> inv {\n let t := 0 \n let newt := 1\n let r := q \n let newr := a\n let quotient\n let aux\n \n for { } newr { } {\n quotient := sdiv(r, newr)\n aux := sub(t, mul(quotient, newt))\n t:= newt\n newt:= aux\n \n aux := sub(r,mul(quotient, newr))\n r := newr\n newr := aux\n }\n \n if gt(r, 1) { revert(0,0) }\n if slt(t, 0) { t:= add(t, q) }\n\n inv := t\n }\n \n ///////\n // Computes the inverse of an array of values\n // See https://vitalik.ca/general/2018/07/21/starks_part_3.html in section where explain fields operations\n //////\n function inverseArray(pVals, n) {\n \n let pAux := mload(0x40) // Point to the next free position\n let pIn := pVals\n let lastPIn := add(pVals, mul(n, 32)) // Read n elemnts\n let acc := mload(pIn) // Read the first element\n pIn := add(pIn, 32) // Point to the second element\n let inv\n \n \n for { } lt(pIn, lastPIn) { \n pAux := add(pAux, 32) \n pIn := add(pIn, 32)\n } \n {\n mstore(pAux, acc)\n acc := mulmod(acc, mload(pIn), q)\n }\n acc := inverse(acc, q)\n \n // At this point pAux pint to the next free position we substract 1 to point to the last used\n pAux := sub(pAux, 32)\n // pIn points to the n+1 element, we substract to point to n\n pIn := sub(pIn, 32)\n lastPIn := pVals // We don't process the first element \n for { } gt(pIn, lastPIn) { \n pAux := sub(pAux, 32) \n pIn := sub(pIn, 32)\n } \n {\n inv := mulmod(acc, mload(pAux), q)\n acc := mulmod(acc, mload(pIn), q)\n mstore(pIn, inv)\n }\n // pIn points to first element, we just set it.\n mstore(pIn, acc)\n }\n \n function checkField(v) {\n if iszero(lt(v, q)) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n \n function checkInput(pProof) {\n if iszero(eq(mload(pProof), 800 )) {\n mstore(0, 0)\n return(0,0x20)\n }\n checkField(mload(add(pProof, pEval_a)))\n checkField(mload(add(pProof, pEval_b)))\n checkField(mload(add(pProof, pEval_c)))\n checkField(mload(add(pProof, pEval_s1)))\n checkField(mload(add(pProof, pEval_s2)))\n checkField(mload(add(pProof, pEval_zw)))\n checkField(mload(add(pProof, pEval_r)))\n\n // Points are checked in the point operations precompiled smart contracts\n }\n \n function calculateChallanges(pProof, pMem, pPublic) {\n \n let a\n let b\n\n \n mstore( add(pMem, 704 ), mload( add( pPublic, 32)))\n \n mstore( add(pMem, 736 ), mload( add( pProof, pA)))\n mstore( add(pMem, 768 ), mload( add( pProof, add(pA,32))))\n mstore( add(pMem, 800 ), mload( add( pProof, add(pA,64))))\n mstore( add(pMem, 832 ), mload( add( pProof, add(pA,96))))\n mstore( add(pMem, 864 ), mload( add( pProof, add(pA,128))))\n mstore( add(pMem, 896 ), mload( add( pProof, add(pA,160))))\n \n b := mod(keccak256(add(pMem, lastMem), 224), q) \n mstore( add(pMem, pBeta), b)\n mstore( add(pMem, pGamma), mod(keccak256(add(pMem, pBeta), 32), q))\n mstore( add(pMem, pAlpha), mod(keccak256(add(pProof, pZ), 64), q))\n \n a := mod(keccak256(add(pProof, pT1), 192), q)\n mstore( add(pMem, pXi), a)\n mstore( add(pMem, pBetaXi), mulmod(b, a, q))\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n a:= mulmod(a, a, q)\n \n mstore( add(pMem, pXin), a)\n a:= mod(add(sub(a, 1),q), q)\n mstore( add(pMem, pZh), a)\n mstore( add(pMem, pZhInv), a) // We will invert later together with lagrange pols\n \n let v1 := mod(keccak256(add(pProof, pEval_a), 224), q)\n mstore( add(pMem, pV1), v1)\n a := mulmod(v1, v1, q)\n mstore( add(pMem, pV2), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV3), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV4), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV5), a)\n a := mulmod(a, v1, q)\n mstore( add(pMem, pV6), a)\n \n mstore( add(pMem, pU), mod(keccak256(add(pProof, pWxi), 128), q))\n }\n \n function calculateLagrange(pMem) {\n\n let w := 1 \n \n mstore(\n add(pMem, pEval_l1), \n mulmod(\n n, \n mod(\n add(\n sub(\n mload(add(pMem, pXi)), \n w\n ), \n q\n ),\n q\n ), \n q\n )\n )\n \n \n \n inverseArray(add(pMem, pZhInv), 2 )\n \n let zh := mload(add(pMem, pZh))\n w := 1\n \n \n mstore(\n add(pMem, pEval_l1 ), \n mulmod(\n mload(add(pMem, pEval_l1 )),\n zh,\n q\n )\n )\n \n \n \n\n\n }\n \n function calculatePl(pMem, pPub) {\n let pl := 0\n \n \n pl := mod(\n add(\n sub(\n pl, \n mulmod(\n mload(add(pMem, pEval_l1)),\n mload(add(pPub, 32)),\n q\n )\n ),\n q\n ),\n q\n )\n \n \n mstore(add(pMem, pPl), pl)\n \n\n }\n\n function calculateT(pProof, pMem) {\n let t\n let t1\n let t2\n t := addmod(\n mload(add(pProof, pEval_r)), \n mload(add(pMem, pPl)), \n q\n )\n \n t1 := mulmod(\n mload(add(pProof, pEval_s1)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t1 := addmod(\n t1,\n mload(add(pProof, pEval_a)),\n q\n )\n \n t1 := addmod(\n t1,\n mload(add(pMem, pGamma)),\n q\n )\n\n t2 := mulmod(\n mload(add(pProof, pEval_s2)),\n mload(add(pMem, pBeta)),\n q\n )\n\n t2 := addmod(\n t2,\n mload(add(pProof, pEval_b)),\n q\n )\n \n t2 := addmod(\n t2,\n mload(add(pMem, pGamma)),\n q\n )\n \n t1 := mulmod(t1, t2, q)\n \n t2 := addmod(\n mload(add(pProof, pEval_c)),\n mload(add(pMem, pGamma)),\n q\n )\n\n t1 := mulmod(t1, t2, q)\n t1 := mulmod(t1, mload(add(pProof, pEval_zw)), q)\n t1 := mulmod(t1, mload(add(pMem, pAlpha)), q)\n \n t2 := mulmod(\n mload(add(pMem, pEval_l1)), \n mload(add(pMem, pAlpha)), \n q\n )\n\n t2 := mulmod(\n t2, \n mload(add(pMem, pAlpha)), \n q\n )\n\n t1 := addmod(t1, t2, q)\n \n t := mod(sub(add(t, q), t1), q)\n t := mulmod(t, mload(add(pMem, pZhInv)), q)\n \n mstore( add(pMem, pEval_t) , t)\n\n }\n \n function g1_set(pR, pP) {\n mstore(pR, mload(pP))\n mstore(add(pR, 32), mload(add(pP,32)))\n }\n\n function g1_acc(pR, pP) {\n let mIn := mload(0x40)\n mstore(mIn, mload(pR))\n mstore(add(mIn,32), mload(add(pR, 32)))\n mstore(add(mIn,64), mload(pP))\n mstore(add(mIn,96), mload(add(pP, 32)))\n\n let success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulAcc(pR, pP, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, mload(pP))\n mstore(add(mIn,32), mload(add(pP, 32)))\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n }\n\n function g1_mulAccC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n \n mstore(add(mIn,64), mload(pR))\n mstore(add(mIn,96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n function g1_mulSetC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn,32), y)\n mstore(add(mIn,64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, pR, 64)\n \n if iszero(success) {\n mstore(0, 0)\n return(0,0x20)\n }\n }\n\n\n function calculateA1(pProof, pMem) {\n let p := add(pMem, pA1)\n g1_set(p, add(pProof, pWxi))\n g1_mulAcc(p, add(pProof, pWxiw), mload(add(pMem, pU)))\n }\n \n \n function calculateB1(pProof, pMem) {\n let s\n let s1\n let p := add(pMem, pB1)\n \n // Calculate D\n s := mulmod( mload(add(pProof, pEval_a)), mload(add(pMem, pV1)), q)\n g1_mulSetC(p, Qlx, Qly, s)\n\n s := mulmod( s, mload(add(pProof, pEval_b)), q) \n g1_mulAccC(p, Qmx, Qmy, s)\n\n s := mulmod( mload(add(pProof, pEval_b)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qrx, Qry, s)\n \n s := mulmod( mload(add(pProof, pEval_c)), mload(add(pMem, pV1)), q)\n g1_mulAccC(p, Qox, Qoy, s)\n\n s :=mload(add(pMem, pV1))\n g1_mulAccC(p, Qcx, Qcy, s)\n\n s := addmod(mload(add(pProof, pEval_a)), mload(add(pMem, pBetaXi)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(k1, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s1 := mulmod(k2, mload(add(pMem, pBetaXi)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_c)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s1 := mulmod(mload(add(pMem, pEval_l1)), mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pAlpha)), q)\n s1 := mulmod(s1, mload(add(pMem, pV1)), q)\n s := addmod(s, s1, q)\n s := addmod(s, mload(add(pMem, pU)), q)\n g1_mulAcc(p, add(pProof, pZ), s)\n \n s := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s1)), q)\n s := addmod(s, mload(add(pProof, pEval_a)), q)\n s := addmod(s, mload(add(pMem, pGamma)), q)\n s1 := mulmod(mload(add(pMem, pBeta)), mload(add(pProof, pEval_s2)), q)\n s1 := addmod(s1, mload(add(pProof, pEval_b)), q)\n s1 := addmod(s1, mload(add(pMem, pGamma)), q)\n s := mulmod(s, s1, q)\n s := mulmod(s, mload(add(pMem, pAlpha)), q)\n s := mulmod(s, mload(add(pMem, pV1)), q)\n s := mulmod(s, mload(add(pMem, pBeta)), q)\n s := mulmod(s, mload(add(pProof, pEval_zw)), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, S3x, S3y, s)\n\n\n // calculate F\n g1_acc(p , add(pProof, pT1))\n\n s := mload(add(pMem, pXin))\n g1_mulAcc(p, add(pProof, pT2), s)\n \n s := mulmod(s, s, q)\n g1_mulAcc(p, add(pProof, pT3), s)\n \n g1_mulAcc(p, add(pProof, pA), mload(add(pMem, pV2)))\n g1_mulAcc(p, add(pProof, pB), mload(add(pMem, pV3)))\n g1_mulAcc(p, add(pProof, pC), mload(add(pMem, pV4)))\n g1_mulAccC(p, S1x, S1y, mload(add(pMem, pV5)))\n g1_mulAccC(p, S2x, S2y, mload(add(pMem, pV6)))\n \n // calculate E\n s := mload(add(pMem, pEval_t))\n s := addmod(s, mulmod(mload(add(pProof, pEval_r)), mload(add(pMem, pV1)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_a)), mload(add(pMem, pV2)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_b)), mload(add(pMem, pV3)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_c)), mload(add(pMem, pV4)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s1)), mload(add(pMem, pV5)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_s2)), mload(add(pMem, pV6)), q), q)\n s := addmod(s, mulmod(mload(add(pProof, pEval_zw)), mload(add(pMem, pU)), q), q)\n s := mod(sub(q, s), q)\n g1_mulAccC(p, G1x, G1y, s)\n \n \n // Last part of B\n s := mload(add(pMem, pXi))\n g1_mulAcc(p, add(pProof, pWxi), s)\n\n s := mulmod(mload(add(pMem, pU)), mload(add(pMem, pXi)), q)\n s := mulmod(s, w1, q)\n g1_mulAcc(p, add(pProof, pWxiw), s)\n\n }\n \n function checkPairing(pMem) -> isOk {\n let mIn := mload(0x40)\n mstore(mIn, mload(add(pMem, pA1)))\n mstore(add(mIn,32), mload(add(add(pMem, pA1), 32)))\n mstore(add(mIn,64), X2x2)\n mstore(add(mIn,96), X2x1)\n mstore(add(mIn,128), X2y2)\n mstore(add(mIn,160), X2y1)\n mstore(add(mIn,192), mload(add(pMem, pB1)))\n let s := mload(add(add(pMem, pB1), 32))\n s := mod(sub(qf, s), qf)\n mstore(add(mIn,224), s)\n mstore(add(mIn,256), G2x2)\n mstore(add(mIn,288), G2x1)\n mstore(add(mIn,320), G2y2)\n mstore(add(mIn,352), G2y1)\n \n let success := staticcall(sub(gas(), 2000), 8, mIn, 384, mIn, 0x20)\n \n isOk := and(success, mload(mIn))\n }\n \n let pMem := mload(0x40)\n mstore(0x40, add(pMem, lastMem))\n \n checkInput(proof)\n calculateChallanges(proof, pMem, pubSignals)\n calculateLagrange(pMem)\n calculatePl(pMem, pubSignals)\n calculateT(proof, pMem)\n calculateA1(proof, pMem)\n calculateB1(proof, pMem)\n let isValid := checkPairing(pMem)\n \n mstore(0x40, sub(pMem, lastMem))\n mstore(0, isValid)\n return(0,0x20)\n }\n \n }\n}\n"}},"settings":{"evmVersion":"paris","optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"@openzeppelin/contracts/access/AccessControl.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/access/AccessControl.sol","exportedSymbols":{"AccessControl":[295],"Context":[408],"ERC165":[432],"IAccessControl":[378]},"id":296,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"108:24:0"},{"absolutePath":"@openzeppelin/contracts/access/IAccessControl.sol","file":"./IAccessControl.sol","id":3,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":296,"sourceUnit":379,"src":"134:52:0","symbolAliases":[{"foreign":{"id":2,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":378,"src":"142:14:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":5,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":296,"sourceUnit":409,"src":"187:45:0","symbolAliases":[{"foreign":{"id":4,"name":"Context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":408,"src":"195:7:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../utils/introspection/ERC165.sol","id":7,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":296,"sourceUnit":433,"src":"233:57:0","symbolAliases":[{"foreign":{"id":6,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":432,"src":"241:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":9,"name":"Context","nameLocations":["1988:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":408,"src":"1988:7:0"},"id":10,"nodeType":"InheritanceSpecifier","src":"1988:7:0"},{"baseName":{"id":11,"name":"IAccessControl","nameLocations":["1997:14:0"],"nodeType":"IdentifierPath","referencedDeclaration":378,"src":"1997:14:0"},"id":12,"nodeType":"InheritanceSpecifier","src":"1997:14:0"},{"baseName":{"id":13,"name":"ERC165","nameLocations":["2013:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":432,"src":"2013:6:0"},"id":14,"nodeType":"InheritanceSpecifier","src":"2013:6:0"}],"canonicalName":"AccessControl","contractDependencies":[],"contractKind":"contract","documentation":{"id":8,"nodeType":"StructuredDocumentation","src":"292:1660:0","text":" @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```solidity\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```solidity\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\n to enforce additional security measures for this role."},"fullyImplemented":true,"id":295,"linearizedBaseContracts":[295,432,444,378,408],"name":"AccessControl","nameLocation":"1971:13:0","nodeType":"ContractDefinition","nodes":[{"canonicalName":"AccessControl.RoleData","id":21,"members":[{"constant":false,"id":18,"mutability":"mutable","name":"hasRole","nameLocation":"2085:7:0","nodeType":"VariableDeclaration","scope":21,"src":"2052:40:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":17,"keyName":"account","keyNameLocation":"2068:7:0","keyType":{"id":15,"name":"address","nodeType":"ElementaryTypeName","src":"2060:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2052:32:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":16,"name":"bool","nodeType":"ElementaryTypeName","src":"2079:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":20,"mutability":"mutable","name":"adminRole","nameLocation":"2110:9:0","nodeType":"VariableDeclaration","scope":21,"src":"2102:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2102:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"RoleData","nameLocation":"2033:8:0","nodeType":"StructDefinition","scope":295,"src":"2026:100:0","visibility":"public"},{"constant":false,"id":26,"mutability":"mutable","name":"_roles","nameLocation":"2174:6:0","nodeType":"VariableDeclaration","scope":295,"src":"2132:48:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$21_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData)"},"typeName":{"id":25,"keyName":"role","keyNameLocation":"2148:4:0","keyType":{"id":22,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2140:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2132:33:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$21_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":24,"nodeType":"UserDefinedTypeName","pathNode":{"id":23,"name":"RoleData","nameLocations":["2156:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":21,"src":"2156:8:0"},"referencedDeclaration":21,"src":"2156:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$21_storage_ptr","typeString":"struct AccessControl.RoleData"}}},"visibility":"private"},{"constant":true,"functionSelector":"a217fddf","id":29,"mutability":"constant","name":"DEFAULT_ADMIN_ROLE","nameLocation":"2211:18:0","nodeType":"VariableDeclaration","scope":295,"src":"2187:49:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2187:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"30783030","id":28,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"visibility":"public"},{"body":{"id":39,"nodeType":"Block","src":"2454:44:0","statements":[{"expression":{"arguments":[{"id":35,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"2475:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":34,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[93,114],"referencedDeclaration":93,"src":"2464:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":36,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2464:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37,"nodeType":"ExpressionStatement","src":"2464:16:0"},{"id":38,"nodeType":"PlaceholderStatement","src":"2490:1:0"}]},"documentation":{"id":30,"nodeType":"StructuredDocumentation","src":"2243:174:0","text":" @dev Modifier that checks that an account has a specific role. Reverts\n with an {AccessControlUnauthorizedAccount} error including the required role."},"id":40,"name":"onlyRole","nameLocation":"2431:8:0","nodeType":"ModifierDefinition","parameters":{"id":33,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32,"mutability":"mutable","name":"role","nameLocation":"2448:4:0","nodeType":"VariableDeclaration","scope":40,"src":"2440:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2440:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2439:14:0"},"src":"2422:76:0","virtual":false,"visibility":"internal"},{"baseFunctions":[431],"body":{"id":61,"nodeType":"Block","src":"2656:111:0","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":59,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":54,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2673:11:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":51,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":378,"src":"2693:14:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$378_$","typeString":"type(contract IAccessControl)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$378_$","typeString":"type(contract IAccessControl)"}],"id":50,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2688:4:0","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":52,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2688:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IAccessControl_$378","typeString":"type(contract IAccessControl)"}},"id":53,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2709:11:0","memberName":"interfaceId","nodeType":"MemberAccess","src":"2688:32:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"2673:47:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":57,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2748:11:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":55,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2724:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControl_$295_$","typeString":"type(contract super AccessControl)"}},"id":56,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2730:17:0","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":431,"src":"2724:23:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":58,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2724:36:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2673:87:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":48,"id":60,"nodeType":"Return","src":"2666:94:0"}]},"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"2504:56:0","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":62,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"2574:17:0","nodeType":"FunctionDefinition","overrides":{"id":45,"nodeType":"OverrideSpecifier","overrides":[],"src":"2632:8:0"},"parameters":{"id":44,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43,"mutability":"mutable","name":"interfaceId","nameLocation":"2599:11:0","nodeType":"VariableDeclaration","scope":62,"src":"2592:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":42,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2592:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2591:20:0"},"returnParameters":{"id":48,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62,"src":"2650:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46,"name":"bool","nodeType":"ElementaryTypeName","src":"2650:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2649:6:0"},"scope":295,"src":"2565:202:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[345],"body":{"id":79,"nodeType":"Block","src":"2937:53:0","statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":72,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"2954:6:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$21_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":74,"indexExpression":{"id":73,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"2961:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2954:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$21_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":75,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2967:7:0","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":18,"src":"2954:20:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":77,"indexExpression":{"id":76,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"2975:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2954:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":71,"id":78,"nodeType":"Return","src":"2947:36:0"}]},"documentation":{"id":63,"nodeType":"StructuredDocumentation","src":"2773:76:0","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","id":80,"implemented":true,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"2863:7:0","nodeType":"FunctionDefinition","parameters":{"id":68,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65,"mutability":"mutable","name":"role","nameLocation":"2879:4:0","nodeType":"VariableDeclaration","scope":80,"src":"2871:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2871:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":67,"mutability":"mutable","name":"account","nameLocation":"2893:7:0","nodeType":"VariableDeclaration","scope":80,"src":"2885:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66,"name":"address","nodeType":"ElementaryTypeName","src":"2885:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2870:31:0"},"returnParameters":{"id":71,"nodeType":"ParameterList","parameters":[{"constant":false,"id":70,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80,"src":"2931:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":69,"name":"bool","nodeType":"ElementaryTypeName","src":"2931:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2930:6:0"},"scope":295,"src":"2854:136:0","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":92,"nodeType":"Block","src":"3255:47:0","statements":[{"expression":{"arguments":[{"id":87,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83,"src":"3276:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":88,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":390,"src":"3282:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":89,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3282:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":86,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[93,114],"referencedDeclaration":114,"src":"3265:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) view"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3265:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91,"nodeType":"ExpressionStatement","src":"3265:30:0"}]},"documentation":{"id":81,"nodeType":"StructuredDocumentation","src":"2996:198:0","text":" @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`\n is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier."},"id":93,"implemented":true,"kind":"function","modifiers":[],"name":"_checkRole","nameLocation":"3208:10:0","nodeType":"FunctionDefinition","parameters":{"id":84,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83,"mutability":"mutable","name":"role","nameLocation":"3227:4:0","nodeType":"VariableDeclaration","scope":93,"src":"3219:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":82,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3219:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3218:14:0"},"returnParameters":{"id":85,"nodeType":"ParameterList","parameters":[],"src":"3255:0:0"},"scope":295,"src":"3199:103:0","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":113,"nodeType":"Block","src":"3505:124:0","statements":[{"condition":{"id":105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3519:23:0","subExpression":{"arguments":[{"id":102,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3528:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":103,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"3534:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":101,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80,"src":"3520:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3520:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":112,"nodeType":"IfStatement","src":"3515:108:0","trueBody":{"id":111,"nodeType":"Block","src":"3544:79:0","statements":[{"errorCall":{"arguments":[{"id":107,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"3598:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":108,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3607:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":106,"name":"AccessControlUnauthorizedAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"3565:32:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32) pure"}},"id":109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3565:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":110,"nodeType":"RevertStatement","src":"3558:54:0"}]}}]},"documentation":{"id":94,"nodeType":"StructuredDocumentation","src":"3308:119:0","text":" @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`\n is missing `role`."},"id":114,"implemented":true,"kind":"function","modifiers":[],"name":"_checkRole","nameLocation":"3441:10:0","nodeType":"FunctionDefinition","parameters":{"id":99,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96,"mutability":"mutable","name":"role","nameLocation":"3460:4:0","nodeType":"VariableDeclaration","scope":114,"src":"3452:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":95,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3452:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":98,"mutability":"mutable","name":"account","nameLocation":"3474:7:0","nodeType":"VariableDeclaration","scope":114,"src":"3466:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":97,"name":"address","nodeType":"ElementaryTypeName","src":"3466:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3451:31:0"},"returnParameters":{"id":100,"nodeType":"ParameterList","parameters":[],"src":"3505:0:0"},"scope":295,"src":"3432:197:0","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[353],"body":{"id":127,"nodeType":"Block","src":"3884:46:0","statements":[{"expression":{"expression":{"baseExpression":{"id":122,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"3901:6:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$21_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":124,"indexExpression":{"id":123,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":117,"src":"3908:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3901:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$21_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3914:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":20,"src":"3901:22:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":121,"id":126,"nodeType":"Return","src":"3894:29:0"}]},"documentation":{"id":115,"nodeType":"StructuredDocumentation","src":"3635:170:0","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}."},"functionSelector":"248a9ca3","id":128,"implemented":true,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"3819:12:0","nodeType":"FunctionDefinition","parameters":{"id":118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":117,"mutability":"mutable","name":"role","nameLocation":"3840:4:0","nodeType":"VariableDeclaration","scope":128,"src":"3832:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3832:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3831:14:0"},"returnParameters":{"id":121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":128,"src":"3875:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3875:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3874:9:0"},"scope":295,"src":"3810:120:0","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[361],"body":{"id":146,"nodeType":"Block","src":"4320:42:0","statements":[{"expression":{"arguments":[{"id":142,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131,"src":"4341:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":143,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":133,"src":"4347:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":141,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":256,"src":"4330:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4330:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":145,"nodeType":"ExpressionStatement","src":"4330:25:0"}]},"documentation":{"id":129,"nodeType":"StructuredDocumentation","src":"3936:285:0","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleGranted} event."},"functionSelector":"2f2ff15d","id":147,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":137,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131,"src":"4313:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":136,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"4300:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4300:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":139,"kind":"modifierInvocation","modifierName":{"id":135,"name":"onlyRole","nameLocations":["4291:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":40,"src":"4291:8:0"},"nodeType":"ModifierInvocation","src":"4291:28:0"}],"name":"grantRole","nameLocation":"4235:9:0","nodeType":"FunctionDefinition","parameters":{"id":134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":131,"mutability":"mutable","name":"role","nameLocation":"4253:4:0","nodeType":"VariableDeclaration","scope":147,"src":"4245:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4245:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":133,"mutability":"mutable","name":"account","nameLocation":"4267:7:0","nodeType":"VariableDeclaration","scope":147,"src":"4259:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":132,"name":"address","nodeType":"ElementaryTypeName","src":"4259:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4244:31:0"},"returnParameters":{"id":140,"nodeType":"ParameterList","parameters":[],"src":"4320:0:0"},"scope":295,"src":"4226:136:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[369],"body":{"id":165,"nodeType":"Block","src":"4737:43:0","statements":[{"expression":{"arguments":[{"id":161,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150,"src":"4759:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":162,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":152,"src":"4765:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":160,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"4747:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4747:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":164,"nodeType":"ExpressionStatement","src":"4747:26:0"}]},"documentation":{"id":148,"nodeType":"StructuredDocumentation","src":"4368:269:0","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleRevoked} event."},"functionSelector":"d547741f","id":166,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":156,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150,"src":"4730:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":155,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"4717:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4717:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":158,"kind":"modifierInvocation","modifierName":{"id":154,"name":"onlyRole","nameLocations":["4708:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":40,"src":"4708:8:0"},"nodeType":"ModifierInvocation","src":"4708:28:0"}],"name":"revokeRole","nameLocation":"4651:10:0","nodeType":"FunctionDefinition","parameters":{"id":153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":150,"mutability":"mutable","name":"role","nameLocation":"4670:4:0","nodeType":"VariableDeclaration","scope":166,"src":"4662:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4662:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":152,"mutability":"mutable","name":"account","nameLocation":"4684:7:0","nodeType":"VariableDeclaration","scope":166,"src":"4676:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":151,"name":"address","nodeType":"ElementaryTypeName","src":"4676:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4661:31:0"},"returnParameters":{"id":159,"nodeType":"ParameterList","parameters":[],"src":"4737:0:0"},"scope":295,"src":"4642:138:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[377],"body":{"id":188,"nodeType":"Block","src":"5407:166:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":174,"name":"callerConfirmation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"5421:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":175,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":390,"src":"5443:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5443:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5421:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":182,"nodeType":"IfStatement","src":"5417:102:0","trueBody":{"id":181,"nodeType":"Block","src":"5457:62:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":178,"name":"AccessControlBadConfirmation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":308,"src":"5478:28:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5478:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180,"nodeType":"RevertStatement","src":"5471:37:0"}]}},{"expression":{"arguments":[{"id":184,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"5541:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":185,"name":"callerConfirmation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"5547:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":183,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"5529:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5529:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":187,"nodeType":"ExpressionStatement","src":"5529:37:0"}]},"documentation":{"id":167,"nodeType":"StructuredDocumentation","src":"4786:537:0","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been revoked `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `callerConfirmation`.\n May emit a {RoleRevoked} event."},"functionSelector":"36568abe","id":189,"implemented":true,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"5337:12:0","nodeType":"FunctionDefinition","parameters":{"id":172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":169,"mutability":"mutable","name":"role","nameLocation":"5358:4:0","nodeType":"VariableDeclaration","scope":189,"src":"5350:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5350:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":171,"mutability":"mutable","name":"callerConfirmation","nameLocation":"5372:18:0","nodeType":"VariableDeclaration","scope":189,"src":"5364:26:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":170,"name":"address","nodeType":"ElementaryTypeName","src":"5364:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5349:42:0"},"returnParameters":{"id":173,"nodeType":"ParameterList","parameters":[],"src":"5407:0:0"},"scope":295,"src":"5328:245:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":216,"nodeType":"Block","src":"5771:174:0","statements":[{"assignments":[198],"declarations":[{"constant":false,"id":198,"mutability":"mutable","name":"previousAdminRole","nameLocation":"5789:17:0","nodeType":"VariableDeclaration","scope":216,"src":"5781:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5781:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":202,"initialValue":{"arguments":[{"id":200,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"5822:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":199,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"5809:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5809:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5781:46:0"},{"expression":{"id":208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":203,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"5837:6:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$21_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":205,"indexExpression":{"id":204,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"5844:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5837:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$21_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5850:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":20,"src":"5837:22:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":207,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":194,"src":"5862:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5837:34:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":209,"nodeType":"ExpressionStatement","src":"5837:34:0"},{"eventCall":{"arguments":[{"id":211,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"5903:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":212,"name":"previousAdminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":198,"src":"5909:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":213,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":194,"src":"5928:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":210,"name":"RoleAdminChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":317,"src":"5886:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32)"}},"id":214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5886:52:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":215,"nodeType":"EmitStatement","src":"5881:57:0"}]},"documentation":{"id":190,"nodeType":"StructuredDocumentation","src":"5579:114:0","text":" @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event."},"id":217,"implemented":true,"kind":"function","modifiers":[],"name":"_setRoleAdmin","nameLocation":"5707:13:0","nodeType":"FunctionDefinition","parameters":{"id":195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":192,"mutability":"mutable","name":"role","nameLocation":"5729:4:0","nodeType":"VariableDeclaration","scope":217,"src":"5721:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5721:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":194,"mutability":"mutable","name":"adminRole","nameLocation":"5743:9:0","nodeType":"VariableDeclaration","scope":217,"src":"5735:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5735:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5720:33:0"},"returnParameters":{"id":196,"nodeType":"ParameterList","parameters":[],"src":"5771:0:0"},"scope":295,"src":"5698:247:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":255,"nodeType":"Block","src":"6262:233:0","statements":[{"condition":{"id":231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6276:23:0","subExpression":{"arguments":[{"id":228,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":220,"src":"6285:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":229,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":222,"src":"6291:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":227,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80,"src":"6277:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6277:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":253,"nodeType":"Block","src":"6452:37:0","statements":[{"expression":{"hexValue":"66616c7365","id":251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6473:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":226,"id":252,"nodeType":"Return","src":"6466:12:0"}]},"id":254,"nodeType":"IfStatement","src":"6272:217:0","trueBody":{"id":250,"nodeType":"Block","src":"6301:145:0","statements":[{"expression":{"id":239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"id":232,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"6315:6:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$21_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":234,"indexExpression":{"id":233,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":220,"src":"6322:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6315:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$21_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6328:7:0","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":18,"src":"6315:20:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":237,"indexExpression":{"id":236,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":222,"src":"6336:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6315:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6347:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6315:36:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":240,"nodeType":"ExpressionStatement","src":"6315:36:0"},{"eventCall":{"arguments":[{"id":242,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":220,"src":"6382:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":243,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":222,"src":"6388:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":244,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":390,"src":"6397:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6397:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":241,"name":"RoleGranted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":326,"src":"6370:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6370:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":247,"nodeType":"EmitStatement","src":"6365:45:0"},{"expression":{"hexValue":"74727565","id":248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6431:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":226,"id":249,"nodeType":"Return","src":"6424:11:0"}]}}]},"documentation":{"id":218,"nodeType":"StructuredDocumentation","src":"5951:223:0","text":" @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.\n Internal function without access restriction.\n May emit a {RoleGranted} event."},"id":256,"implemented":true,"kind":"function","modifiers":[],"name":"_grantRole","nameLocation":"6188:10:0","nodeType":"FunctionDefinition","parameters":{"id":223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":220,"mutability":"mutable","name":"role","nameLocation":"6207:4:0","nodeType":"VariableDeclaration","scope":256,"src":"6199:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6199:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":222,"mutability":"mutable","name":"account","nameLocation":"6221:7:0","nodeType":"VariableDeclaration","scope":256,"src":"6213:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":221,"name":"address","nodeType":"ElementaryTypeName","src":"6213:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6198:31:0"},"returnParameters":{"id":226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":225,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":256,"src":"6256:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":224,"name":"bool","nodeType":"ElementaryTypeName","src":"6256:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6255:6:0"},"scope":295,"src":"6179:316:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":293,"nodeType":"Block","src":"6814:233:0","statements":[{"condition":{"arguments":[{"id":267,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":259,"src":"6836:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":268,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":261,"src":"6842:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":266,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80,"src":"6828:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6828:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":291,"nodeType":"Block","src":"7004:37:0","statements":[{"expression":{"hexValue":"66616c7365","id":289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7025:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":265,"id":290,"nodeType":"Return","src":"7018:12:0"}]},"id":292,"nodeType":"IfStatement","src":"6824:217:0","trueBody":{"id":288,"nodeType":"Block","src":"6852:146:0","statements":[{"expression":{"id":277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"id":270,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"6866:6:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$21_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":272,"indexExpression":{"id":271,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":259,"src":"6873:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6866:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$21_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6879:7:0","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":18,"src":"6866:20:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":275,"indexExpression":{"id":274,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":261,"src":"6887:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6866:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6898:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"6866:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":278,"nodeType":"ExpressionStatement","src":"6866:37:0"},{"eventCall":{"arguments":[{"id":280,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":259,"src":"6934:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":281,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":261,"src":"6940:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":282,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":390,"src":"6949:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6949:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":279,"name":"RoleRevoked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":335,"src":"6922:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6922:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":285,"nodeType":"EmitStatement","src":"6917:45:0"},{"expression":{"hexValue":"74727565","id":286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6983:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":265,"id":287,"nodeType":"Return","src":"6976:11:0"}]}}]},"documentation":{"id":257,"nodeType":"StructuredDocumentation","src":"6501:224:0","text":" @dev Attempts to revoke `role` to `account` and returns a boolean indicating if `role` was revoked.\n Internal function without access restriction.\n May emit a {RoleRevoked} event."},"id":294,"implemented":true,"kind":"function","modifiers":[],"name":"_revokeRole","nameLocation":"6739:11:0","nodeType":"FunctionDefinition","parameters":{"id":262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":259,"mutability":"mutable","name":"role","nameLocation":"6759:4:0","nodeType":"VariableDeclaration","scope":294,"src":"6751:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":258,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6751:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":261,"mutability":"mutable","name":"account","nameLocation":"6773:7:0","nodeType":"VariableDeclaration","scope":294,"src":"6765:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":260,"name":"address","nodeType":"ElementaryTypeName","src":"6765:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6750:31:0"},"returnParameters":{"id":265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":264,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":294,"src":"6808:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":263,"name":"bool","nodeType":"ElementaryTypeName","src":"6808:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6807:6:0"},"scope":295,"src":"6730:317:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":296,"src":"1953:5096:0","usedErrors":[305,308],"usedEvents":[317,326,335]}],"src":"108:6942:0"},"id":0},"@openzeppelin/contracts/access/IAccessControl.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/access/IAccessControl.sol","exportedSymbols":{"IAccessControl":[378]},"id":379,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":297,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"109:24:1"},{"abstract":false,"baseContracts":[],"canonicalName":"IAccessControl","contractDependencies":[],"contractKind":"interface","documentation":{"id":298,"nodeType":"StructuredDocumentation","src":"135:89:1","text":" @dev External interface of AccessControl declared to support ERC165 detection."},"fullyImplemented":false,"id":378,"linearizedBaseContracts":[378],"name":"IAccessControl","nameLocation":"235:14:1","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":299,"nodeType":"StructuredDocumentation","src":"256:56:1","text":" @dev The `account` is missing a role."},"errorSelector":"e2517d3f","id":305,"name":"AccessControlUnauthorizedAccount","nameLocation":"323:32:1","nodeType":"ErrorDefinition","parameters":{"id":304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":301,"mutability":"mutable","name":"account","nameLocation":"364:7:1","nodeType":"VariableDeclaration","scope":305,"src":"356:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":300,"name":"address","nodeType":"ElementaryTypeName","src":"356:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":303,"mutability":"mutable","name":"neededRole","nameLocation":"381:10:1","nodeType":"VariableDeclaration","scope":305,"src":"373:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"355:37:1"},"src":"317:76:1"},{"documentation":{"id":306,"nodeType":"StructuredDocumentation","src":"399:148:1","text":" @dev The caller of a function is not the expected one.\n NOTE: Don't confuse with {AccessControlUnauthorizedAccount}."},"errorSelector":"6697b232","id":308,"name":"AccessControlBadConfirmation","nameLocation":"558:28:1","nodeType":"ErrorDefinition","parameters":{"id":307,"nodeType":"ParameterList","parameters":[],"src":"586:2:1"},"src":"552:37:1"},{"anonymous":false,"documentation":{"id":309,"nodeType":"StructuredDocumentation","src":"595:254:1","text":" @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this."},"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":317,"name":"RoleAdminChanged","nameLocation":"860:16:1","nodeType":"EventDefinition","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":311,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"893:4:1","nodeType":"VariableDeclaration","scope":317,"src":"877:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":310,"name":"bytes32","nodeType":"ElementaryTypeName","src":"877:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":313,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"915:17:1","nodeType":"VariableDeclaration","scope":317,"src":"899:33:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"899:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":315,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"950:12:1","nodeType":"VariableDeclaration","scope":317,"src":"934:28:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"934:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"876:87:1"},"src":"854:110:1"},{"anonymous":false,"documentation":{"id":318,"nodeType":"StructuredDocumentation","src":"970:212:1","text":" @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {AccessControl-_setupRole}."},"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":326,"name":"RoleGranted","nameLocation":"1193:11:1","nodeType":"EventDefinition","parameters":{"id":325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":320,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1221:4:1","nodeType":"VariableDeclaration","scope":326,"src":"1205:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1205:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":322,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1243:7:1","nodeType":"VariableDeclaration","scope":326,"src":"1227:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"1227:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":324,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1268:6:1","nodeType":"VariableDeclaration","scope":326,"src":"1252:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":323,"name":"address","nodeType":"ElementaryTypeName","src":"1252:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1204:71:1"},"src":"1187:89:1"},{"anonymous":false,"documentation":{"id":327,"nodeType":"StructuredDocumentation","src":"1282:275:1","text":" @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)"},"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":335,"name":"RoleRevoked","nameLocation":"1568:11:1","nodeType":"EventDefinition","parameters":{"id":334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":329,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1596:4:1","nodeType":"VariableDeclaration","scope":335,"src":"1580:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1580:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":331,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1618:7:1","nodeType":"VariableDeclaration","scope":335,"src":"1602:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":330,"name":"address","nodeType":"ElementaryTypeName","src":"1602:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":333,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1643:6:1","nodeType":"VariableDeclaration","scope":335,"src":"1627:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":332,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1579:71:1"},"src":"1562:89:1"},{"documentation":{"id":336,"nodeType":"StructuredDocumentation","src":"1657:76:1","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","id":345,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"1747:7:1","nodeType":"FunctionDefinition","parameters":{"id":341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":338,"mutability":"mutable","name":"role","nameLocation":"1763:4:1","nodeType":"VariableDeclaration","scope":345,"src":"1755:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":337,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1755:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":340,"mutability":"mutable","name":"account","nameLocation":"1777:7:1","nodeType":"VariableDeclaration","scope":345,"src":"1769:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":339,"name":"address","nodeType":"ElementaryTypeName","src":"1769:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1754:31:1"},"returnParameters":{"id":344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":345,"src":"1809:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":342,"name":"bool","nodeType":"ElementaryTypeName","src":"1809:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1808:6:1"},"scope":378,"src":"1738:77:1","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":346,"nodeType":"StructuredDocumentation","src":"1821:184:1","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {AccessControl-_setRoleAdmin}."},"functionSelector":"248a9ca3","id":353,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"2019:12:1","nodeType":"FunctionDefinition","parameters":{"id":349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":348,"mutability":"mutable","name":"role","nameLocation":"2040:4:1","nodeType":"VariableDeclaration","scope":353,"src":"2032:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2032:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2031:14:1"},"returnParameters":{"id":352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":353,"src":"2069:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2069:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2068:9:1"},"scope":378,"src":"2010:68:1","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":354,"nodeType":"StructuredDocumentation","src":"2084:239:1","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"2f2ff15d","id":361,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"2337:9:1","nodeType":"FunctionDefinition","parameters":{"id":359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":356,"mutability":"mutable","name":"role","nameLocation":"2355:4:1","nodeType":"VariableDeclaration","scope":361,"src":"2347:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2347:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":358,"mutability":"mutable","name":"account","nameLocation":"2369:7:1","nodeType":"VariableDeclaration","scope":361,"src":"2361:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":357,"name":"address","nodeType":"ElementaryTypeName","src":"2361:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2346:31:1"},"returnParameters":{"id":360,"nodeType":"ParameterList","parameters":[],"src":"2386:0:1"},"scope":378,"src":"2328:59:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":362,"nodeType":"StructuredDocumentation","src":"2393:223:1","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"d547741f","id":369,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"2630:10:1","nodeType":"FunctionDefinition","parameters":{"id":367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":364,"mutability":"mutable","name":"role","nameLocation":"2649:4:1","nodeType":"VariableDeclaration","scope":369,"src":"2641:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2641:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":366,"mutability":"mutable","name":"account","nameLocation":"2663:7:1","nodeType":"VariableDeclaration","scope":369,"src":"2655:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":365,"name":"address","nodeType":"ElementaryTypeName","src":"2655:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2640:31:1"},"returnParameters":{"id":368,"nodeType":"ParameterList","parameters":[],"src":"2680:0:1"},"scope":378,"src":"2621:60:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":370,"nodeType":"StructuredDocumentation","src":"2687:491:1","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `callerConfirmation`."},"functionSelector":"36568abe","id":377,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"3192:12:1","nodeType":"FunctionDefinition","parameters":{"id":375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":372,"mutability":"mutable","name":"role","nameLocation":"3213:4:1","nodeType":"VariableDeclaration","scope":377,"src":"3205:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3205:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":374,"mutability":"mutable","name":"callerConfirmation","nameLocation":"3227:18:1","nodeType":"VariableDeclaration","scope":377,"src":"3219:26:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":373,"name":"address","nodeType":"ElementaryTypeName","src":"3219:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3204:42:1"},"returnParameters":{"id":376,"nodeType":"ParameterList","parameters":[],"src":"3255:0:1"},"scope":378,"src":"3183:73:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":379,"src":"225:3033:1","usedErrors":[305,308],"usedEvents":[317,326,335]}],"src":"109:3150:1"},"id":1},"@openzeppelin/contracts/utils/Context.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","exportedSymbols":{"Context":[408]},"id":409,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":380,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"101:24:2"},{"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":381,"nodeType":"StructuredDocumentation","src":"127:496:2","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"id":408,"linearizedBaseContracts":[408],"name":"Context","nameLocation":"642:7:2","nodeType":"ContractDefinition","nodes":[{"body":{"id":389,"nodeType":"Block","src":"718:34:2","statements":[{"expression":{"expression":{"id":386,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"735:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"739:6:2","memberName":"sender","nodeType":"MemberAccess","src":"735:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":385,"id":388,"nodeType":"Return","src":"728:17:2"}]},"id":390,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"665:10:2","nodeType":"FunctionDefinition","parameters":{"id":382,"nodeType":"ParameterList","parameters":[],"src":"675:2:2"},"returnParameters":{"id":385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":390,"src":"709:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":383,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"708:9:2"},"scope":408,"src":"656:96:2","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":398,"nodeType":"Block","src":"825:32:2","statements":[{"expression":{"expression":{"id":395,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"842:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"846:4:2","memberName":"data","nodeType":"MemberAccess","src":"842:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":394,"id":397,"nodeType":"Return","src":"835:15:2"}]},"id":399,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"767:8:2","nodeType":"FunctionDefinition","parameters":{"id":391,"nodeType":"ParameterList","parameters":[],"src":"775:2:2"},"returnParameters":{"id":394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":393,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":399,"src":"809:14:2","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":392,"name":"bytes","nodeType":"ElementaryTypeName","src":"809:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"808:16:2"},"scope":408,"src":"758:99:2","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":406,"nodeType":"Block","src":"935:25:2","statements":[{"expression":{"hexValue":"30","id":404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"952:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":403,"id":405,"nodeType":"Return","src":"945:8:2"}]},"id":407,"implemented":true,"kind":"function","modifiers":[],"name":"_contextSuffixLength","nameLocation":"872:20:2","nodeType":"FunctionDefinition","parameters":{"id":400,"nodeType":"ParameterList","parameters":[],"src":"892:2:2"},"returnParameters":{"id":403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":402,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":407,"src":"926:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":401,"name":"uint256","nodeType":"ElementaryTypeName","src":"926:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"925:9:2"},"scope":408,"src":"863:97:2","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":409,"src":"624:338:2","usedErrors":[],"usedEvents":[]}],"src":"101:862:2"},"id":2},"@openzeppelin/contracts/utils/introspection/ERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/introspection/ERC165.sol","exportedSymbols":{"ERC165":[432],"IERC165":[444]},"id":433,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":410,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"114:24:3"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"./IERC165.sol","id":412,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":433,"sourceUnit":445,"src":"140:38:3","symbolAliases":[{"foreign":{"id":411,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":444,"src":"148:7:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":414,"name":"IERC165","nameLocations":["687:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":444,"src":"687:7:3"},"id":415,"nodeType":"InheritanceSpecifier","src":"687:7:3"}],"canonicalName":"ERC165","contractDependencies":[],"contractKind":"contract","documentation":{"id":413,"nodeType":"StructuredDocumentation","src":"180:478:3","text":" @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```"},"fullyImplemented":true,"id":432,"linearizedBaseContracts":[432,444],"name":"ERC165","nameLocation":"677:6:3","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[443],"body":{"id":430,"nodeType":"Block","src":"844:64:3","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":423,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":418,"src":"861:11:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":425,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":444,"src":"881:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$444_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$444_$","typeString":"type(contract IERC165)"}],"id":424,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"876:4:3","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"876:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$444","typeString":"type(contract IERC165)"}},"id":427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"890:11:3","memberName":"interfaceId","nodeType":"MemberAccess","src":"876:25:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"861:40:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":422,"id":429,"nodeType":"Return","src":"854:47:3"}]},"documentation":{"id":416,"nodeType":"StructuredDocumentation","src":"701:56:3","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":431,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"771:17:3","nodeType":"FunctionDefinition","parameters":{"id":419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":418,"mutability":"mutable","name":"interfaceId","nameLocation":"796:11:3","nodeType":"VariableDeclaration","scope":431,"src":"789:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":417,"name":"bytes4","nodeType":"ElementaryTypeName","src":"789:6:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"788:20:3"},"returnParameters":{"id":422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":431,"src":"838:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":420,"name":"bool","nodeType":"ElementaryTypeName","src":"838:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"837:6:3"},"scope":432,"src":"762:146:3","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":433,"src":"659:251:3","usedErrors":[],"usedEvents":[]}],"src":"114:797:3"},"id":3},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","exportedSymbols":{"IERC165":[444]},"id":445,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":434,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"115:24:4"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","documentation":{"id":435,"nodeType":"StructuredDocumentation","src":"141:279:4","text":" @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."},"fullyImplemented":false,"id":444,"linearizedBaseContracts":[444],"name":"IERC165","nameLocation":"431:7:4","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":436,"nodeType":"StructuredDocumentation","src":"445:340:4","text":" @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."},"functionSelector":"01ffc9a7","id":443,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"799:17:4","nodeType":"FunctionDefinition","parameters":{"id":439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":438,"mutability":"mutable","name":"interfaceId","nameLocation":"824:11:4","nodeType":"VariableDeclaration","scope":443,"src":"817:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":437,"name":"bytes4","nodeType":"ElementaryTypeName","src":"817:6:4","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"816:20:4"},"returnParameters":{"id":442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":443,"src":"860:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":440,"name":"bool","nodeType":"ElementaryTypeName","src":"860:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"859:6:4"},"scope":444,"src":"790:76:4","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":445,"src":"421:447:4","usedErrors":[],"usedEvents":[]}],"src":"115:754:4"},"id":4},"contracts/CcsmBpiStateAnchor.sol":{"ast":{"absolutePath":"contracts/CcsmBpiStateAnchor.sol","exportedSymbols":{"AccessControl":[295],"CcsmBpiStateAnchor":[588],"Context":[408],"ERC165":[432],"IAccessControl":[378]},"id":589,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":446,"literals":["solidity","0.8",".24"],"nodeType":"PragmaDirective","src":"38:23:5"},{"absolutePath":"@openzeppelin/contracts/access/AccessControl.sol","file":"@openzeppelin/contracts/access/AccessControl.sol","id":447,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":589,"sourceUnit":296,"src":"63:58:5","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":448,"name":"AccessControl","nameLocations":["154:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":295,"src":"154:13:5"},"id":449,"nodeType":"InheritanceSpecifier","src":"154:13:5"}],"canonicalName":"CcsmBpiStateAnchor","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":588,"linearizedBaseContracts":[588,295,432,444,378,408],"name":"CcsmBpiStateAnchor","nameLocation":"132:18:5","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"513ec2f8","id":453,"mutability":"mutable","name":"anchorHashStore","nameLocation":"205:15:5","nodeType":"VariableDeclaration","scope":588,"src":"172:48:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"typeName":{"id":452,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":450,"name":"string","nodeType":"ElementaryTypeName","src":"180:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"172:25:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":451,"name":"string","nodeType":"ElementaryTypeName","src":"190:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"public"},{"anonymous":false,"eventSelector":"6468084a45bfadcd3a84169a78a1a25c53317fc97f185e4037e0696cfc913ccc","id":459,"name":"AnchorHashSet","nameLocation":"230:13:5","nodeType":"EventDefinition","parameters":{"id":458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":455,"indexed":true,"mutability":"mutable","name":"workstepInstanceId","nameLocation":"259:18:5","nodeType":"VariableDeclaration","scope":459,"src":"244:33:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":454,"name":"string","nodeType":"ElementaryTypeName","src":"244:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":457,"indexed":false,"mutability":"mutable","name":"anchorHash","nameLocation":"286:10:5","nodeType":"VariableDeclaration","scope":459,"src":"279:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":456,"name":"string","nodeType":"ElementaryTypeName","src":"279:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"243:54:5"},"src":"224:74:5"},{"constant":true,"functionSelector":"75b238fc","id":464,"mutability":"constant","name":"ADMIN_ROLE","nameLocation":"326:10:5","nodeType":"VariableDeclaration","scope":588,"src":"302:60:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"41444d494e5f524f4c45","id":462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"349:12:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775","typeString":"literal_string \"ADMIN_ROLE\""},"value":"ADMIN_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775","typeString":"literal_string \"ADMIN_ROLE\""}],"id":461,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"339:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"339:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"body":{"id":496,"nodeType":"Block","src":"404:225:5","statements":[{"expression":{"arguments":[{"id":471,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29,"src":"421:18:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":472,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"441:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"445:6:5","memberName":"sender","nodeType":"MemberAccess","src":"441:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":470,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":256,"src":"410:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"410:42:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":475,"nodeType":"ExpressionStatement","src":"410:42:5"},{"body":{"id":494,"nodeType":"Block","src":"541:84:5","statements":[{"expression":{"arguments":[{"id":488,"name":"ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":464,"src":"560:10:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":489,"name":"admins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":467,"src":"572:6:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":491,"indexExpression":{"id":490,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"579:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"572:9:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":487,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":256,"src":"549:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"549:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":493,"nodeType":"ExpressionStatement","src":"549:33:5"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":480,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"517:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":481,"name":"admins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":467,"src":"521:6:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"528:6:5","memberName":"length","nodeType":"MemberAccess","src":"521:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"517:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":495,"initializationExpression":{"assignments":[477],"declarations":[{"constant":false,"id":477,"mutability":"mutable","name":"i","nameLocation":"510:1:5","nodeType":"VariableDeclaration","scope":495,"src":"505:6:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":476,"name":"uint","nodeType":"ElementaryTypeName","src":"505:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":479,"initialValue":{"hexValue":"30","id":478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"514:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"505:10:5"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"536:3:5","subExpression":{"id":484,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"536:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":486,"nodeType":"ExpressionStatement","src":"536:3:5"},"nodeType":"ForStatement","src":"500:125:5"}]},"id":497,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":467,"mutability":"mutable","name":"admins","nameLocation":"396:6:5","nodeType":"VariableDeclaration","scope":497,"src":"379:23:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":465,"name":"address","nodeType":"ElementaryTypeName","src":"379:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":466,"nodeType":"ArrayTypeName","src":"379:9:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"378:25:5"},"returnParameters":{"id":469,"nodeType":"ParameterList","parameters":[],"src":"404:0:5"},"scope":588,"src":"367:262:5","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":561,"nodeType":"Block","src":"753:522:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":509,"name":"_workstepInstanceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":499,"src":"780:19:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"774:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":507,"name":"bytes","nodeType":"ElementaryTypeName","src":"774:5:5","typeDescriptions":{}}},"id":510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"774:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"801:6:5","memberName":"length","nodeType":"MemberAccess","src":"774:33:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"810:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"774:37:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"576f726b73746570496e7374616e636549642063616e6e6f7420626520656d707479","id":514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"819:36:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c","typeString":"literal_string \"WorkstepInstanceId cannot be empty\""},"value":"WorkstepInstanceId cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c","typeString":"literal_string \"WorkstepInstanceId cannot be empty\""}],"id":506,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"759:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"759:102:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":516,"nodeType":"ExpressionStatement","src":"759:102:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":520,"name":"_workstepInstanceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":499,"src":"888:19:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"882:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":518,"name":"bytes","nodeType":"ElementaryTypeName","src":"882:5:5","typeDescriptions":{}}},"id":521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"882:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"909:6:5","memberName":"length","nodeType":"MemberAccess","src":"882:33:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3430","id":523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"918:2:5","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"src":"882:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"576f726b73746570496e7374616e636549642063616e6e6f7420657863656564203430206279746573","id":525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"928:43:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718","typeString":"literal_string \"WorkstepInstanceId cannot exceed 40 bytes\""},"value":"WorkstepInstanceId cannot exceed 40 bytes"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718","typeString":"literal_string \"WorkstepInstanceId cannot exceed 40 bytes\""}],"id":517,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"867:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"867:110:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":527,"nodeType":"ExpressionStatement","src":"867:110:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":531,"name":"_anchorHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":501,"src":"997:11:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"991:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":529,"name":"bytes","nodeType":"ElementaryTypeName","src":"991:5:5","typeDescriptions":{}}},"id":532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"991:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1010:6:5","memberName":"length","nodeType":"MemberAccess","src":"991:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1019:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"991:29:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416e63686f72486173682063616e6e6f7420626520656d707479","id":536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1022:28:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca","typeString":"literal_string \"AnchorHash cannot be empty\""},"value":"AnchorHash cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca","typeString":"literal_string \"AnchorHash cannot be empty\""}],"id":528,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"983:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"983:68:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":538,"nodeType":"ExpressionStatement","src":"983:68:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":542,"name":"_anchorHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":501,"src":"1078:11:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1072:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":540,"name":"bytes","nodeType":"ElementaryTypeName","src":"1072:5:5","typeDescriptions":{}}},"id":543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1072:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1091:6:5","memberName":"length","nodeType":"MemberAccess","src":"1072:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"323536","id":545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1101:3:5","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"1072:32:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416e63686f72486173682063616e6e6f742065786365656420323536206279746573","id":547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1112:36:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b","typeString":"literal_string \"AnchorHash cannot exceed 256 bytes\""},"value":"AnchorHash cannot exceed 256 bytes"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b","typeString":"literal_string \"AnchorHash cannot exceed 256 bytes\""}],"id":539,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1057:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1057:97:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":549,"nodeType":"ExpressionStatement","src":"1057:97:5"},{"expression":{"id":554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":550,"name":"anchorHashStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"1161:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":552,"indexExpression":{"id":551,"name":"_workstepInstanceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":499,"src":"1177:19:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1161:36:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":553,"name":"_anchorHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":501,"src":"1200:11:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"src":"1161:50:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":555,"nodeType":"ExpressionStatement","src":"1161:50:5"},{"eventCall":{"arguments":[{"id":557,"name":"_workstepInstanceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":499,"src":"1237:19:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":558,"name":"_anchorHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":501,"src":"1258:11:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":556,"name":"AnchorHashSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":459,"src":"1223:13:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1223:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":560,"nodeType":"EmitStatement","src":"1218:52:5"}]},"functionSelector":"2588cd55","id":562,"implemented":true,"kind":"function","modifiers":[{"id":504,"kind":"modifierInvocation","modifierName":{"id":503,"name":"onlyAdmin","nameLocations":["743:9:5"],"nodeType":"IdentifierPath","referencedDeclaration":587,"src":"743:9:5"},"nodeType":"ModifierInvocation","src":"743:9:5"}],"name":"setAnchorHash","nameLocation":"642:13:5","nodeType":"FunctionDefinition","parameters":{"id":502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":499,"mutability":"mutable","name":"_workstepInstanceId","nameLocation":"677:19:5","nodeType":"VariableDeclaration","scope":562,"src":"661:35:5","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":498,"name":"string","nodeType":"ElementaryTypeName","src":"661:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":501,"mutability":"mutable","name":"_anchorHash","nameLocation":"718:11:5","nodeType":"VariableDeclaration","scope":562,"src":"702:27:5","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":500,"name":"string","nodeType":"ElementaryTypeName","src":"702:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"655:78:5"},"returnParameters":{"id":505,"nodeType":"ParameterList","parameters":[],"src":"753:0:5"},"scope":588,"src":"633:642:5","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":573,"nodeType":"Block","src":"1385:54:5","statements":[{"expression":{"baseExpression":{"id":569,"name":"anchorHashStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"1398:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":571,"indexExpression":{"id":570,"name":"_workstepInstanceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":564,"src":"1414:19:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1398:36:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":568,"id":572,"nodeType":"Return","src":"1391:43:5"}]},"functionSelector":"890f10a0","id":574,"implemented":true,"kind":"function","modifiers":[],"name":"getAnchorHash","nameLocation":"1288:13:5","nodeType":"FunctionDefinition","parameters":{"id":565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":564,"mutability":"mutable","name":"_workstepInstanceId","nameLocation":"1323:19:5","nodeType":"VariableDeclaration","scope":574,"src":"1307:35:5","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":563,"name":"string","nodeType":"ElementaryTypeName","src":"1307:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1301:45:5"},"returnParameters":{"id":568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":574,"src":"1370:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":566,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1369:15:5"},"scope":588,"src":"1279:160:5","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":586,"nodeType":"Block","src":"1464:113:5","statements":[{"expression":{"arguments":[{"arguments":[{"id":578,"name":"ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":464,"src":"1493:10:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":579,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1505:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1509:6:5","memberName":"sender","nodeType":"MemberAccess","src":"1505:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":577,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80,"src":"1485:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1485:31:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f6e6c792061646d696e2063616e2063616c6c20746869732066756e6374696f6e","id":582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1524:35:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b","typeString":"literal_string \"Only admin can call this function\""},"value":"Only admin can call this function"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b","typeString":"literal_string \"Only admin can call this function\""}],"id":576,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1470:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1470:95:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":584,"nodeType":"ExpressionStatement","src":"1470:95:5"},{"id":585,"nodeType":"PlaceholderStatement","src":"1571:1:5"}]},"id":587,"name":"onlyAdmin","nameLocation":"1452:9:5","nodeType":"ModifierDefinition","parameters":{"id":575,"nodeType":"ParameterList","parameters":[],"src":"1461:2:5"},"src":"1443:134:5","virtual":false,"visibility":"internal"}],"scope":589,"src":"123:1456:5","usedErrors":[305,308],"usedEvents":[317,326,335,459]}],"src":"38:1542:5"},"id":5},"contracts/workstep1Verifier.sol":{"ast":{"absolutePath":"contracts/workstep1Verifier.sol","exportedSymbols":{"PlonkVerifier":[816]},"id":817,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":590,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"799:31:6"},{"abstract":false,"baseContracts":[],"canonicalName":"PlonkVerifier","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":816,"linearizedBaseContracts":[816],"name":"PlonkVerifier","nameLocation":"841:13:6","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":593,"mutability":"constant","name":"n","nameLocation":"882:1:6","nodeType":"VariableDeclaration","scope":816,"src":"866:27:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":591,"name":"uint32","nodeType":"ElementaryTypeName","src":"866:6:6","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"value":{"hexValue":"3332373638","id":592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"888:5:6","typeDescriptions":{"typeIdentifier":"t_rational_32768_by_1","typeString":"int_const 32768"},"value":"32768"},"visibility":"internal"},{"constant":true,"id":596,"mutability":"constant","name":"nPublic","nameLocation":"915:7:6","nodeType":"VariableDeclaration","scope":816,"src":"899:28:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":594,"name":"uint16","nodeType":"ElementaryTypeName","src":"899:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"926:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":599,"mutability":"constant","name":"nLagrange","nameLocation":"949:9:6","nodeType":"VariableDeclaration","scope":816,"src":"933:29:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":597,"name":"uint16","nodeType":"ElementaryTypeName","src":"933:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"961:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":602,"mutability":"constant","name":"Qmx","nameLocation":"990:3:6","nodeType":"VariableDeclaration","scope":816,"src":"973:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":600,"name":"uint256","nodeType":"ElementaryTypeName","src":"973:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130313934353135393730353939363535313039323832393131353833353239353635383439333830313133313935393332333537313731393237383730383031383236313337333037373734","id":601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"996:77:6","typeDescriptions":{"typeIdentifier":"t_rational_10194515970599655109282911583529565849380113195932357171927870801826137307774_by_1","typeString":"int_const 1019...(69 digits omitted)...7774"},"value":"10194515970599655109282911583529565849380113195932357171927870801826137307774"},"visibility":"internal"},{"constant":true,"id":605,"mutability":"constant","name":"Qmy","nameLocation":"1096:3:6","nodeType":"VariableDeclaration","scope":816,"src":"1079:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":603,"name":"uint256","nodeType":"ElementaryTypeName","src":"1079:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133313430393430303131343433343930393431323232313030373032383835323331333336393333303138303033303530313333373533363639333339373835343130393439373839333138","id":604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1102:77:6","typeDescriptions":{"typeIdentifier":"t_rational_13140940011443490941222100702885231336933018003050133753669339785410949789318_by_1","typeString":"int_const 1314...(69 digits omitted)...9318"},"value":"13140940011443490941222100702885231336933018003050133753669339785410949789318"},"visibility":"internal"},{"constant":true,"id":608,"mutability":"constant","name":"Qlx","nameLocation":"1202:3:6","nodeType":"VariableDeclaration","scope":816,"src":"1185:99:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":606,"name":"uint256","nodeType":"ElementaryTypeName","src":"1185:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39303735373032383231373932353034383336333435313039303331363039313231363536333336343632333733383735323533353737353636383831313937393036303335363534373736","id":607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1208:76:6","typeDescriptions":{"typeIdentifier":"t_rational_9075702821792504836345109031609121656336462373875253577566881197906035654776_by_1","typeString":"int_const 9075...(68 digits omitted)...4776"},"value":"9075702821792504836345109031609121656336462373875253577566881197906035654776"},"visibility":"internal"},{"constant":true,"id":611,"mutability":"constant","name":"Qly","nameLocation":"1307:3:6","nodeType":"VariableDeclaration","scope":816,"src":"1290:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":609,"name":"uint256","nodeType":"ElementaryTypeName","src":"1290:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3138393534303337313939373036383039393138303738393738353639363034303336323731373139303931323231333231353232353135323830393936343534363836393539363334363637","id":610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1313:77:6","typeDescriptions":{"typeIdentifier":"t_rational_18954037199706809918078978569604036271719091221321522515280996454686959634667_by_1","typeString":"int_const 1895...(69 digits omitted)...4667"},"value":"18954037199706809918078978569604036271719091221321522515280996454686959634667"},"visibility":"internal"},{"constant":true,"id":614,"mutability":"constant","name":"Qrx","nameLocation":"1413:3:6","nodeType":"VariableDeclaration","scope":816,"src":"1396:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":612,"name":"uint256","nodeType":"ElementaryTypeName","src":"1396:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3134313235373339373534393539343235313132393531343438353635303233303637303733323732333536343733383537333837313934383638313436373533313339333431373337343831","id":613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1419:77:6","typeDescriptions":{"typeIdentifier":"t_rational_14125739754959425112951448565023067073272356473857387194868146753139341737481_by_1","typeString":"int_const 1412...(69 digits omitted)...7481"},"value":"14125739754959425112951448565023067073272356473857387194868146753139341737481"},"visibility":"internal"},{"constant":true,"id":617,"mutability":"constant","name":"Qry","nameLocation":"1519:3:6","nodeType":"VariableDeclaration","scope":816,"src":"1502:99:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":615,"name":"uint256","nodeType":"ElementaryTypeName","src":"1502:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39323131383034383032383738343532323539363637303234383737383339333233343137343933383130303234343132323934373538353136393734303336393739333038313336393139","id":616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1525:76:6","typeDescriptions":{"typeIdentifier":"t_rational_9211804802878452259667024877839323417493810024412294758516974036979308136919_by_1","typeString":"int_const 9211...(68 digits omitted)...6919"},"value":"9211804802878452259667024877839323417493810024412294758516974036979308136919"},"visibility":"internal"},{"constant":true,"id":620,"mutability":"constant","name":"Qox","nameLocation":"1624:3:6","nodeType":"VariableDeclaration","scope":816,"src":"1607:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":618,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133333532353933323635383332333532363938333932333334393031373139353930323136303833363532353530353130373635323831373739303936383930373932303836313135313438","id":619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1630:77:6","typeDescriptions":{"typeIdentifier":"t_rational_13352593265832352698392334901719590216083652550510765281779096890792086115148_by_1","typeString":"int_const 1335...(69 digits omitted)...5148"},"value":"13352593265832352698392334901719590216083652550510765281779096890792086115148"},"visibility":"internal"},{"constant":true,"id":623,"mutability":"constant","name":"Qoy","nameLocation":"1730:3:6","nodeType":"VariableDeclaration","scope":816,"src":"1713:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":621,"name":"uint256","nodeType":"ElementaryTypeName","src":"1713:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231313731323132323436393939323734383238323333373631323738363139343836333930303833323637353639323537343237393331343136303230373438323839353937373339393232","id":622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1736:77:6","typeDescriptions":{"typeIdentifier":"t_rational_21171212246999274828233761278619486390083267569257427931416020748289597739922_by_1","typeString":"int_const 2117...(69 digits omitted)...9922"},"value":"21171212246999274828233761278619486390083267569257427931416020748289597739922"},"visibility":"internal"},{"constant":true,"id":626,"mutability":"constant","name":"Qcx","nameLocation":"1836:3:6","nodeType":"VariableDeclaration","scope":816,"src":"1819:99:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":624,"name":"uint256","nodeType":"ElementaryTypeName","src":"1819:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35343830303536363836343538393733353634303038303538323139313033343831393332393237353131353030393639373734343635323732353333303830373038373936343536393136","id":625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1842:76:6","typeDescriptions":{"typeIdentifier":"t_rational_5480056686458973564008058219103481932927511500969774465272533080708796456916_by_1","typeString":"int_const 5480...(68 digits omitted)...6916"},"value":"5480056686458973564008058219103481932927511500969774465272533080708796456916"},"visibility":"internal"},{"constant":true,"id":629,"mutability":"constant","name":"Qcy","nameLocation":"1941:3:6","nodeType":"VariableDeclaration","scope":816,"src":"1924:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":627,"name":"uint256","nodeType":"ElementaryTypeName","src":"1924:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3138343837363632333035313238313539333032323436393135323739333833333131313838333836353236373232393538303234343130373334333936373436323439383936393030393934","id":628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1947:77:6","typeDescriptions":{"typeIdentifier":"t_rational_18487662305128159302246915279383311188386526722958024410734396746249896900994_by_1","typeString":"int_const 1848...(69 digits omitted)...0994"},"value":"18487662305128159302246915279383311188386526722958024410734396746249896900994"},"visibility":"internal"},{"constant":true,"id":632,"mutability":"constant","name":"S1x","nameLocation":"2047:3:6","nodeType":"VariableDeclaration","scope":816,"src":"2030:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":630,"name":"uint256","nodeType":"ElementaryTypeName","src":"2030:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3137343337363636353032343935383037343636333739363539333234353239313436363432393633323231363439323530373338333231323832393535353936343033383031353235353735","id":631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2053:77:6","typeDescriptions":{"typeIdentifier":"t_rational_17437666502495807466379659324529146642963221649250738321282955596403801525575_by_1","typeString":"int_const 1743...(69 digits omitted)...5575"},"value":"17437666502495807466379659324529146642963221649250738321282955596403801525575"},"visibility":"internal"},{"constant":true,"id":635,"mutability":"constant","name":"S1y","nameLocation":"2153:3:6","nodeType":"VariableDeclaration","scope":816,"src":"2136:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":633,"name":"uint256","nodeType":"ElementaryTypeName","src":"2136:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3138333737343835393739313333353430323339323838393236393239323434383835363530353537323831363737333832303532343733383434303634333533373836303231303338363534","id":634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2159:77:6","typeDescriptions":{"typeIdentifier":"t_rational_18377485979133540239288926929244885650557281677382052473844064353786021038654_by_1","typeString":"int_const 1837...(69 digits omitted)...8654"},"value":"18377485979133540239288926929244885650557281677382052473844064353786021038654"},"visibility":"internal"},{"constant":true,"id":638,"mutability":"constant","name":"S2x","nameLocation":"2259:3:6","nodeType":"VariableDeclaration","scope":816,"src":"2242:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":636,"name":"uint256","nodeType":"ElementaryTypeName","src":"2242:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130333333313531373630303134393638303239323534313032383633363131363338373835353532393731393338343233313632333339333236313335343339343038383334313136313534","id":637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2265:77:6","typeDescriptions":{"typeIdentifier":"t_rational_10333151760014968029254102863611638785552971938423162339326135439408834116154_by_1","typeString":"int_const 1033...(69 digits omitted)...6154"},"value":"10333151760014968029254102863611638785552971938423162339326135439408834116154"},"visibility":"internal"},{"constant":true,"id":641,"mutability":"constant","name":"S2y","nameLocation":"2365:3:6","nodeType":"VariableDeclaration","scope":816,"src":"2348:99:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":639,"name":"uint256","nodeType":"ElementaryTypeName","src":"2348:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36353433343532373030353739303338373335323535303230383032353731373335363030353338363333343535353736373330313839353731353934373533363330313835353339343433","id":640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2371:76:6","typeDescriptions":{"typeIdentifier":"t_rational_6543452700579038735255020802571735600538633455576730189571594753630185539443_by_1","typeString":"int_const 6543...(68 digits omitted)...9443"},"value":"6543452700579038735255020802571735600538633455576730189571594753630185539443"},"visibility":"internal"},{"constant":true,"id":644,"mutability":"constant","name":"S3x","nameLocation":"2470:3:6","nodeType":"VariableDeclaration","scope":816,"src":"2453:99:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":642,"name":"uint256","nodeType":"ElementaryTypeName","src":"2453:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38323835333933393630363138383537303134383037313438303839343735323934323232303934343630373635353439313531363035393532383836363430353131313033343039323037","id":643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2476:76:6","typeDescriptions":{"typeIdentifier":"t_rational_8285393960618857014807148089475294222094460765549151605952886640511103409207_by_1","typeString":"int_const 8285...(68 digits omitted)...9207"},"value":"8285393960618857014807148089475294222094460765549151605952886640511103409207"},"visibility":"internal"},{"constant":true,"id":647,"mutability":"constant","name":"S3y","nameLocation":"2575:3:6","nodeType":"VariableDeclaration","scope":816,"src":"2558:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":645,"name":"uint256","nodeType":"ElementaryTypeName","src":"2558:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131393135333938383439373437353839323435393335323033393534313332363131323631343733363738353636363937393232333133303339313631363532333036323935383837343331","id":646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2581:77:6","typeDescriptions":{"typeIdentifier":"t_rational_11915398849747589245935203954132611261473678566697922313039161652306295887431_by_1","typeString":"int_const 1191...(69 digits omitted)...7431"},"value":"11915398849747589245935203954132611261473678566697922313039161652306295887431"},"visibility":"internal"},{"constant":true,"id":650,"mutability":"constant","name":"k1","nameLocation":"2681:2:6","nodeType":"VariableDeclaration","scope":816,"src":"2664:23:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":648,"name":"uint256","nodeType":"ElementaryTypeName","src":"2664:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2686:1:6","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":653,"mutability":"constant","name":"k2","nameLocation":"2710:2:6","nodeType":"VariableDeclaration","scope":816,"src":"2693:23:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":651,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2715:1:6","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"internal"},{"constant":true,"id":656,"mutability":"constant","name":"X2x1","nameLocation":"2739:4:6","nodeType":"VariableDeclaration","scope":816,"src":"2722:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":654,"name":"uint256","nodeType":"ElementaryTypeName","src":"2722:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"37353530313731313431343839363432333233333435343936363833373337323434323737303833323536343234303034373037373135393938343833343039353430303430353837343636","id":655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2746:76:6","typeDescriptions":{"typeIdentifier":"t_rational_7550171141489642323345496683737244277083256424004707715998483409540040587466_by_1","typeString":"int_const 7550...(68 digits omitted)...7466"},"value":"7550171141489642323345496683737244277083256424004707715998483409540040587466"},"visibility":"internal"},{"constant":true,"id":659,"mutability":"constant","name":"X2x2","nameLocation":"2845:4:6","nodeType":"VariableDeclaration","scope":816,"src":"2828:101:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":657,"name":"uint256","nodeType":"ElementaryTypeName","src":"2828:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133363734333237323831343536363030383935363037383139383438363832313539353032393536363038343739373335393735373632323138343131353939303333393831353539393638","id":658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2852:77:6","typeDescriptions":{"typeIdentifier":"t_rational_13674327281456600895607819848682159502956608479735975762218411599033981559968_by_1","typeString":"int_const 1367...(69 digits omitted)...9968"},"value":"13674327281456600895607819848682159502956608479735975762218411599033981559968"},"visibility":"internal"},{"constant":true,"id":662,"mutability":"constant","name":"X2y1","nameLocation":"2952:4:6","nodeType":"VariableDeclaration","scope":816,"src":"2935:101:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":660,"name":"uint256","nodeType":"ElementaryTypeName","src":"2935:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136333239343237363535393135393434393038343834393734303630383938373631363833393734363436333138303734363339313938303033313837313534353235323534313736353230","id":661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2959:77:6","typeDescriptions":{"typeIdentifier":"t_rational_16329427655915944908484974060898761683974646318074639198003187154525254176520_by_1","typeString":"int_const 1632...(69 digits omitted)...6520"},"value":"16329427655915944908484974060898761683974646318074639198003187154525254176520"},"visibility":"internal"},{"constant":true,"id":665,"mutability":"constant","name":"X2y2","nameLocation":"3059:4:6","nodeType":"VariableDeclaration","scope":816,"src":"3042:101:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":663,"name":"uint256","nodeType":"ElementaryTypeName","src":"3042:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139363034363331363533303430323033393131353233343934323133363738313838303035393837363232313934353435353732353239363038383335313833393336353639383230393930","id":664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3066:77:6","typeDescriptions":{"typeIdentifier":"t_rational_19604631653040203911523494213678188005987622194545572529608835183936569820990_by_1","typeString":"int_const 1960...(69 digits omitted)...0990"},"value":"19604631653040203911523494213678188005987622194545572529608835183936569820990"},"visibility":"internal"},{"constant":true,"id":668,"mutability":"constant","name":"q","nameLocation":"3171:1:6","nodeType":"VariableDeclaration","scope":816,"src":"3154:98:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":666,"name":"uint256","nodeType":"ElementaryTypeName","src":"3154:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137","id":667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3175:77:6","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1","typeString":"int_const 2188...(69 digits omitted)...5617"},"value":"21888242871839275222246405745257275088548364400416034343698204186575808495617"},"visibility":"internal"},{"constant":true,"id":671,"mutability":"constant","name":"qf","nameLocation":"3275:2:6","nodeType":"VariableDeclaration","scope":816,"src":"3258:99:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":669,"name":"uint256","nodeType":"ElementaryTypeName","src":"3258:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833","id":670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3280:77:6","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1","typeString":"int_const 2188...(69 digits omitted)...8583"},"value":"21888242871839275222246405745257275088696311157297823662689037894645226208583"},"visibility":"internal"},{"constant":true,"id":674,"mutability":"constant","name":"w1","nameLocation":"3380:2:6","nodeType":"VariableDeclaration","scope":816,"src":"3363:99:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":672,"name":"uint256","nodeType":"ElementaryTypeName","src":"3363:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3230343032393331373438383433353338393835313531303031323634353330303439383734383731353732393333363934363334383336353637303730363933393636313333373833383033","id":673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3385:77:6","typeDescriptions":{"typeIdentifier":"t_rational_20402931748843538985151001264530049874871572933694634836567070693966133783803_by_1","typeString":"int_const 2040...(69 digits omitted)...3803"},"value":"20402931748843538985151001264530049874871572933694634836567070693966133783803"},"visibility":"internal"},{"constant":true,"id":677,"mutability":"constant","name":"G1x","nameLocation":"3494:3:6","nodeType":"VariableDeclaration","scope":816,"src":"3477:24:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":675,"name":"uint256","nodeType":"ElementaryTypeName","src":"3477:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3500:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":680,"mutability":"constant","name":"G1y","nameLocation":"3524:3:6","nodeType":"VariableDeclaration","scope":816,"src":"3507:24:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":678,"name":"uint256","nodeType":"ElementaryTypeName","src":"3507:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3530:1:6","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":683,"mutability":"constant","name":"G2x1","nameLocation":"3554:4:6","nodeType":"VariableDeclaration","scope":816,"src":"3537:101:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":681,"name":"uint256","nodeType":"ElementaryTypeName","src":"3537:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831","id":682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3561:77:6","typeDescriptions":{"typeIdentifier":"t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1","typeString":"int_const 1085...(69 digits omitted)...2781"},"value":"10857046999023057135944570762232829481370756359578518086990519993285655852781"},"visibility":"internal"},{"constant":true,"id":686,"mutability":"constant","name":"G2x2","nameLocation":"3661:4:6","nodeType":"VariableDeclaration","scope":816,"src":"3644:101:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":684,"name":"uint256","nodeType":"ElementaryTypeName","src":"3644:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334","id":685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3668:77:6","typeDescriptions":{"typeIdentifier":"t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1","typeString":"int_const 1155...(69 digits omitted)...5634"},"value":"11559732032986387107991004021392285783925812861821192530917403151452391805634"},"visibility":"internal"},{"constant":true,"id":689,"mutability":"constant","name":"G2y1","nameLocation":"3768:4:6","nodeType":"VariableDeclaration","scope":816,"src":"3751:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":687,"name":"uint256","nodeType":"ElementaryTypeName","src":"3751:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330","id":688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3775:76:6","typeDescriptions":{"typeIdentifier":"t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1","typeString":"int_const 8495...(68 digits omitted)...1930"},"value":"8495653923123431417604973247489272438418190587263600148770280649306958101930"},"visibility":"internal"},{"constant":true,"id":692,"mutability":"constant","name":"G2y2","nameLocation":"3874:4:6","nodeType":"VariableDeclaration","scope":816,"src":"3857:100:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":690,"name":"uint256","nodeType":"ElementaryTypeName","src":"3857:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331","id":691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3881:76:6","typeDescriptions":{"typeIdentifier":"t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1","typeString":"int_const 4082...(68 digits omitted)...3531"},"value":"4082367875863433681332203403145435568316851327593401208105741076214120093531"},"visibility":"internal"},{"constant":true,"id":695,"mutability":"constant","name":"pA","nameLocation":"3979:2:6","nodeType":"VariableDeclaration","scope":816,"src":"3963:23:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":693,"name":"uint16","nodeType":"ElementaryTypeName","src":"3963:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3984:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":698,"mutability":"constant","name":"pB","nameLocation":"4008:2:6","nodeType":"VariableDeclaration","scope":816,"src":"3992:23:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":696,"name":"uint16","nodeType":"ElementaryTypeName","src":"3992:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4013:2:6","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":701,"mutability":"constant","name":"pC","nameLocation":"4037:2:6","nodeType":"VariableDeclaration","scope":816,"src":"4021:24:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":699,"name":"uint16","nodeType":"ElementaryTypeName","src":"4021:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4042:3:6","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":704,"mutability":"constant","name":"pZ","nameLocation":"4067:2:6","nodeType":"VariableDeclaration","scope":816,"src":"4051:24:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":702,"name":"uint16","nodeType":"ElementaryTypeName","src":"4051:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4072:3:6","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":707,"mutability":"constant","name":"pT1","nameLocation":"4097:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4081:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":705,"name":"uint16","nodeType":"ElementaryTypeName","src":"4081:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4103:3:6","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":710,"mutability":"constant","name":"pT2","nameLocation":"4128:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4112:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":708,"name":"uint16","nodeType":"ElementaryTypeName","src":"4112:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4134:3:6","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":713,"mutability":"constant","name":"pT3","nameLocation":"4159:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4143:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":711,"name":"uint16","nodeType":"ElementaryTypeName","src":"4143:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4165:3:6","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":716,"mutability":"constant","name":"pWxi","nameLocation":"4190:4:6","nodeType":"VariableDeclaration","scope":816,"src":"4174:26:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":714,"name":"uint16","nodeType":"ElementaryTypeName","src":"4174:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4197:3:6","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":719,"mutability":"constant","name":"pWxiw","nameLocation":"4222:5:6","nodeType":"VariableDeclaration","scope":816,"src":"4206:27:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":717,"name":"uint16","nodeType":"ElementaryTypeName","src":"4206:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4230:3:6","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":722,"mutability":"constant","name":"pEval_a","nameLocation":"4255:7:6","nodeType":"VariableDeclaration","scope":816,"src":"4239:29:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":720,"name":"uint16","nodeType":"ElementaryTypeName","src":"4239:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4265:3:6","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":725,"mutability":"constant","name":"pEval_b","nameLocation":"4290:7:6","nodeType":"VariableDeclaration","scope":816,"src":"4274:29:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":723,"name":"uint16","nodeType":"ElementaryTypeName","src":"4274:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4300:3:6","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":728,"mutability":"constant","name":"pEval_c","nameLocation":"4325:7:6","nodeType":"VariableDeclaration","scope":816,"src":"4309:29:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":726,"name":"uint16","nodeType":"ElementaryTypeName","src":"4309:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4335:3:6","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":731,"mutability":"constant","name":"pEval_s1","nameLocation":"4360:8:6","nodeType":"VariableDeclaration","scope":816,"src":"4344:30:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":729,"name":"uint16","nodeType":"ElementaryTypeName","src":"4344:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4371:3:6","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"constant":true,"id":734,"mutability":"constant","name":"pEval_s2","nameLocation":"4396:8:6","nodeType":"VariableDeclaration","scope":816,"src":"4380:30:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":732,"name":"uint16","nodeType":"ElementaryTypeName","src":"4380:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373336","id":733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4407:3:6","typeDescriptions":{"typeIdentifier":"t_rational_736_by_1","typeString":"int_const 736"},"value":"736"},"visibility":"internal"},{"constant":true,"id":737,"mutability":"constant","name":"pEval_zw","nameLocation":"4432:8:6","nodeType":"VariableDeclaration","scope":816,"src":"4416:30:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":735,"name":"uint16","nodeType":"ElementaryTypeName","src":"4416:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373638","id":736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4443:3:6","typeDescriptions":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"},"value":"768"},"visibility":"internal"},{"constant":true,"id":740,"mutability":"constant","name":"pEval_r","nameLocation":"4468:7:6","nodeType":"VariableDeclaration","scope":816,"src":"4452:29:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":738,"name":"uint16","nodeType":"ElementaryTypeName","src":"4452:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"383030","id":739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4478:3:6","typeDescriptions":{"typeIdentifier":"t_rational_800_by_1","typeString":"int_const 800"},"value":"800"},"visibility":"internal"},{"constant":true,"id":743,"mutability":"constant","name":"pAlpha","nameLocation":"4508:6:6","nodeType":"VariableDeclaration","scope":816,"src":"4492:26:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":741,"name":"uint16","nodeType":"ElementaryTypeName","src":"4492:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"30","id":742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4517:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"constant":true,"id":746,"mutability":"constant","name":"pBeta","nameLocation":"4540:5:6","nodeType":"VariableDeclaration","scope":816,"src":"4524:26:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":744,"name":"uint16","nodeType":"ElementaryTypeName","src":"4524:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4548:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":749,"mutability":"constant","name":"pGamma","nameLocation":"4572:6:6","nodeType":"VariableDeclaration","scope":816,"src":"4556:27:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":747,"name":"uint16","nodeType":"ElementaryTypeName","src":"4556:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3634","id":748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4581:2:6","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"visibility":"internal"},{"constant":true,"id":752,"mutability":"constant","name":"pXi","nameLocation":"4605:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4589:24:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":750,"name":"uint16","nodeType":"ElementaryTypeName","src":"4589:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4611:2:6","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":755,"mutability":"constant","name":"pXin","nameLocation":"4635:4:6","nodeType":"VariableDeclaration","scope":816,"src":"4619:26:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":753,"name":"uint16","nodeType":"ElementaryTypeName","src":"4619:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313238","id":754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4642:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"visibility":"internal"},{"constant":true,"id":758,"mutability":"constant","name":"pBetaXi","nameLocation":"4667:7:6","nodeType":"VariableDeclaration","scope":816,"src":"4651:29:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":756,"name":"uint16","nodeType":"ElementaryTypeName","src":"4651:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4677:3:6","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":761,"mutability":"constant","name":"pV1","nameLocation":"4702:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4686:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":759,"name":"uint16","nodeType":"ElementaryTypeName","src":"4686:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313932","id":760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4708:3:6","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"visibility":"internal"},{"constant":true,"id":764,"mutability":"constant","name":"pV2","nameLocation":"4733:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4717:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":762,"name":"uint16","nodeType":"ElementaryTypeName","src":"4717:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4739:3:6","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":767,"mutability":"constant","name":"pV3","nameLocation":"4764:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4748:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":765,"name":"uint16","nodeType":"ElementaryTypeName","src":"4748:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323536","id":766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4770:3:6","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"visibility":"internal"},{"constant":true,"id":770,"mutability":"constant","name":"pV4","nameLocation":"4795:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4779:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":768,"name":"uint16","nodeType":"ElementaryTypeName","src":"4779:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4801:3:6","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":773,"mutability":"constant","name":"pV5","nameLocation":"4826:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4810:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":771,"name":"uint16","nodeType":"ElementaryTypeName","src":"4810:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333230","id":772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4832:3:6","typeDescriptions":{"typeIdentifier":"t_rational_320_by_1","typeString":"int_const 320"},"value":"320"},"visibility":"internal"},{"constant":true,"id":776,"mutability":"constant","name":"pV6","nameLocation":"4857:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4841:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":774,"name":"uint16","nodeType":"ElementaryTypeName","src":"4841:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4863:3:6","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":779,"mutability":"constant","name":"pU","nameLocation":"4888:2:6","nodeType":"VariableDeclaration","scope":816,"src":"4872:24:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":777,"name":"uint16","nodeType":"ElementaryTypeName","src":"4872:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333834","id":778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4893:3:6","typeDescriptions":{"typeIdentifier":"t_rational_384_by_1","typeString":"int_const 384"},"value":"384"},"visibility":"internal"},{"constant":true,"id":782,"mutability":"constant","name":"pPl","nameLocation":"4918:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4902:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":780,"name":"uint16","nodeType":"ElementaryTypeName","src":"4902:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4924:3:6","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":785,"mutability":"constant","name":"pEval_t","nameLocation":"4949:7:6","nodeType":"VariableDeclaration","scope":816,"src":"4933:29:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":783,"name":"uint16","nodeType":"ElementaryTypeName","src":"4933:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343438","id":784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4959:3:6","typeDescriptions":{"typeIdentifier":"t_rational_448_by_1","typeString":"int_const 448"},"value":"448"},"visibility":"internal"},{"constant":true,"id":788,"mutability":"constant","name":"pA1","nameLocation":"4984:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4968:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":786,"name":"uint16","nodeType":"ElementaryTypeName","src":"4968:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4990:3:6","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":791,"mutability":"constant","name":"pB1","nameLocation":"5015:3:6","nodeType":"VariableDeclaration","scope":816,"src":"4999:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":789,"name":"uint16","nodeType":"ElementaryTypeName","src":"4999:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5021:3:6","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":794,"mutability":"constant","name":"pZh","nameLocation":"5046:3:6","nodeType":"VariableDeclaration","scope":816,"src":"5030:25:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":792,"name":"uint16","nodeType":"ElementaryTypeName","src":"5030:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5052:3:6","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":797,"mutability":"constant","name":"pZhInv","nameLocation":"5077:6:6","nodeType":"VariableDeclaration","scope":816,"src":"5061:28:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":795,"name":"uint16","nodeType":"ElementaryTypeName","src":"5061:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5086:3:6","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":800,"mutability":"constant","name":"pEval_l1","nameLocation":"5116:8:6","nodeType":"VariableDeclaration","scope":816,"src":"5100:30:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":798,"name":"uint16","nodeType":"ElementaryTypeName","src":"5100:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5127:3:6","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":803,"mutability":"constant","name":"lastMem","nameLocation":"5167:7:6","nodeType":"VariableDeclaration","scope":816,"src":"5151:29:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":801,"name":"uint16","nodeType":"ElementaryTypeName","src":"5151:6:6","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5177:3:6","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"body":{"id":814,"nodeType":"Block","src":"5281:19457:6","statements":[{"AST":{"nativeSrc":"5300:19423:6","nodeType":"YulBlock","src":"5300:19423:6","statements":[{"body":{"nativeSrc":"5463:694:6","nodeType":"YulBlock","src":"5463:694:6","statements":[{"nativeSrc":"5481:10:6","nodeType":"YulVariableDeclaration","src":"5481:10:6","value":{"kind":"number","nativeSrc":"5490:1:6","nodeType":"YulLiteral","src":"5490:1:6","type":"","value":"0"},"variables":[{"name":"t","nativeSrc":"5485:1:6","nodeType":"YulTypedName","src":"5485:1:6","type":""}]},{"nativeSrc":"5513:13:6","nodeType":"YulVariableDeclaration","src":"5513:13:6","value":{"kind":"number","nativeSrc":"5525:1:6","nodeType":"YulLiteral","src":"5525:1:6","type":"","value":"1"},"variables":[{"name":"newt","nativeSrc":"5517:4:6","nodeType":"YulTypedName","src":"5517:4:6","type":""}]},{"nativeSrc":"5543:10:6","nodeType":"YulVariableDeclaration","src":"5543:10:6","value":{"name":"q","nativeSrc":"5552:1:6","nodeType":"YulIdentifier","src":"5552:1:6"},"variables":[{"name":"r","nativeSrc":"5547:1:6","nodeType":"YulTypedName","src":"5547:1:6","type":""}]},{"nativeSrc":"5575:13:6","nodeType":"YulVariableDeclaration","src":"5575:13:6","value":{"name":"a","nativeSrc":"5587:1:6","nodeType":"YulIdentifier","src":"5587:1:6"},"variables":[{"name":"newr","nativeSrc":"5579:4:6","nodeType":"YulTypedName","src":"5579:4:6","type":""}]},{"nativeSrc":"5605:12:6","nodeType":"YulVariableDeclaration","src":"5605:12:6","variables":[{"name":"quotient","nativeSrc":"5609:8:6","nodeType":"YulTypedName","src":"5609:8:6","type":""}]},{"nativeSrc":"5634:7:6","nodeType":"YulVariableDeclaration","src":"5634:7:6","variables":[{"name":"aux","nativeSrc":"5638:3:6","nodeType":"YulTypedName","src":"5638:3:6","type":""}]},{"body":{"nativeSrc":"5692:317:6","nodeType":"YulBlock","src":"5692:317:6","statements":[{"nativeSrc":"5714:25:6","nodeType":"YulAssignment","src":"5714:25:6","value":{"arguments":[{"name":"r","nativeSrc":"5731:1:6","nodeType":"YulIdentifier","src":"5731:1:6"},{"name":"newr","nativeSrc":"5734:4:6","nodeType":"YulIdentifier","src":"5734:4:6"}],"functionName":{"name":"sdiv","nativeSrc":"5726:4:6","nodeType":"YulIdentifier","src":"5726:4:6"},"nativeSrc":"5726:13:6","nodeType":"YulFunctionCall","src":"5726:13:6"},"variableNames":[{"name":"quotient","nativeSrc":"5714:8:6","nodeType":"YulIdentifier","src":"5714:8:6"}]},{"nativeSrc":"5760:34:6","nodeType":"YulAssignment","src":"5760:34:6","value":{"arguments":[{"name":"t","nativeSrc":"5771:1:6","nodeType":"YulIdentifier","src":"5771:1:6"},{"arguments":[{"name":"quotient","nativeSrc":"5778:8:6","nodeType":"YulIdentifier","src":"5778:8:6"},{"name":"newt","nativeSrc":"5788:4:6","nodeType":"YulIdentifier","src":"5788:4:6"}],"functionName":{"name":"mul","nativeSrc":"5774:3:6","nodeType":"YulIdentifier","src":"5774:3:6"},"nativeSrc":"5774:19:6","nodeType":"YulFunctionCall","src":"5774:19:6"}],"functionName":{"name":"sub","nativeSrc":"5767:3:6","nodeType":"YulIdentifier","src":"5767:3:6"},"nativeSrc":"5767:27:6","nodeType":"YulFunctionCall","src":"5767:27:6"},"variableNames":[{"name":"aux","nativeSrc":"5760:3:6","nodeType":"YulIdentifier","src":"5760:3:6"}]},{"nativeSrc":"5815:8:6","nodeType":"YulAssignment","src":"5815:8:6","value":{"name":"newt","nativeSrc":"5819:4:6","nodeType":"YulIdentifier","src":"5819:4:6"},"variableNames":[{"name":"t","nativeSrc":"5815:1:6","nodeType":"YulIdentifier","src":"5815:1:6"}]},{"nativeSrc":"5844:10:6","nodeType":"YulAssignment","src":"5844:10:6","value":{"name":"aux","nativeSrc":"5851:3:6","nodeType":"YulIdentifier","src":"5851:3:6"},"variableNames":[{"name":"newt","nativeSrc":"5844:4:6","nodeType":"YulIdentifier","src":"5844:4:6"}]},{"nativeSrc":"5896:33:6","nodeType":"YulAssignment","src":"5896:33:6","value":{"arguments":[{"name":"r","nativeSrc":"5907:1:6","nodeType":"YulIdentifier","src":"5907:1:6"},{"arguments":[{"name":"quotient","nativeSrc":"5913:8:6","nodeType":"YulIdentifier","src":"5913:8:6"},{"name":"newr","nativeSrc":"5923:4:6","nodeType":"YulIdentifier","src":"5923:4:6"}],"functionName":{"name":"mul","nativeSrc":"5909:3:6","nodeType":"YulIdentifier","src":"5909:3:6"},"nativeSrc":"5909:19:6","nodeType":"YulFunctionCall","src":"5909:19:6"}],"functionName":{"name":"sub","nativeSrc":"5903:3:6","nodeType":"YulIdentifier","src":"5903:3:6"},"nativeSrc":"5903:26:6","nodeType":"YulFunctionCall","src":"5903:26:6"},"variableNames":[{"name":"aux","nativeSrc":"5896:3:6","nodeType":"YulIdentifier","src":"5896:3:6"}]},{"nativeSrc":"5950:9:6","nodeType":"YulAssignment","src":"5950:9:6","value":{"name":"newr","nativeSrc":"5955:4:6","nodeType":"YulIdentifier","src":"5955:4:6"},"variableNames":[{"name":"r","nativeSrc":"5950:1:6","nodeType":"YulIdentifier","src":"5950:1:6"}]},{"nativeSrc":"5980:11:6","nodeType":"YulAssignment","src":"5980:11:6","value":{"name":"aux","nativeSrc":"5988:3:6","nodeType":"YulIdentifier","src":"5988:3:6"},"variableNames":[{"name":"newr","nativeSrc":"5980:4:6","nodeType":"YulIdentifier","src":"5980:4:6"}]}]},"condition":{"name":"newr","nativeSrc":"5683:4:6","nodeType":"YulIdentifier","src":"5683:4:6"},"nativeSrc":"5675:334:6","nodeType":"YulForLoop","post":{"nativeSrc":"5688:3:6","nodeType":"YulBlock","src":"5688:3:6","statements":[]},"pre":{"nativeSrc":"5679:3:6","nodeType":"YulBlock","src":"5679:3:6","statements":[]},"src":"5675:334:6"},{"body":{"nativeSrc":"6055:15:6","nodeType":"YulBlock","src":"6055:15:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6064:1:6","nodeType":"YulLiteral","src":"6064:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"6066:1:6","nodeType":"YulLiteral","src":"6066:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6057:6:6","nodeType":"YulIdentifier","src":"6057:6:6"},"nativeSrc":"6057:11:6","nodeType":"YulFunctionCall","src":"6057:11:6"},"nativeSrc":"6057:11:6","nodeType":"YulExpressionStatement","src":"6057:11:6"}]},"condition":{"arguments":[{"name":"r","nativeSrc":"6049:1:6","nodeType":"YulIdentifier","src":"6049:1:6"},{"kind":"number","nativeSrc":"6052:1:6","nodeType":"YulLiteral","src":"6052:1:6","type":"","value":"1"}],"functionName":{"name":"gt","nativeSrc":"6046:2:6","nodeType":"YulIdentifier","src":"6046:2:6"},"nativeSrc":"6046:8:6","nodeType":"YulFunctionCall","src":"6046:8:6"},"nativeSrc":"6043:27:6","nodeType":"YulIf","src":"6043:27:6"},{"body":{"nativeSrc":"6100:17:6","nodeType":"YulBlock","src":"6100:17:6","statements":[{"nativeSrc":"6102:13:6","nodeType":"YulAssignment","src":"6102:13:6","value":{"arguments":[{"name":"t","nativeSrc":"6110:1:6","nodeType":"YulIdentifier","src":"6110:1:6"},{"name":"q","nativeSrc":"6113:1:6","nodeType":"YulIdentifier","src":"6113:1:6"}],"functionName":{"name":"add","nativeSrc":"6106:3:6","nodeType":"YulIdentifier","src":"6106:3:6"},"nativeSrc":"6106:9:6","nodeType":"YulFunctionCall","src":"6106:9:6"},"variableNames":[{"name":"t","nativeSrc":"6102:1:6","nodeType":"YulIdentifier","src":"6102:1:6"}]}]},"condition":{"arguments":[{"name":"t","nativeSrc":"6094:1:6","nodeType":"YulIdentifier","src":"6094:1:6"},{"kind":"number","nativeSrc":"6097:1:6","nodeType":"YulLiteral","src":"6097:1:6","type":"","value":"0"}],"functionName":{"name":"slt","nativeSrc":"6090:3:6","nodeType":"YulIdentifier","src":"6090:3:6"},"nativeSrc":"6090:9:6","nodeType":"YulFunctionCall","src":"6090:9:6"},"nativeSrc":"6087:30:6","nodeType":"YulIf","src":"6087:30:6"},{"nativeSrc":"6135:8:6","nodeType":"YulAssignment","src":"6135:8:6","value":{"name":"t","nativeSrc":"6142:1:6","nodeType":"YulIdentifier","src":"6142:1:6"},"variableNames":[{"name":"inv","nativeSrc":"6135:3:6","nodeType":"YulIdentifier","src":"6135:3:6"}]}]},"name":"inverse","nativeSrc":"5433:724:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"a","nativeSrc":"5450:1:6","nodeType":"YulTypedName","src":"5450:1:6","type":""},{"name":"q","nativeSrc":"5453:1:6","nodeType":"YulTypedName","src":"5453:1:6","type":""}],"returnVariables":[{"name":"inv","nativeSrc":"5459:3:6","nodeType":"YulTypedName","src":"5459:3:6","type":""}],"src":"5433:724:6"},{"body":{"nativeSrc":"6431:1485:6","nodeType":"YulBlock","src":"6431:1485:6","statements":[{"nativeSrc":"6454:23:6","nodeType":"YulVariableDeclaration","src":"6454:23:6","value":{"arguments":[{"kind":"number","nativeSrc":"6472:4:6","nodeType":"YulLiteral","src":"6472:4:6","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6466:5:6","nodeType":"YulIdentifier","src":"6466:5:6"},"nativeSrc":"6466:11:6","nodeType":"YulFunctionCall","src":"6466:11:6"},"variables":[{"name":"pAux","nativeSrc":"6458:4:6","nodeType":"YulTypedName","src":"6458:4:6","type":""}]},{"nativeSrc":"6533:16:6","nodeType":"YulVariableDeclaration","src":"6533:16:6","value":{"name":"pVals","nativeSrc":"6544:5:6","nodeType":"YulIdentifier","src":"6544:5:6"},"variables":[{"name":"pIn","nativeSrc":"6537:3:6","nodeType":"YulTypedName","src":"6537:3:6","type":""}]},{"nativeSrc":"6566:37:6","nodeType":"YulVariableDeclaration","src":"6566:37:6","value":{"arguments":[{"name":"pVals","nativeSrc":"6585:5:6","nodeType":"YulIdentifier","src":"6585:5:6"},{"arguments":[{"name":"n","nativeSrc":"6596:1:6","nodeType":"YulIdentifier","src":"6596:1:6"},{"kind":"number","nativeSrc":"6599:2:6","nodeType":"YulLiteral","src":"6599:2:6","type":"","value":"32"}],"functionName":{"name":"mul","nativeSrc":"6592:3:6","nodeType":"YulIdentifier","src":"6592:3:6"},"nativeSrc":"6592:10:6","nodeType":"YulFunctionCall","src":"6592:10:6"}],"functionName":{"name":"add","nativeSrc":"6581:3:6","nodeType":"YulIdentifier","src":"6581:3:6"},"nativeSrc":"6581:22:6","nodeType":"YulFunctionCall","src":"6581:22:6"},"variables":[{"name":"lastPIn","nativeSrc":"6570:7:6","nodeType":"YulTypedName","src":"6570:7:6","type":""}]},{"nativeSrc":"6639:21:6","nodeType":"YulVariableDeclaration","src":"6639:21:6","value":{"arguments":[{"name":"pIn","nativeSrc":"6656:3:6","nodeType":"YulIdentifier","src":"6656:3:6"}],"functionName":{"name":"mload","nativeSrc":"6650:5:6","nodeType":"YulIdentifier","src":"6650:5:6"},"nativeSrc":"6650:10:6","nodeType":"YulFunctionCall","src":"6650:10:6"},"variables":[{"name":"acc","nativeSrc":"6643:3:6","nodeType":"YulTypedName","src":"6643:3:6","type":""}]},{"nativeSrc":"6709:19:6","nodeType":"YulAssignment","src":"6709:19:6","value":{"arguments":[{"name":"pIn","nativeSrc":"6720:3:6","nodeType":"YulIdentifier","src":"6720:3:6"},{"kind":"number","nativeSrc":"6725:2:6","nodeType":"YulLiteral","src":"6725:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6716:3:6","nodeType":"YulIdentifier","src":"6716:3:6"},"nativeSrc":"6716:12:6","nodeType":"YulFunctionCall","src":"6716:12:6"},"variableNames":[{"name":"pIn","nativeSrc":"6709:3:6","nodeType":"YulIdentifier","src":"6709:3:6"}]},{"nativeSrc":"6784:7:6","nodeType":"YulVariableDeclaration","src":"6784:7:6","variables":[{"name":"inv","nativeSrc":"6788:3:6","nodeType":"YulTypedName","src":"6788:3:6","type":""}]},{"body":{"nativeSrc":"6976:111:6","nodeType":"YulBlock","src":"6976:111:6","statements":[{"expression":{"arguments":[{"name":"pAux","nativeSrc":"7005:4:6","nodeType":"YulIdentifier","src":"7005:4:6"},{"name":"acc","nativeSrc":"7011:3:6","nodeType":"YulIdentifier","src":"7011:3:6"}],"functionName":{"name":"mstore","nativeSrc":"6998:6:6","nodeType":"YulIdentifier","src":"6998:6:6"},"nativeSrc":"6998:17:6","nodeType":"YulFunctionCall","src":"6998:17:6"},"nativeSrc":"6998:17:6","nodeType":"YulExpressionStatement","src":"6998:17:6"},{"nativeSrc":"7036:33:6","nodeType":"YulAssignment","src":"7036:33:6","value":{"arguments":[{"name":"acc","nativeSrc":"7050:3:6","nodeType":"YulIdentifier","src":"7050:3:6"},{"arguments":[{"name":"pIn","nativeSrc":"7061:3:6","nodeType":"YulIdentifier","src":"7061:3:6"}],"functionName":{"name":"mload","nativeSrc":"7055:5:6","nodeType":"YulIdentifier","src":"7055:5:6"},"nativeSrc":"7055:10:6","nodeType":"YulFunctionCall","src":"7055:10:6"},{"name":"q","nativeSrc":"7067:1:6","nodeType":"YulIdentifier","src":"7067:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"7043:6:6","nodeType":"YulIdentifier","src":"7043:6:6"},"nativeSrc":"7043:26:6","nodeType":"YulFunctionCall","src":"7043:26:6"},"variableNames":[{"name":"acc","nativeSrc":"7036:3:6","nodeType":"YulIdentifier","src":"7036:3:6"}]}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"6841:3:6","nodeType":"YulIdentifier","src":"6841:3:6"},{"name":"lastPIn","nativeSrc":"6846:7:6","nodeType":"YulIdentifier","src":"6846:7:6"}],"functionName":{"name":"lt","nativeSrc":"6838:2:6","nodeType":"YulIdentifier","src":"6838:2:6"},"nativeSrc":"6838:16:6","nodeType":"YulFunctionCall","src":"6838:16:6"},"nativeSrc":"6830:257:6","nodeType":"YulForLoop","post":{"nativeSrc":"6855:103:6","nodeType":"YulBlock","src":"6855:103:6","statements":[{"nativeSrc":"6878:21:6","nodeType":"YulAssignment","src":"6878:21:6","value":{"arguments":[{"name":"pAux","nativeSrc":"6890:4:6","nodeType":"YulIdentifier","src":"6890:4:6"},{"kind":"number","nativeSrc":"6896:2:6","nodeType":"YulLiteral","src":"6896:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6886:3:6","nodeType":"YulIdentifier","src":"6886:3:6"},"nativeSrc":"6886:13:6","nodeType":"YulFunctionCall","src":"6886:13:6"},"variableNames":[{"name":"pAux","nativeSrc":"6878:4:6","nodeType":"YulIdentifier","src":"6878:4:6"}]},{"nativeSrc":"6921:19:6","nodeType":"YulAssignment","src":"6921:19:6","value":{"arguments":[{"name":"pIn","nativeSrc":"6932:3:6","nodeType":"YulIdentifier","src":"6932:3:6"},{"kind":"number","nativeSrc":"6937:2:6","nodeType":"YulLiteral","src":"6937:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6928:3:6","nodeType":"YulIdentifier","src":"6928:3:6"},"nativeSrc":"6928:12:6","nodeType":"YulFunctionCall","src":"6928:12:6"},"variableNames":[{"name":"pIn","nativeSrc":"6921:3:6","nodeType":"YulIdentifier","src":"6921:3:6"}]}]},"pre":{"nativeSrc":"6834:3:6","nodeType":"YulBlock","src":"6834:3:6","statements":[]},"src":"6830:257:6"},{"nativeSrc":"7104:22:6","nodeType":"YulAssignment","src":"7104:22:6","value":{"arguments":[{"name":"acc","nativeSrc":"7119:3:6","nodeType":"YulIdentifier","src":"7119:3:6"},{"name":"q","nativeSrc":"7124:1:6","nodeType":"YulIdentifier","src":"7124:1:6"}],"functionName":{"name":"inverse","nativeSrc":"7111:7:6","nodeType":"YulIdentifier","src":"7111:7:6"},"nativeSrc":"7111:15:6","nodeType":"YulFunctionCall","src":"7111:15:6"},"variableNames":[{"name":"acc","nativeSrc":"7104:3:6","nodeType":"YulIdentifier","src":"7104:3:6"}]},{"nativeSrc":"7270:21:6","nodeType":"YulAssignment","src":"7270:21:6","value":{"arguments":[{"name":"pAux","nativeSrc":"7282:4:6","nodeType":"YulIdentifier","src":"7282:4:6"},{"kind":"number","nativeSrc":"7288:2:6","nodeType":"YulLiteral","src":"7288:2:6","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7278:3:6","nodeType":"YulIdentifier","src":"7278:3:6"},"nativeSrc":"7278:13:6","nodeType":"YulFunctionCall","src":"7278:13:6"},"variableNames":[{"name":"pAux","nativeSrc":"7270:4:6","nodeType":"YulIdentifier","src":"7270:4:6"}]},{"nativeSrc":"7385:19:6","nodeType":"YulAssignment","src":"7385:19:6","value":{"arguments":[{"name":"pIn","nativeSrc":"7396:3:6","nodeType":"YulIdentifier","src":"7396:3:6"},{"kind":"number","nativeSrc":"7401:2:6","nodeType":"YulLiteral","src":"7401:2:6","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7392:3:6","nodeType":"YulIdentifier","src":"7392:3:6"},"nativeSrc":"7392:12:6","nodeType":"YulFunctionCall","src":"7392:12:6"},"variableNames":[{"name":"pIn","nativeSrc":"7385:3:6","nodeType":"YulIdentifier","src":"7385:3:6"}]},{"nativeSrc":"7421:16:6","nodeType":"YulAssignment","src":"7421:16:6","value":{"name":"pVals","nativeSrc":"7432:5:6","nodeType":"YulIdentifier","src":"7432:5:6"},"variableNames":[{"name":"lastPIn","nativeSrc":"7421:7:6","nodeType":"YulIdentifier","src":"7421:7:6"}]},{"body":{"nativeSrc":"7640:165:6","nodeType":"YulBlock","src":"7640:165:6","statements":[{"nativeSrc":"7662:34:6","nodeType":"YulAssignment","src":"7662:34:6","value":{"arguments":[{"name":"acc","nativeSrc":"7676:3:6","nodeType":"YulIdentifier","src":"7676:3:6"},{"arguments":[{"name":"pAux","nativeSrc":"7687:4:6","nodeType":"YulIdentifier","src":"7687:4:6"}],"functionName":{"name":"mload","nativeSrc":"7681:5:6","nodeType":"YulIdentifier","src":"7681:5:6"},"nativeSrc":"7681:11:6","nodeType":"YulFunctionCall","src":"7681:11:6"},{"name":"q","nativeSrc":"7694:1:6","nodeType":"YulIdentifier","src":"7694:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"7669:6:6","nodeType":"YulIdentifier","src":"7669:6:6"},"nativeSrc":"7669:27:6","nodeType":"YulFunctionCall","src":"7669:27:6"},"variableNames":[{"name":"inv","nativeSrc":"7662:3:6","nodeType":"YulIdentifier","src":"7662:3:6"}]},{"nativeSrc":"7717:33:6","nodeType":"YulAssignment","src":"7717:33:6","value":{"arguments":[{"name":"acc","nativeSrc":"7731:3:6","nodeType":"YulIdentifier","src":"7731:3:6"},{"arguments":[{"name":"pIn","nativeSrc":"7742:3:6","nodeType":"YulIdentifier","src":"7742:3:6"}],"functionName":{"name":"mload","nativeSrc":"7736:5:6","nodeType":"YulIdentifier","src":"7736:5:6"},"nativeSrc":"7736:10:6","nodeType":"YulFunctionCall","src":"7736:10:6"},{"name":"q","nativeSrc":"7748:1:6","nodeType":"YulIdentifier","src":"7748:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"7724:6:6","nodeType":"YulIdentifier","src":"7724:6:6"},"nativeSrc":"7724:26:6","nodeType":"YulFunctionCall","src":"7724:26:6"},"variableNames":[{"name":"acc","nativeSrc":"7717:3:6","nodeType":"YulIdentifier","src":"7717:3:6"}]},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7778:3:6","nodeType":"YulIdentifier","src":"7778:3:6"},{"name":"inv","nativeSrc":"7783:3:6","nodeType":"YulIdentifier","src":"7783:3:6"}],"functionName":{"name":"mstore","nativeSrc":"7771:6:6","nodeType":"YulIdentifier","src":"7771:6:6"},"nativeSrc":"7771:16:6","nodeType":"YulFunctionCall","src":"7771:16:6"},"nativeSrc":"7771:16:6","nodeType":"YulExpressionStatement","src":"7771:16:6"}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"7505:3:6","nodeType":"YulIdentifier","src":"7505:3:6"},{"name":"lastPIn","nativeSrc":"7510:7:6","nodeType":"YulIdentifier","src":"7510:7:6"}],"functionName":{"name":"gt","nativeSrc":"7502:2:6","nodeType":"YulIdentifier","src":"7502:2:6"},"nativeSrc":"7502:16:6","nodeType":"YulFunctionCall","src":"7502:16:6"},"nativeSrc":"7494:311:6","nodeType":"YulForLoop","post":{"nativeSrc":"7519:103:6","nodeType":"YulBlock","src":"7519:103:6","statements":[{"nativeSrc":"7542:21:6","nodeType":"YulAssignment","src":"7542:21:6","value":{"arguments":[{"name":"pAux","nativeSrc":"7554:4:6","nodeType":"YulIdentifier","src":"7554:4:6"},{"kind":"number","nativeSrc":"7560:2:6","nodeType":"YulLiteral","src":"7560:2:6","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7550:3:6","nodeType":"YulIdentifier","src":"7550:3:6"},"nativeSrc":"7550:13:6","nodeType":"YulFunctionCall","src":"7550:13:6"},"variableNames":[{"name":"pAux","nativeSrc":"7542:4:6","nodeType":"YulIdentifier","src":"7542:4:6"}]},{"nativeSrc":"7585:19:6","nodeType":"YulAssignment","src":"7585:19:6","value":{"arguments":[{"name":"pIn","nativeSrc":"7596:3:6","nodeType":"YulIdentifier","src":"7596:3:6"},{"kind":"number","nativeSrc":"7601:2:6","nodeType":"YulLiteral","src":"7601:2:6","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7592:3:6","nodeType":"YulIdentifier","src":"7592:3:6"},"nativeSrc":"7592:12:6","nodeType":"YulFunctionCall","src":"7592:12:6"},"variableNames":[{"name":"pIn","nativeSrc":"7585:3:6","nodeType":"YulIdentifier","src":"7585:3:6"}]}]},"pre":{"nativeSrc":"7498:3:6","nodeType":"YulBlock","src":"7498:3:6","statements":[]},"src":"7494:311:6"},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7893:3:6","nodeType":"YulIdentifier","src":"7893:3:6"},{"name":"acc","nativeSrc":"7898:3:6","nodeType":"YulIdentifier","src":"7898:3:6"}],"functionName":{"name":"mstore","nativeSrc":"7886:6:6","nodeType":"YulIdentifier","src":"7886:6:6"},"nativeSrc":"7886:16:6","nodeType":"YulFunctionCall","src":"7886:16:6"},"nativeSrc":"7886:16:6","nodeType":"YulExpressionStatement","src":"7886:16:6"}]},"name":"inverseArray","nativeSrc":"6399:1517:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pVals","nativeSrc":"6421:5:6","nodeType":"YulTypedName","src":"6421:5:6","type":""},{"name":"n","nativeSrc":"6428:1:6","nodeType":"YulTypedName","src":"6428:1:6","type":""}],"src":"6399:1517:6"},{"body":{"nativeSrc":"7965:139:6","nodeType":"YulBlock","src":"7965:139:6","statements":[{"body":{"nativeSrc":"8003:87:6","nodeType":"YulBlock","src":"8003:87:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8032:1:6","nodeType":"YulLiteral","src":"8032:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"8035:1:6","nodeType":"YulLiteral","src":"8035:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8025:6:6","nodeType":"YulIdentifier","src":"8025:6:6"},"nativeSrc":"8025:12:6","nodeType":"YulFunctionCall","src":"8025:12:6"},"nativeSrc":"8025:12:6","nodeType":"YulExpressionStatement","src":"8025:12:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8065:1:6","nodeType":"YulLiteral","src":"8065:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"8067:4:6","nodeType":"YulLiteral","src":"8067:4:6","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8058:6:6","nodeType":"YulIdentifier","src":"8058:6:6"},"nativeSrc":"8058:14:6","nodeType":"YulFunctionCall","src":"8058:14:6"},"nativeSrc":"8058:14:6","nodeType":"YulExpressionStatement","src":"8058:14:6"}]},"condition":{"arguments":[{"arguments":[{"name":"v","nativeSrc":"7996:1:6","nodeType":"YulIdentifier","src":"7996:1:6"},{"name":"q","nativeSrc":"7999:1:6","nodeType":"YulIdentifier","src":"7999:1:6"}],"functionName":{"name":"lt","nativeSrc":"7993:2:6","nodeType":"YulIdentifier","src":"7993:2:6"},"nativeSrc":"7993:8:6","nodeType":"YulFunctionCall","src":"7993:8:6"}],"functionName":{"name":"iszero","nativeSrc":"7986:6:6","nodeType":"YulIdentifier","src":"7986:6:6"},"nativeSrc":"7986:16:6","nodeType":"YulFunctionCall","src":"7986:16:6"},"nativeSrc":"7983:107:6","nodeType":"YulIf","src":"7983:107:6"}]},"name":"checkField","nativeSrc":"7942:162:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"v","nativeSrc":"7962:1:6","nodeType":"YulTypedName","src":"7962:1:6","type":""}],"src":"7942:162:6"},{"body":{"nativeSrc":"8158:640:6","nodeType":"YulBlock","src":"8158:640:6","statements":[{"body":{"nativeSrc":"8211:87:6","nodeType":"YulBlock","src":"8211:87:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8240:1:6","nodeType":"YulLiteral","src":"8240:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"8243:1:6","nodeType":"YulLiteral","src":"8243:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8233:6:6","nodeType":"YulIdentifier","src":"8233:6:6"},"nativeSrc":"8233:12:6","nodeType":"YulFunctionCall","src":"8233:12:6"},"nativeSrc":"8233:12:6","nodeType":"YulExpressionStatement","src":"8233:12:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8273:1:6","nodeType":"YulLiteral","src":"8273:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"8275:4:6","nodeType":"YulLiteral","src":"8275:4:6","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8266:6:6","nodeType":"YulIdentifier","src":"8266:6:6"},"nativeSrc":"8266:14:6","nodeType":"YulFunctionCall","src":"8266:14:6"},"nativeSrc":"8266:14:6","nodeType":"YulExpressionStatement","src":"8266:14:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8195:6:6","nodeType":"YulIdentifier","src":"8195:6:6"}],"functionName":{"name":"mload","nativeSrc":"8189:5:6","nodeType":"YulIdentifier","src":"8189:5:6"},"nativeSrc":"8189:13:6","nodeType":"YulFunctionCall","src":"8189:13:6"},{"kind":"number","nativeSrc":"8204:3:6","nodeType":"YulLiteral","src":"8204:3:6","type":"","value":"800"}],"functionName":{"name":"eq","nativeSrc":"8186:2:6","nodeType":"YulIdentifier","src":"8186:2:6"},"nativeSrc":"8186:23:6","nodeType":"YulFunctionCall","src":"8186:23:6"}],"functionName":{"name":"iszero","nativeSrc":"8179:6:6","nodeType":"YulIdentifier","src":"8179:6:6"},"nativeSrc":"8179:31:6","nodeType":"YulFunctionCall","src":"8179:31:6"},"nativeSrc":"8176:122:6","nodeType":"YulIf","src":"8176:122:6"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8336:6:6","nodeType":"YulIdentifier","src":"8336:6:6"},{"name":"pEval_a","nativeSrc":"8344:7:6","nodeType":"YulIdentifier","src":"8344:7:6"}],"functionName":{"name":"add","nativeSrc":"8332:3:6","nodeType":"YulIdentifier","src":"8332:3:6"},"nativeSrc":"8332:20:6","nodeType":"YulFunctionCall","src":"8332:20:6"}],"functionName":{"name":"mload","nativeSrc":"8326:5:6","nodeType":"YulIdentifier","src":"8326:5:6"},"nativeSrc":"8326:27:6","nodeType":"YulFunctionCall","src":"8326:27:6"}],"functionName":{"name":"checkField","nativeSrc":"8315:10:6","nodeType":"YulIdentifier","src":"8315:10:6"},"nativeSrc":"8315:39:6","nodeType":"YulFunctionCall","src":"8315:39:6"},"nativeSrc":"8315:39:6","nodeType":"YulExpressionStatement","src":"8315:39:6"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8392:6:6","nodeType":"YulIdentifier","src":"8392:6:6"},{"name":"pEval_b","nativeSrc":"8400:7:6","nodeType":"YulIdentifier","src":"8400:7:6"}],"functionName":{"name":"add","nativeSrc":"8388:3:6","nodeType":"YulIdentifier","src":"8388:3:6"},"nativeSrc":"8388:20:6","nodeType":"YulFunctionCall","src":"8388:20:6"}],"functionName":{"name":"mload","nativeSrc":"8382:5:6","nodeType":"YulIdentifier","src":"8382:5:6"},"nativeSrc":"8382:27:6","nodeType":"YulFunctionCall","src":"8382:27:6"}],"functionName":{"name":"checkField","nativeSrc":"8371:10:6","nodeType":"YulIdentifier","src":"8371:10:6"},"nativeSrc":"8371:39:6","nodeType":"YulFunctionCall","src":"8371:39:6"},"nativeSrc":"8371:39:6","nodeType":"YulExpressionStatement","src":"8371:39:6"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8448:6:6","nodeType":"YulIdentifier","src":"8448:6:6"},{"name":"pEval_c","nativeSrc":"8456:7:6","nodeType":"YulIdentifier","src":"8456:7:6"}],"functionName":{"name":"add","nativeSrc":"8444:3:6","nodeType":"YulIdentifier","src":"8444:3:6"},"nativeSrc":"8444:20:6","nodeType":"YulFunctionCall","src":"8444:20:6"}],"functionName":{"name":"mload","nativeSrc":"8438:5:6","nodeType":"YulIdentifier","src":"8438:5:6"},"nativeSrc":"8438:27:6","nodeType":"YulFunctionCall","src":"8438:27:6"}],"functionName":{"name":"checkField","nativeSrc":"8427:10:6","nodeType":"YulIdentifier","src":"8427:10:6"},"nativeSrc":"8427:39:6","nodeType":"YulFunctionCall","src":"8427:39:6"},"nativeSrc":"8427:39:6","nodeType":"YulExpressionStatement","src":"8427:39:6"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8504:6:6","nodeType":"YulIdentifier","src":"8504:6:6"},{"name":"pEval_s1","nativeSrc":"8512:8:6","nodeType":"YulIdentifier","src":"8512:8:6"}],"functionName":{"name":"add","nativeSrc":"8500:3:6","nodeType":"YulIdentifier","src":"8500:3:6"},"nativeSrc":"8500:21:6","nodeType":"YulFunctionCall","src":"8500:21:6"}],"functionName":{"name":"mload","nativeSrc":"8494:5:6","nodeType":"YulIdentifier","src":"8494:5:6"},"nativeSrc":"8494:28:6","nodeType":"YulFunctionCall","src":"8494:28:6"}],"functionName":{"name":"checkField","nativeSrc":"8483:10:6","nodeType":"YulIdentifier","src":"8483:10:6"},"nativeSrc":"8483:40:6","nodeType":"YulFunctionCall","src":"8483:40:6"},"nativeSrc":"8483:40:6","nodeType":"YulExpressionStatement","src":"8483:40:6"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8561:6:6","nodeType":"YulIdentifier","src":"8561:6:6"},{"name":"pEval_s2","nativeSrc":"8569:8:6","nodeType":"YulIdentifier","src":"8569:8:6"}],"functionName":{"name":"add","nativeSrc":"8557:3:6","nodeType":"YulIdentifier","src":"8557:3:6"},"nativeSrc":"8557:21:6","nodeType":"YulFunctionCall","src":"8557:21:6"}],"functionName":{"name":"mload","nativeSrc":"8551:5:6","nodeType":"YulIdentifier","src":"8551:5:6"},"nativeSrc":"8551:28:6","nodeType":"YulFunctionCall","src":"8551:28:6"}],"functionName":{"name":"checkField","nativeSrc":"8540:10:6","nodeType":"YulIdentifier","src":"8540:10:6"},"nativeSrc":"8540:40:6","nodeType":"YulFunctionCall","src":"8540:40:6"},"nativeSrc":"8540:40:6","nodeType":"YulExpressionStatement","src":"8540:40:6"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8618:6:6","nodeType":"YulIdentifier","src":"8618:6:6"},{"name":"pEval_zw","nativeSrc":"8626:8:6","nodeType":"YulIdentifier","src":"8626:8:6"}],"functionName":{"name":"add","nativeSrc":"8614:3:6","nodeType":"YulIdentifier","src":"8614:3:6"},"nativeSrc":"8614:21:6","nodeType":"YulFunctionCall","src":"8614:21:6"}],"functionName":{"name":"mload","nativeSrc":"8608:5:6","nodeType":"YulIdentifier","src":"8608:5:6"},"nativeSrc":"8608:28:6","nodeType":"YulFunctionCall","src":"8608:28:6"}],"functionName":{"name":"checkField","nativeSrc":"8597:10:6","nodeType":"YulIdentifier","src":"8597:10:6"},"nativeSrc":"8597:40:6","nodeType":"YulFunctionCall","src":"8597:40:6"},"nativeSrc":"8597:40:6","nodeType":"YulExpressionStatement","src":"8597:40:6"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8675:6:6","nodeType":"YulIdentifier","src":"8675:6:6"},{"name":"pEval_r","nativeSrc":"8683:7:6","nodeType":"YulIdentifier","src":"8683:7:6"}],"functionName":{"name":"add","nativeSrc":"8671:3:6","nodeType":"YulIdentifier","src":"8671:3:6"},"nativeSrc":"8671:20:6","nodeType":"YulFunctionCall","src":"8671:20:6"}],"functionName":{"name":"mload","nativeSrc":"8665:5:6","nodeType":"YulIdentifier","src":"8665:5:6"},"nativeSrc":"8665:27:6","nodeType":"YulFunctionCall","src":"8665:27:6"}],"functionName":{"name":"checkField","nativeSrc":"8654:10:6","nodeType":"YulIdentifier","src":"8654:10:6"},"nativeSrc":"8654:39:6","nodeType":"YulFunctionCall","src":"8654:39:6"},"nativeSrc":"8654:39:6","nodeType":"YulExpressionStatement","src":"8654:39:6"}]},"name":"checkInput","nativeSrc":"8130:668:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8150:6:6","nodeType":"YulTypedName","src":"8150:6:6","type":""}],"src":"8130:668:6"},{"body":{"nativeSrc":"8876:2776:6","nodeType":"YulBlock","src":"8876:2776:6","statements":[{"nativeSrc":"8907:5:6","nodeType":"YulVariableDeclaration","src":"8907:5:6","variables":[{"name":"a","nativeSrc":"8911:1:6","nodeType":"YulTypedName","src":"8911:1:6","type":""}]},{"nativeSrc":"8929:5:6","nodeType":"YulVariableDeclaration","src":"8929:5:6","variables":[{"name":"b","nativeSrc":"8933:1:6","nodeType":"YulTypedName","src":"8933:1:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"8981:4:6","nodeType":"YulIdentifier","src":"8981:4:6"},{"kind":"number","nativeSrc":"8987:3:6","nodeType":"YulLiteral","src":"8987:3:6","type":"","value":"704"}],"functionName":{"name":"add","nativeSrc":"8977:3:6","nodeType":"YulIdentifier","src":"8977:3:6"},"nativeSrc":"8977:15:6","nodeType":"YulFunctionCall","src":"8977:15:6"},{"arguments":[{"arguments":[{"name":"pPublic","nativeSrc":"9006:7:6","nodeType":"YulIdentifier","src":"9006:7:6"},{"kind":"number","nativeSrc":"9015:2:6","nodeType":"YulLiteral","src":"9015:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9001:3:6","nodeType":"YulIdentifier","src":"9001:3:6"},"nativeSrc":"9001:17:6","nodeType":"YulFunctionCall","src":"9001:17:6"}],"functionName":{"name":"mload","nativeSrc":"8994:5:6","nodeType":"YulIdentifier","src":"8994:5:6"},"nativeSrc":"8994:25:6","nodeType":"YulFunctionCall","src":"8994:25:6"}],"functionName":{"name":"mstore","nativeSrc":"8969:6:6","nodeType":"YulIdentifier","src":"8969:6:6"},"nativeSrc":"8969:51:6","nodeType":"YulFunctionCall","src":"8969:51:6"},"nativeSrc":"8969:51:6","nodeType":"YulExpressionStatement","src":"8969:51:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9066:4:6","nodeType":"YulIdentifier","src":"9066:4:6"},{"kind":"number","nativeSrc":"9072:3:6","nodeType":"YulLiteral","src":"9072:3:6","type":"","value":"736"}],"functionName":{"name":"add","nativeSrc":"9062:3:6","nodeType":"YulIdentifier","src":"9062:3:6"},"nativeSrc":"9062:15:6","nodeType":"YulFunctionCall","src":"9062:15:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9091:6:6","nodeType":"YulIdentifier","src":"9091:6:6"},{"name":"pA","nativeSrc":"9099:2:6","nodeType":"YulIdentifier","src":"9099:2:6"}],"functionName":{"name":"add","nativeSrc":"9086:3:6","nodeType":"YulIdentifier","src":"9086:3:6"},"nativeSrc":"9086:16:6","nodeType":"YulFunctionCall","src":"9086:16:6"}],"functionName":{"name":"mload","nativeSrc":"9079:5:6","nodeType":"YulIdentifier","src":"9079:5:6"},"nativeSrc":"9079:24:6","nodeType":"YulFunctionCall","src":"9079:24:6"}],"functionName":{"name":"mstore","nativeSrc":"9054:6:6","nodeType":"YulIdentifier","src":"9054:6:6"},"nativeSrc":"9054:50:6","nodeType":"YulFunctionCall","src":"9054:50:6"},"nativeSrc":"9054:50:6","nodeType":"YulExpressionStatement","src":"9054:50:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9133:4:6","nodeType":"YulIdentifier","src":"9133:4:6"},{"kind":"number","nativeSrc":"9139:3:6","nodeType":"YulLiteral","src":"9139:3:6","type":"","value":"768"}],"functionName":{"name":"add","nativeSrc":"9129:3:6","nodeType":"YulIdentifier","src":"9129:3:6"},"nativeSrc":"9129:15:6","nodeType":"YulFunctionCall","src":"9129:15:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9158:6:6","nodeType":"YulIdentifier","src":"9158:6:6"},{"arguments":[{"name":"pA","nativeSrc":"9170:2:6","nodeType":"YulIdentifier","src":"9170:2:6"},{"kind":"number","nativeSrc":"9173:2:6","nodeType":"YulLiteral","src":"9173:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9166:3:6","nodeType":"YulIdentifier","src":"9166:3:6"},"nativeSrc":"9166:10:6","nodeType":"YulFunctionCall","src":"9166:10:6"}],"functionName":{"name":"add","nativeSrc":"9153:3:6","nodeType":"YulIdentifier","src":"9153:3:6"},"nativeSrc":"9153:24:6","nodeType":"YulFunctionCall","src":"9153:24:6"}],"functionName":{"name":"mload","nativeSrc":"9146:5:6","nodeType":"YulIdentifier","src":"9146:5:6"},"nativeSrc":"9146:32:6","nodeType":"YulFunctionCall","src":"9146:32:6"}],"functionName":{"name":"mstore","nativeSrc":"9121:6:6","nodeType":"YulIdentifier","src":"9121:6:6"},"nativeSrc":"9121:58:6","nodeType":"YulFunctionCall","src":"9121:58:6"},"nativeSrc":"9121:58:6","nodeType":"YulExpressionStatement","src":"9121:58:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9208:4:6","nodeType":"YulIdentifier","src":"9208:4:6"},{"kind":"number","nativeSrc":"9214:3:6","nodeType":"YulLiteral","src":"9214:3:6","type":"","value":"800"}],"functionName":{"name":"add","nativeSrc":"9204:3:6","nodeType":"YulIdentifier","src":"9204:3:6"},"nativeSrc":"9204:15:6","nodeType":"YulFunctionCall","src":"9204:15:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9233:6:6","nodeType":"YulIdentifier","src":"9233:6:6"},{"arguments":[{"name":"pA","nativeSrc":"9245:2:6","nodeType":"YulIdentifier","src":"9245:2:6"},{"kind":"number","nativeSrc":"9248:2:6","nodeType":"YulLiteral","src":"9248:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"9241:3:6","nodeType":"YulIdentifier","src":"9241:3:6"},"nativeSrc":"9241:10:6","nodeType":"YulFunctionCall","src":"9241:10:6"}],"functionName":{"name":"add","nativeSrc":"9228:3:6","nodeType":"YulIdentifier","src":"9228:3:6"},"nativeSrc":"9228:24:6","nodeType":"YulFunctionCall","src":"9228:24:6"}],"functionName":{"name":"mload","nativeSrc":"9221:5:6","nodeType":"YulIdentifier","src":"9221:5:6"},"nativeSrc":"9221:32:6","nodeType":"YulFunctionCall","src":"9221:32:6"}],"functionName":{"name":"mstore","nativeSrc":"9196:6:6","nodeType":"YulIdentifier","src":"9196:6:6"},"nativeSrc":"9196:58:6","nodeType":"YulFunctionCall","src":"9196:58:6"},"nativeSrc":"9196:58:6","nodeType":"YulExpressionStatement","src":"9196:58:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9283:4:6","nodeType":"YulIdentifier","src":"9283:4:6"},{"kind":"number","nativeSrc":"9289:3:6","nodeType":"YulLiteral","src":"9289:3:6","type":"","value":"832"}],"functionName":{"name":"add","nativeSrc":"9279:3:6","nodeType":"YulIdentifier","src":"9279:3:6"},"nativeSrc":"9279:15:6","nodeType":"YulFunctionCall","src":"9279:15:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9308:6:6","nodeType":"YulIdentifier","src":"9308:6:6"},{"arguments":[{"name":"pA","nativeSrc":"9320:2:6","nodeType":"YulIdentifier","src":"9320:2:6"},{"kind":"number","nativeSrc":"9323:2:6","nodeType":"YulLiteral","src":"9323:2:6","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"9316:3:6","nodeType":"YulIdentifier","src":"9316:3:6"},"nativeSrc":"9316:10:6","nodeType":"YulFunctionCall","src":"9316:10:6"}],"functionName":{"name":"add","nativeSrc":"9303:3:6","nodeType":"YulIdentifier","src":"9303:3:6"},"nativeSrc":"9303:24:6","nodeType":"YulFunctionCall","src":"9303:24:6"}],"functionName":{"name":"mload","nativeSrc":"9296:5:6","nodeType":"YulIdentifier","src":"9296:5:6"},"nativeSrc":"9296:32:6","nodeType":"YulFunctionCall","src":"9296:32:6"}],"functionName":{"name":"mstore","nativeSrc":"9271:6:6","nodeType":"YulIdentifier","src":"9271:6:6"},"nativeSrc":"9271:58:6","nodeType":"YulFunctionCall","src":"9271:58:6"},"nativeSrc":"9271:58:6","nodeType":"YulExpressionStatement","src":"9271:58:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9358:4:6","nodeType":"YulIdentifier","src":"9358:4:6"},{"kind":"number","nativeSrc":"9364:3:6","nodeType":"YulLiteral","src":"9364:3:6","type":"","value":"864"}],"functionName":{"name":"add","nativeSrc":"9354:3:6","nodeType":"YulIdentifier","src":"9354:3:6"},"nativeSrc":"9354:15:6","nodeType":"YulFunctionCall","src":"9354:15:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9383:6:6","nodeType":"YulIdentifier","src":"9383:6:6"},{"arguments":[{"name":"pA","nativeSrc":"9395:2:6","nodeType":"YulIdentifier","src":"9395:2:6"},{"kind":"number","nativeSrc":"9398:3:6","nodeType":"YulLiteral","src":"9398:3:6","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"9391:3:6","nodeType":"YulIdentifier","src":"9391:3:6"},"nativeSrc":"9391:11:6","nodeType":"YulFunctionCall","src":"9391:11:6"}],"functionName":{"name":"add","nativeSrc":"9378:3:6","nodeType":"YulIdentifier","src":"9378:3:6"},"nativeSrc":"9378:25:6","nodeType":"YulFunctionCall","src":"9378:25:6"}],"functionName":{"name":"mload","nativeSrc":"9371:5:6","nodeType":"YulIdentifier","src":"9371:5:6"},"nativeSrc":"9371:33:6","nodeType":"YulFunctionCall","src":"9371:33:6"}],"functionName":{"name":"mstore","nativeSrc":"9346:6:6","nodeType":"YulIdentifier","src":"9346:6:6"},"nativeSrc":"9346:59:6","nodeType":"YulFunctionCall","src":"9346:59:6"},"nativeSrc":"9346:59:6","nodeType":"YulExpressionStatement","src":"9346:59:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9434:4:6","nodeType":"YulIdentifier","src":"9434:4:6"},{"kind":"number","nativeSrc":"9440:3:6","nodeType":"YulLiteral","src":"9440:3:6","type":"","value":"896"}],"functionName":{"name":"add","nativeSrc":"9430:3:6","nodeType":"YulIdentifier","src":"9430:3:6"},"nativeSrc":"9430:15:6","nodeType":"YulFunctionCall","src":"9430:15:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9459:6:6","nodeType":"YulIdentifier","src":"9459:6:6"},{"arguments":[{"name":"pA","nativeSrc":"9471:2:6","nodeType":"YulIdentifier","src":"9471:2:6"},{"kind":"number","nativeSrc":"9474:3:6","nodeType":"YulLiteral","src":"9474:3:6","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"9467:3:6","nodeType":"YulIdentifier","src":"9467:3:6"},"nativeSrc":"9467:11:6","nodeType":"YulFunctionCall","src":"9467:11:6"}],"functionName":{"name":"add","nativeSrc":"9454:3:6","nodeType":"YulIdentifier","src":"9454:3:6"},"nativeSrc":"9454:25:6","nodeType":"YulFunctionCall","src":"9454:25:6"}],"functionName":{"name":"mload","nativeSrc":"9447:5:6","nodeType":"YulIdentifier","src":"9447:5:6"},"nativeSrc":"9447:33:6","nodeType":"YulFunctionCall","src":"9447:33:6"}],"functionName":{"name":"mstore","nativeSrc":"9422:6:6","nodeType":"YulIdentifier","src":"9422:6:6"},"nativeSrc":"9422:59:6","nodeType":"YulFunctionCall","src":"9422:59:6"},"nativeSrc":"9422:59:6","nodeType":"YulExpressionStatement","src":"9422:59:6"},{"nativeSrc":"9515:47:6","nodeType":"YulAssignment","src":"9515:47:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9538:4:6","nodeType":"YulIdentifier","src":"9538:4:6"},{"name":"lastMem","nativeSrc":"9544:7:6","nodeType":"YulIdentifier","src":"9544:7:6"}],"functionName":{"name":"add","nativeSrc":"9534:3:6","nodeType":"YulIdentifier","src":"9534:3:6"},"nativeSrc":"9534:18:6","nodeType":"YulFunctionCall","src":"9534:18:6"},{"kind":"number","nativeSrc":"9554:3:6","nodeType":"YulLiteral","src":"9554:3:6","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"9524:9:6","nodeType":"YulIdentifier","src":"9524:9:6"},"nativeSrc":"9524:34:6","nodeType":"YulFunctionCall","src":"9524:34:6"},{"name":"q","nativeSrc":"9560:1:6","nodeType":"YulIdentifier","src":"9560:1:6"}],"functionName":{"name":"mod","nativeSrc":"9520:3:6","nodeType":"YulIdentifier","src":"9520:3:6"},"nativeSrc":"9520:42:6","nodeType":"YulFunctionCall","src":"9520:42:6"},"variableNames":[{"name":"b","nativeSrc":"9515:1:6","nodeType":"YulIdentifier","src":"9515:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9592:4:6","nodeType":"YulIdentifier","src":"9592:4:6"},{"name":"pBeta","nativeSrc":"9598:5:6","nodeType":"YulIdentifier","src":"9598:5:6"}],"functionName":{"name":"add","nativeSrc":"9588:3:6","nodeType":"YulIdentifier","src":"9588:3:6"},"nativeSrc":"9588:16:6","nodeType":"YulFunctionCall","src":"9588:16:6"},{"name":"b","nativeSrc":"9606:1:6","nodeType":"YulIdentifier","src":"9606:1:6"}],"functionName":{"name":"mstore","nativeSrc":"9580:6:6","nodeType":"YulIdentifier","src":"9580:6:6"},"nativeSrc":"9580:28:6","nodeType":"YulFunctionCall","src":"9580:28:6"},"nativeSrc":"9580:28:6","nodeType":"YulExpressionStatement","src":"9580:28:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9637:4:6","nodeType":"YulIdentifier","src":"9637:4:6"},{"name":"pGamma","nativeSrc":"9643:6:6","nodeType":"YulIdentifier","src":"9643:6:6"}],"functionName":{"name":"add","nativeSrc":"9633:3:6","nodeType":"YulIdentifier","src":"9633:3:6"},"nativeSrc":"9633:17:6","nodeType":"YulFunctionCall","src":"9633:17:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9670:4:6","nodeType":"YulIdentifier","src":"9670:4:6"},{"name":"pBeta","nativeSrc":"9676:5:6","nodeType":"YulIdentifier","src":"9676:5:6"}],"functionName":{"name":"add","nativeSrc":"9666:3:6","nodeType":"YulIdentifier","src":"9666:3:6"},"nativeSrc":"9666:16:6","nodeType":"YulFunctionCall","src":"9666:16:6"},{"kind":"number","nativeSrc":"9684:2:6","nodeType":"YulLiteral","src":"9684:2:6","type":"","value":"32"}],"functionName":{"name":"keccak256","nativeSrc":"9656:9:6","nodeType":"YulIdentifier","src":"9656:9:6"},"nativeSrc":"9656:31:6","nodeType":"YulFunctionCall","src":"9656:31:6"},{"name":"q","nativeSrc":"9689:1:6","nodeType":"YulIdentifier","src":"9689:1:6"}],"functionName":{"name":"mod","nativeSrc":"9652:3:6","nodeType":"YulIdentifier","src":"9652:3:6"},"nativeSrc":"9652:39:6","nodeType":"YulFunctionCall","src":"9652:39:6"}],"functionName":{"name":"mstore","nativeSrc":"9625:6:6","nodeType":"YulIdentifier","src":"9625:6:6"},"nativeSrc":"9625:67:6","nodeType":"YulFunctionCall","src":"9625:67:6"},"nativeSrc":"9625:67:6","nodeType":"YulExpressionStatement","src":"9625:67:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9721:4:6","nodeType":"YulIdentifier","src":"9721:4:6"},{"name":"pAlpha","nativeSrc":"9727:6:6","nodeType":"YulIdentifier","src":"9727:6:6"}],"functionName":{"name":"add","nativeSrc":"9717:3:6","nodeType":"YulIdentifier","src":"9717:3:6"},"nativeSrc":"9717:17:6","nodeType":"YulFunctionCall","src":"9717:17:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9754:6:6","nodeType":"YulIdentifier","src":"9754:6:6"},{"name":"pZ","nativeSrc":"9762:2:6","nodeType":"YulIdentifier","src":"9762:2:6"}],"functionName":{"name":"add","nativeSrc":"9750:3:6","nodeType":"YulIdentifier","src":"9750:3:6"},"nativeSrc":"9750:15:6","nodeType":"YulFunctionCall","src":"9750:15:6"},{"kind":"number","nativeSrc":"9767:2:6","nodeType":"YulLiteral","src":"9767:2:6","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"9740:9:6","nodeType":"YulIdentifier","src":"9740:9:6"},"nativeSrc":"9740:30:6","nodeType":"YulFunctionCall","src":"9740:30:6"},{"name":"q","nativeSrc":"9772:1:6","nodeType":"YulIdentifier","src":"9772:1:6"}],"functionName":{"name":"mod","nativeSrc":"9736:3:6","nodeType":"YulIdentifier","src":"9736:3:6"},"nativeSrc":"9736:38:6","nodeType":"YulFunctionCall","src":"9736:38:6"}],"functionName":{"name":"mstore","nativeSrc":"9709:6:6","nodeType":"YulIdentifier","src":"9709:6:6"},"nativeSrc":"9709:66:6","nodeType":"YulFunctionCall","src":"9709:66:6"},"nativeSrc":"9709:66:6","nodeType":"YulExpressionStatement","src":"9709:66:6"},{"nativeSrc":"9809:45:6","nodeType":"YulAssignment","src":"9809:45:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9832:6:6","nodeType":"YulIdentifier","src":"9832:6:6"},{"name":"pT1","nativeSrc":"9840:3:6","nodeType":"YulIdentifier","src":"9840:3:6"}],"functionName":{"name":"add","nativeSrc":"9828:3:6","nodeType":"YulIdentifier","src":"9828:3:6"},"nativeSrc":"9828:16:6","nodeType":"YulFunctionCall","src":"9828:16:6"},{"kind":"number","nativeSrc":"9846:3:6","nodeType":"YulLiteral","src":"9846:3:6","type":"","value":"192"}],"functionName":{"name":"keccak256","nativeSrc":"9818:9:6","nodeType":"YulIdentifier","src":"9818:9:6"},"nativeSrc":"9818:32:6","nodeType":"YulFunctionCall","src":"9818:32:6"},{"name":"q","nativeSrc":"9852:1:6","nodeType":"YulIdentifier","src":"9852:1:6"}],"functionName":{"name":"mod","nativeSrc":"9814:3:6","nodeType":"YulIdentifier","src":"9814:3:6"},"nativeSrc":"9814:40:6","nodeType":"YulFunctionCall","src":"9814:40:6"},"variableNames":[{"name":"a","nativeSrc":"9809:1:6","nodeType":"YulIdentifier","src":"9809:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9883:4:6","nodeType":"YulIdentifier","src":"9883:4:6"},{"name":"pXi","nativeSrc":"9889:3:6","nodeType":"YulIdentifier","src":"9889:3:6"}],"functionName":{"name":"add","nativeSrc":"9879:3:6","nodeType":"YulIdentifier","src":"9879:3:6"},"nativeSrc":"9879:14:6","nodeType":"YulFunctionCall","src":"9879:14:6"},{"name":"a","nativeSrc":"9895:1:6","nodeType":"YulIdentifier","src":"9895:1:6"}],"functionName":{"name":"mstore","nativeSrc":"9871:6:6","nodeType":"YulIdentifier","src":"9871:6:6"},"nativeSrc":"9871:26:6","nodeType":"YulFunctionCall","src":"9871:26:6"},"nativeSrc":"9871:26:6","nodeType":"YulExpressionStatement","src":"9871:26:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9926:4:6","nodeType":"YulIdentifier","src":"9926:4:6"},{"name":"pBetaXi","nativeSrc":"9932:7:6","nodeType":"YulIdentifier","src":"9932:7:6"}],"functionName":{"name":"add","nativeSrc":"9922:3:6","nodeType":"YulIdentifier","src":"9922:3:6"},"nativeSrc":"9922:18:6","nodeType":"YulFunctionCall","src":"9922:18:6"},{"arguments":[{"name":"b","nativeSrc":"9949:1:6","nodeType":"YulIdentifier","src":"9949:1:6"},{"name":"a","nativeSrc":"9952:1:6","nodeType":"YulIdentifier","src":"9952:1:6"},{"name":"q","nativeSrc":"9955:1:6","nodeType":"YulIdentifier","src":"9955:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"9942:6:6","nodeType":"YulIdentifier","src":"9942:6:6"},"nativeSrc":"9942:15:6","nodeType":"YulFunctionCall","src":"9942:15:6"}],"functionName":{"name":"mstore","nativeSrc":"9914:6:6","nodeType":"YulIdentifier","src":"9914:6:6"},"nativeSrc":"9914:44:6","nodeType":"YulFunctionCall","src":"9914:44:6"},"nativeSrc":"9914:44:6","nodeType":"YulExpressionStatement","src":"9914:44:6"},{"nativeSrc":"9992:19:6","nodeType":"YulAssignment","src":"9992:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10003:1:6","nodeType":"YulIdentifier","src":"10003:1:6"},{"name":"a","nativeSrc":"10006:1:6","nodeType":"YulIdentifier","src":"10006:1:6"},{"name":"q","nativeSrc":"10009:1:6","nodeType":"YulIdentifier","src":"10009:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"9996:6:6","nodeType":"YulIdentifier","src":"9996:6:6"},"nativeSrc":"9996:15:6","nodeType":"YulFunctionCall","src":"9996:15:6"},"variableNames":[{"name":"a","nativeSrc":"9992:1:6","nodeType":"YulIdentifier","src":"9992:1:6"}]},{"nativeSrc":"10045:19:6","nodeType":"YulAssignment","src":"10045:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10056:1:6","nodeType":"YulIdentifier","src":"10056:1:6"},{"name":"a","nativeSrc":"10059:1:6","nodeType":"YulIdentifier","src":"10059:1:6"},{"name":"q","nativeSrc":"10062:1:6","nodeType":"YulIdentifier","src":"10062:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10049:6:6","nodeType":"YulIdentifier","src":"10049:6:6"},"nativeSrc":"10049:15:6","nodeType":"YulFunctionCall","src":"10049:15:6"},"variableNames":[{"name":"a","nativeSrc":"10045:1:6","nodeType":"YulIdentifier","src":"10045:1:6"}]},{"nativeSrc":"10098:19:6","nodeType":"YulAssignment","src":"10098:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10109:1:6","nodeType":"YulIdentifier","src":"10109:1:6"},{"name":"a","nativeSrc":"10112:1:6","nodeType":"YulIdentifier","src":"10112:1:6"},{"name":"q","nativeSrc":"10115:1:6","nodeType":"YulIdentifier","src":"10115:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10102:6:6","nodeType":"YulIdentifier","src":"10102:6:6"},"nativeSrc":"10102:15:6","nodeType":"YulFunctionCall","src":"10102:15:6"},"variableNames":[{"name":"a","nativeSrc":"10098:1:6","nodeType":"YulIdentifier","src":"10098:1:6"}]},{"nativeSrc":"10151:19:6","nodeType":"YulAssignment","src":"10151:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10162:1:6","nodeType":"YulIdentifier","src":"10162:1:6"},{"name":"a","nativeSrc":"10165:1:6","nodeType":"YulIdentifier","src":"10165:1:6"},{"name":"q","nativeSrc":"10168:1:6","nodeType":"YulIdentifier","src":"10168:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10155:6:6","nodeType":"YulIdentifier","src":"10155:6:6"},"nativeSrc":"10155:15:6","nodeType":"YulFunctionCall","src":"10155:15:6"},"variableNames":[{"name":"a","nativeSrc":"10151:1:6","nodeType":"YulIdentifier","src":"10151:1:6"}]},{"nativeSrc":"10204:19:6","nodeType":"YulAssignment","src":"10204:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10215:1:6","nodeType":"YulIdentifier","src":"10215:1:6"},{"name":"a","nativeSrc":"10218:1:6","nodeType":"YulIdentifier","src":"10218:1:6"},{"name":"q","nativeSrc":"10221:1:6","nodeType":"YulIdentifier","src":"10221:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10208:6:6","nodeType":"YulIdentifier","src":"10208:6:6"},"nativeSrc":"10208:15:6","nodeType":"YulFunctionCall","src":"10208:15:6"},"variableNames":[{"name":"a","nativeSrc":"10204:1:6","nodeType":"YulIdentifier","src":"10204:1:6"}]},{"nativeSrc":"10257:19:6","nodeType":"YulAssignment","src":"10257:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10268:1:6","nodeType":"YulIdentifier","src":"10268:1:6"},{"name":"a","nativeSrc":"10271:1:6","nodeType":"YulIdentifier","src":"10271:1:6"},{"name":"q","nativeSrc":"10274:1:6","nodeType":"YulIdentifier","src":"10274:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10261:6:6","nodeType":"YulIdentifier","src":"10261:6:6"},"nativeSrc":"10261:15:6","nodeType":"YulFunctionCall","src":"10261:15:6"},"variableNames":[{"name":"a","nativeSrc":"10257:1:6","nodeType":"YulIdentifier","src":"10257:1:6"}]},{"nativeSrc":"10310:19:6","nodeType":"YulAssignment","src":"10310:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10321:1:6","nodeType":"YulIdentifier","src":"10321:1:6"},{"name":"a","nativeSrc":"10324:1:6","nodeType":"YulIdentifier","src":"10324:1:6"},{"name":"q","nativeSrc":"10327:1:6","nodeType":"YulIdentifier","src":"10327:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10314:6:6","nodeType":"YulIdentifier","src":"10314:6:6"},"nativeSrc":"10314:15:6","nodeType":"YulFunctionCall","src":"10314:15:6"},"variableNames":[{"name":"a","nativeSrc":"10310:1:6","nodeType":"YulIdentifier","src":"10310:1:6"}]},{"nativeSrc":"10363:19:6","nodeType":"YulAssignment","src":"10363:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10374:1:6","nodeType":"YulIdentifier","src":"10374:1:6"},{"name":"a","nativeSrc":"10377:1:6","nodeType":"YulIdentifier","src":"10377:1:6"},{"name":"q","nativeSrc":"10380:1:6","nodeType":"YulIdentifier","src":"10380:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10367:6:6","nodeType":"YulIdentifier","src":"10367:6:6"},"nativeSrc":"10367:15:6","nodeType":"YulFunctionCall","src":"10367:15:6"},"variableNames":[{"name":"a","nativeSrc":"10363:1:6","nodeType":"YulIdentifier","src":"10363:1:6"}]},{"nativeSrc":"10416:19:6","nodeType":"YulAssignment","src":"10416:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10427:1:6","nodeType":"YulIdentifier","src":"10427:1:6"},{"name":"a","nativeSrc":"10430:1:6","nodeType":"YulIdentifier","src":"10430:1:6"},{"name":"q","nativeSrc":"10433:1:6","nodeType":"YulIdentifier","src":"10433:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10420:6:6","nodeType":"YulIdentifier","src":"10420:6:6"},"nativeSrc":"10420:15:6","nodeType":"YulFunctionCall","src":"10420:15:6"},"variableNames":[{"name":"a","nativeSrc":"10416:1:6","nodeType":"YulIdentifier","src":"10416:1:6"}]},{"nativeSrc":"10469:19:6","nodeType":"YulAssignment","src":"10469:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10480:1:6","nodeType":"YulIdentifier","src":"10480:1:6"},{"name":"a","nativeSrc":"10483:1:6","nodeType":"YulIdentifier","src":"10483:1:6"},{"name":"q","nativeSrc":"10486:1:6","nodeType":"YulIdentifier","src":"10486:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10473:6:6","nodeType":"YulIdentifier","src":"10473:6:6"},"nativeSrc":"10473:15:6","nodeType":"YulFunctionCall","src":"10473:15:6"},"variableNames":[{"name":"a","nativeSrc":"10469:1:6","nodeType":"YulIdentifier","src":"10469:1:6"}]},{"nativeSrc":"10522:19:6","nodeType":"YulAssignment","src":"10522:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10533:1:6","nodeType":"YulIdentifier","src":"10533:1:6"},{"name":"a","nativeSrc":"10536:1:6","nodeType":"YulIdentifier","src":"10536:1:6"},{"name":"q","nativeSrc":"10539:1:6","nodeType":"YulIdentifier","src":"10539:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10526:6:6","nodeType":"YulIdentifier","src":"10526:6:6"},"nativeSrc":"10526:15:6","nodeType":"YulFunctionCall","src":"10526:15:6"},"variableNames":[{"name":"a","nativeSrc":"10522:1:6","nodeType":"YulIdentifier","src":"10522:1:6"}]},{"nativeSrc":"10575:19:6","nodeType":"YulAssignment","src":"10575:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10586:1:6","nodeType":"YulIdentifier","src":"10586:1:6"},{"name":"a","nativeSrc":"10589:1:6","nodeType":"YulIdentifier","src":"10589:1:6"},{"name":"q","nativeSrc":"10592:1:6","nodeType":"YulIdentifier","src":"10592:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10579:6:6","nodeType":"YulIdentifier","src":"10579:6:6"},"nativeSrc":"10579:15:6","nodeType":"YulFunctionCall","src":"10579:15:6"},"variableNames":[{"name":"a","nativeSrc":"10575:1:6","nodeType":"YulIdentifier","src":"10575:1:6"}]},{"nativeSrc":"10628:19:6","nodeType":"YulAssignment","src":"10628:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10639:1:6","nodeType":"YulIdentifier","src":"10639:1:6"},{"name":"a","nativeSrc":"10642:1:6","nodeType":"YulIdentifier","src":"10642:1:6"},{"name":"q","nativeSrc":"10645:1:6","nodeType":"YulIdentifier","src":"10645:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10632:6:6","nodeType":"YulIdentifier","src":"10632:6:6"},"nativeSrc":"10632:15:6","nodeType":"YulFunctionCall","src":"10632:15:6"},"variableNames":[{"name":"a","nativeSrc":"10628:1:6","nodeType":"YulIdentifier","src":"10628:1:6"}]},{"nativeSrc":"10681:19:6","nodeType":"YulAssignment","src":"10681:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10692:1:6","nodeType":"YulIdentifier","src":"10692:1:6"},{"name":"a","nativeSrc":"10695:1:6","nodeType":"YulIdentifier","src":"10695:1:6"},{"name":"q","nativeSrc":"10698:1:6","nodeType":"YulIdentifier","src":"10698:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10685:6:6","nodeType":"YulIdentifier","src":"10685:6:6"},"nativeSrc":"10685:15:6","nodeType":"YulFunctionCall","src":"10685:15:6"},"variableNames":[{"name":"a","nativeSrc":"10681:1:6","nodeType":"YulIdentifier","src":"10681:1:6"}]},{"nativeSrc":"10734:19:6","nodeType":"YulAssignment","src":"10734:19:6","value":{"arguments":[{"name":"a","nativeSrc":"10745:1:6","nodeType":"YulIdentifier","src":"10745:1:6"},{"name":"a","nativeSrc":"10748:1:6","nodeType":"YulIdentifier","src":"10748:1:6"},{"name":"q","nativeSrc":"10751:1:6","nodeType":"YulIdentifier","src":"10751:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"10738:6:6","nodeType":"YulIdentifier","src":"10738:6:6"},"nativeSrc":"10738:15:6","nodeType":"YulFunctionCall","src":"10738:15:6"},"variableNames":[{"name":"a","nativeSrc":"10734:1:6","nodeType":"YulIdentifier","src":"10734:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10799:4:6","nodeType":"YulIdentifier","src":"10799:4:6"},{"name":"pXin","nativeSrc":"10805:4:6","nodeType":"YulIdentifier","src":"10805:4:6"}],"functionName":{"name":"add","nativeSrc":"10795:3:6","nodeType":"YulIdentifier","src":"10795:3:6"},"nativeSrc":"10795:15:6","nodeType":"YulFunctionCall","src":"10795:15:6"},{"name":"a","nativeSrc":"10812:1:6","nodeType":"YulIdentifier","src":"10812:1:6"}],"functionName":{"name":"mstore","nativeSrc":"10787:6:6","nodeType":"YulIdentifier","src":"10787:6:6"},"nativeSrc":"10787:27:6","nodeType":"YulFunctionCall","src":"10787:27:6"},"nativeSrc":"10787:27:6","nodeType":"YulExpressionStatement","src":"10787:27:6"},{"nativeSrc":"10831:28:6","nodeType":"YulAssignment","src":"10831:28:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"10847:1:6","nodeType":"YulIdentifier","src":"10847:1:6"},{"kind":"number","nativeSrc":"10850:1:6","nodeType":"YulLiteral","src":"10850:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"10843:3:6","nodeType":"YulIdentifier","src":"10843:3:6"},"nativeSrc":"10843:9:6","nodeType":"YulFunctionCall","src":"10843:9:6"},{"name":"q","nativeSrc":"10853:1:6","nodeType":"YulIdentifier","src":"10853:1:6"}],"functionName":{"name":"add","nativeSrc":"10839:3:6","nodeType":"YulIdentifier","src":"10839:3:6"},"nativeSrc":"10839:16:6","nodeType":"YulFunctionCall","src":"10839:16:6"},{"name":"q","nativeSrc":"10857:1:6","nodeType":"YulIdentifier","src":"10857:1:6"}],"functionName":{"name":"mod","nativeSrc":"10835:3:6","nodeType":"YulIdentifier","src":"10835:3:6"},"nativeSrc":"10835:24:6","nodeType":"YulFunctionCall","src":"10835:24:6"},"variableNames":[{"name":"a","nativeSrc":"10831:1:6","nodeType":"YulIdentifier","src":"10831:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10888:4:6","nodeType":"YulIdentifier","src":"10888:4:6"},{"name":"pZh","nativeSrc":"10894:3:6","nodeType":"YulIdentifier","src":"10894:3:6"}],"functionName":{"name":"add","nativeSrc":"10884:3:6","nodeType":"YulIdentifier","src":"10884:3:6"},"nativeSrc":"10884:14:6","nodeType":"YulFunctionCall","src":"10884:14:6"},{"name":"a","nativeSrc":"10900:1:6","nodeType":"YulIdentifier","src":"10900:1:6"}],"functionName":{"name":"mstore","nativeSrc":"10876:6:6","nodeType":"YulIdentifier","src":"10876:6:6"},"nativeSrc":"10876:26:6","nodeType":"YulFunctionCall","src":"10876:26:6"},"nativeSrc":"10876:26:6","nodeType":"YulExpressionStatement","src":"10876:26:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10931:4:6","nodeType":"YulIdentifier","src":"10931:4:6"},{"name":"pZhInv","nativeSrc":"10937:6:6","nodeType":"YulIdentifier","src":"10937:6:6"}],"functionName":{"name":"add","nativeSrc":"10927:3:6","nodeType":"YulIdentifier","src":"10927:3:6"},"nativeSrc":"10927:17:6","nodeType":"YulFunctionCall","src":"10927:17:6"},{"name":"a","nativeSrc":"10946:1:6","nodeType":"YulIdentifier","src":"10946:1:6"}],"functionName":{"name":"mstore","nativeSrc":"10919:6:6","nodeType":"YulIdentifier","src":"10919:6:6"},"nativeSrc":"10919:29:6","nodeType":"YulFunctionCall","src":"10919:29:6"},"nativeSrc":"10919:29:6","nodeType":"YulExpressionStatement","src":"10919:29:6"},{"nativeSrc":"11035:54:6","nodeType":"YulVariableDeclaration","src":"11035:54:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11063:6:6","nodeType":"YulIdentifier","src":"11063:6:6"},{"name":"pEval_a","nativeSrc":"11071:7:6","nodeType":"YulIdentifier","src":"11071:7:6"}],"functionName":{"name":"add","nativeSrc":"11059:3:6","nodeType":"YulIdentifier","src":"11059:3:6"},"nativeSrc":"11059:20:6","nodeType":"YulFunctionCall","src":"11059:20:6"},{"kind":"number","nativeSrc":"11081:3:6","nodeType":"YulLiteral","src":"11081:3:6","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"11049:9:6","nodeType":"YulIdentifier","src":"11049:9:6"},"nativeSrc":"11049:36:6","nodeType":"YulFunctionCall","src":"11049:36:6"},{"name":"q","nativeSrc":"11087:1:6","nodeType":"YulIdentifier","src":"11087:1:6"}],"functionName":{"name":"mod","nativeSrc":"11045:3:6","nodeType":"YulIdentifier","src":"11045:3:6"},"nativeSrc":"11045:44:6","nodeType":"YulFunctionCall","src":"11045:44:6"},"variables":[{"name":"v1","nativeSrc":"11039:2:6","nodeType":"YulTypedName","src":"11039:2:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11118:4:6","nodeType":"YulIdentifier","src":"11118:4:6"},{"name":"pV1","nativeSrc":"11124:3:6","nodeType":"YulIdentifier","src":"11124:3:6"}],"functionName":{"name":"add","nativeSrc":"11114:3:6","nodeType":"YulIdentifier","src":"11114:3:6"},"nativeSrc":"11114:14:6","nodeType":"YulFunctionCall","src":"11114:14:6"},{"name":"v1","nativeSrc":"11130:2:6","nodeType":"YulIdentifier","src":"11130:2:6"}],"functionName":{"name":"mstore","nativeSrc":"11106:6:6","nodeType":"YulIdentifier","src":"11106:6:6"},"nativeSrc":"11106:27:6","nodeType":"YulFunctionCall","src":"11106:27:6"},"nativeSrc":"11106:27:6","nodeType":"YulExpressionStatement","src":"11106:27:6"},{"nativeSrc":"11150:22:6","nodeType":"YulAssignment","src":"11150:22:6","value":{"arguments":[{"name":"v1","nativeSrc":"11162:2:6","nodeType":"YulIdentifier","src":"11162:2:6"},{"name":"v1","nativeSrc":"11166:2:6","nodeType":"YulIdentifier","src":"11166:2:6"},{"name":"q","nativeSrc":"11170:1:6","nodeType":"YulIdentifier","src":"11170:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"11155:6:6","nodeType":"YulIdentifier","src":"11155:6:6"},"nativeSrc":"11155:17:6","nodeType":"YulFunctionCall","src":"11155:17:6"},"variableNames":[{"name":"a","nativeSrc":"11150:1:6","nodeType":"YulIdentifier","src":"11150:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11201:4:6","nodeType":"YulIdentifier","src":"11201:4:6"},{"name":"pV2","nativeSrc":"11207:3:6","nodeType":"YulIdentifier","src":"11207:3:6"}],"functionName":{"name":"add","nativeSrc":"11197:3:6","nodeType":"YulIdentifier","src":"11197:3:6"},"nativeSrc":"11197:14:6","nodeType":"YulFunctionCall","src":"11197:14:6"},{"name":"a","nativeSrc":"11213:1:6","nodeType":"YulIdentifier","src":"11213:1:6"}],"functionName":{"name":"mstore","nativeSrc":"11189:6:6","nodeType":"YulIdentifier","src":"11189:6:6"},"nativeSrc":"11189:26:6","nodeType":"YulFunctionCall","src":"11189:26:6"},"nativeSrc":"11189:26:6","nodeType":"YulExpressionStatement","src":"11189:26:6"},{"nativeSrc":"11232:21:6","nodeType":"YulAssignment","src":"11232:21:6","value":{"arguments":[{"name":"a","nativeSrc":"11244:1:6","nodeType":"YulIdentifier","src":"11244:1:6"},{"name":"v1","nativeSrc":"11247:2:6","nodeType":"YulIdentifier","src":"11247:2:6"},{"name":"q","nativeSrc":"11251:1:6","nodeType":"YulIdentifier","src":"11251:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"11237:6:6","nodeType":"YulIdentifier","src":"11237:6:6"},"nativeSrc":"11237:16:6","nodeType":"YulFunctionCall","src":"11237:16:6"},"variableNames":[{"name":"a","nativeSrc":"11232:1:6","nodeType":"YulIdentifier","src":"11232:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11282:4:6","nodeType":"YulIdentifier","src":"11282:4:6"},{"name":"pV3","nativeSrc":"11288:3:6","nodeType":"YulIdentifier","src":"11288:3:6"}],"functionName":{"name":"add","nativeSrc":"11278:3:6","nodeType":"YulIdentifier","src":"11278:3:6"},"nativeSrc":"11278:14:6","nodeType":"YulFunctionCall","src":"11278:14:6"},{"name":"a","nativeSrc":"11294:1:6","nodeType":"YulIdentifier","src":"11294:1:6"}],"functionName":{"name":"mstore","nativeSrc":"11270:6:6","nodeType":"YulIdentifier","src":"11270:6:6"},"nativeSrc":"11270:26:6","nodeType":"YulFunctionCall","src":"11270:26:6"},"nativeSrc":"11270:26:6","nodeType":"YulExpressionStatement","src":"11270:26:6"},{"nativeSrc":"11313:21:6","nodeType":"YulAssignment","src":"11313:21:6","value":{"arguments":[{"name":"a","nativeSrc":"11325:1:6","nodeType":"YulIdentifier","src":"11325:1:6"},{"name":"v1","nativeSrc":"11328:2:6","nodeType":"YulIdentifier","src":"11328:2:6"},{"name":"q","nativeSrc":"11332:1:6","nodeType":"YulIdentifier","src":"11332:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"11318:6:6","nodeType":"YulIdentifier","src":"11318:6:6"},"nativeSrc":"11318:16:6","nodeType":"YulFunctionCall","src":"11318:16:6"},"variableNames":[{"name":"a","nativeSrc":"11313:1:6","nodeType":"YulIdentifier","src":"11313:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11363:4:6","nodeType":"YulIdentifier","src":"11363:4:6"},{"name":"pV4","nativeSrc":"11369:3:6","nodeType":"YulIdentifier","src":"11369:3:6"}],"functionName":{"name":"add","nativeSrc":"11359:3:6","nodeType":"YulIdentifier","src":"11359:3:6"},"nativeSrc":"11359:14:6","nodeType":"YulFunctionCall","src":"11359:14:6"},{"name":"a","nativeSrc":"11375:1:6","nodeType":"YulIdentifier","src":"11375:1:6"}],"functionName":{"name":"mstore","nativeSrc":"11351:6:6","nodeType":"YulIdentifier","src":"11351:6:6"},"nativeSrc":"11351:26:6","nodeType":"YulFunctionCall","src":"11351:26:6"},"nativeSrc":"11351:26:6","nodeType":"YulExpressionStatement","src":"11351:26:6"},{"nativeSrc":"11394:21:6","nodeType":"YulAssignment","src":"11394:21:6","value":{"arguments":[{"name":"a","nativeSrc":"11406:1:6","nodeType":"YulIdentifier","src":"11406:1:6"},{"name":"v1","nativeSrc":"11409:2:6","nodeType":"YulIdentifier","src":"11409:2:6"},{"name":"q","nativeSrc":"11413:1:6","nodeType":"YulIdentifier","src":"11413:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"11399:6:6","nodeType":"YulIdentifier","src":"11399:6:6"},"nativeSrc":"11399:16:6","nodeType":"YulFunctionCall","src":"11399:16:6"},"variableNames":[{"name":"a","nativeSrc":"11394:1:6","nodeType":"YulIdentifier","src":"11394:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11444:4:6","nodeType":"YulIdentifier","src":"11444:4:6"},{"name":"pV5","nativeSrc":"11450:3:6","nodeType":"YulIdentifier","src":"11450:3:6"}],"functionName":{"name":"add","nativeSrc":"11440:3:6","nodeType":"YulIdentifier","src":"11440:3:6"},"nativeSrc":"11440:14:6","nodeType":"YulFunctionCall","src":"11440:14:6"},{"name":"a","nativeSrc":"11456:1:6","nodeType":"YulIdentifier","src":"11456:1:6"}],"functionName":{"name":"mstore","nativeSrc":"11432:6:6","nodeType":"YulIdentifier","src":"11432:6:6"},"nativeSrc":"11432:26:6","nodeType":"YulFunctionCall","src":"11432:26:6"},"nativeSrc":"11432:26:6","nodeType":"YulExpressionStatement","src":"11432:26:6"},{"nativeSrc":"11475:21:6","nodeType":"YulAssignment","src":"11475:21:6","value":{"arguments":[{"name":"a","nativeSrc":"11487:1:6","nodeType":"YulIdentifier","src":"11487:1:6"},{"name":"v1","nativeSrc":"11490:2:6","nodeType":"YulIdentifier","src":"11490:2:6"},{"name":"q","nativeSrc":"11494:1:6","nodeType":"YulIdentifier","src":"11494:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"11480:6:6","nodeType":"YulIdentifier","src":"11480:6:6"},"nativeSrc":"11480:16:6","nodeType":"YulFunctionCall","src":"11480:16:6"},"variableNames":[{"name":"a","nativeSrc":"11475:1:6","nodeType":"YulIdentifier","src":"11475:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11525:4:6","nodeType":"YulIdentifier","src":"11525:4:6"},{"name":"pV6","nativeSrc":"11531:3:6","nodeType":"YulIdentifier","src":"11531:3:6"}],"functionName":{"name":"add","nativeSrc":"11521:3:6","nodeType":"YulIdentifier","src":"11521:3:6"},"nativeSrc":"11521:14:6","nodeType":"YulFunctionCall","src":"11521:14:6"},{"name":"a","nativeSrc":"11537:1:6","nodeType":"YulIdentifier","src":"11537:1:6"}],"functionName":{"name":"mstore","nativeSrc":"11513:6:6","nodeType":"YulIdentifier","src":"11513:6:6"},"nativeSrc":"11513:26:6","nodeType":"YulFunctionCall","src":"11513:26:6"},"nativeSrc":"11513:26:6","nodeType":"YulExpressionStatement","src":"11513:26:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11585:4:6","nodeType":"YulIdentifier","src":"11585:4:6"},{"name":"pU","nativeSrc":"11591:2:6","nodeType":"YulIdentifier","src":"11591:2:6"}],"functionName":{"name":"add","nativeSrc":"11581:3:6","nodeType":"YulIdentifier","src":"11581:3:6"},"nativeSrc":"11581:13:6","nodeType":"YulFunctionCall","src":"11581:13:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11614:6:6","nodeType":"YulIdentifier","src":"11614:6:6"},{"name":"pWxi","nativeSrc":"11622:4:6","nodeType":"YulIdentifier","src":"11622:4:6"}],"functionName":{"name":"add","nativeSrc":"11610:3:6","nodeType":"YulIdentifier","src":"11610:3:6"},"nativeSrc":"11610:17:6","nodeType":"YulFunctionCall","src":"11610:17:6"},{"kind":"number","nativeSrc":"11629:3:6","nodeType":"YulLiteral","src":"11629:3:6","type":"","value":"128"}],"functionName":{"name":"keccak256","nativeSrc":"11600:9:6","nodeType":"YulIdentifier","src":"11600:9:6"},"nativeSrc":"11600:33:6","nodeType":"YulFunctionCall","src":"11600:33:6"},{"name":"q","nativeSrc":"11635:1:6","nodeType":"YulIdentifier","src":"11635:1:6"}],"functionName":{"name":"mod","nativeSrc":"11596:3:6","nodeType":"YulIdentifier","src":"11596:3:6"},"nativeSrc":"11596:41:6","nodeType":"YulFunctionCall","src":"11596:41:6"}],"functionName":{"name":"mstore","nativeSrc":"11573:6:6","nodeType":"YulIdentifier","src":"11573:6:6"},"nativeSrc":"11573:65:6","nodeType":"YulFunctionCall","src":"11573:65:6"},"nativeSrc":"11573:65:6","nodeType":"YulExpressionStatement","src":"11573:65:6"}]},"name":"calculateChallanges","nativeSrc":"8824:2828:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8853:6:6","nodeType":"YulTypedName","src":"8853:6:6","type":""},{"name":"pMem","nativeSrc":"8861:4:6","nodeType":"YulTypedName","src":"8861:4:6","type":""},{"name":"pPublic","nativeSrc":"8867:7:6","nodeType":"YulTypedName","src":"8867:7:6","type":""}],"src":"8824:2828:6"},{"body":{"nativeSrc":"11711:1140:6","nodeType":"YulBlock","src":"11711:1140:6","statements":[{"nativeSrc":"11730:10:6","nodeType":"YulVariableDeclaration","src":"11730:10:6","value":{"kind":"number","nativeSrc":"11739:1:6","nodeType":"YulLiteral","src":"11739:1:6","type":"","value":"1"},"variables":[{"name":"w","nativeSrc":"11734:1:6","nodeType":"YulTypedName","src":"11734:1:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11822:4:6","nodeType":"YulIdentifier","src":"11822:4:6"},{"name":"pEval_l1","nativeSrc":"11828:8:6","nodeType":"YulIdentifier","src":"11828:8:6"}],"functionName":{"name":"add","nativeSrc":"11818:3:6","nodeType":"YulIdentifier","src":"11818:3:6"},"nativeSrc":"11818:19:6","nodeType":"YulFunctionCall","src":"11818:19:6"},{"arguments":[{"name":"n","nativeSrc":"11892:1:6","nodeType":"YulIdentifier","src":"11892:1:6"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12041:4:6","nodeType":"YulIdentifier","src":"12041:4:6"},{"name":"pXi","nativeSrc":"12047:3:6","nodeType":"YulIdentifier","src":"12047:3:6"}],"functionName":{"name":"add","nativeSrc":"12037:3:6","nodeType":"YulIdentifier","src":"12037:3:6"},"nativeSrc":"12037:14:6","nodeType":"YulFunctionCall","src":"12037:14:6"}],"functionName":{"name":"mload","nativeSrc":"12031:5:6","nodeType":"YulIdentifier","src":"12031:5:6"},"nativeSrc":"12031:21:6","nodeType":"YulFunctionCall","src":"12031:21:6"},{"name":"w","nativeSrc":"12091:1:6","nodeType":"YulIdentifier","src":"12091:1:6"}],"functionName":{"name":"sub","nativeSrc":"11990:3:6","nodeType":"YulIdentifier","src":"11990:3:6"},"nativeSrc":"11990:136:6","nodeType":"YulFunctionCall","src":"11990:136:6"},{"name":"q","nativeSrc":"12161:1:6","nodeType":"YulIdentifier","src":"12161:1:6"}],"functionName":{"name":"add","nativeSrc":"11953:3:6","nodeType":"YulIdentifier","src":"11953:3:6"},"nativeSrc":"11953:239:6","nodeType":"YulFunctionCall","src":"11953:239:6"},{"name":"q","nativeSrc":"12222:1:6","nodeType":"YulIdentifier","src":"12222:1:6"}],"functionName":{"name":"mod","nativeSrc":"11920:3:6","nodeType":"YulIdentifier","src":"11920:3:6"},"nativeSrc":"11920:329:6","nodeType":"YulFunctionCall","src":"11920:329:6"},{"name":"q","nativeSrc":"12276:1:6","nodeType":"YulIdentifier","src":"12276:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"11860:6:6","nodeType":"YulIdentifier","src":"11860:6:6"},"nativeSrc":"11860:439:6","nodeType":"YulFunctionCall","src":"11860:439:6"}],"functionName":{"name":"mstore","nativeSrc":"11790:6:6","nodeType":"YulIdentifier","src":"11790:6:6"},"nativeSrc":"11790:527:6","nodeType":"YulFunctionCall","src":"11790:527:6"},"nativeSrc":"11790:527:6","nodeType":"YulExpressionStatement","src":"11790:527:6"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12402:4:6","nodeType":"YulIdentifier","src":"12402:4:6"},{"name":"pZhInv","nativeSrc":"12408:6:6","nodeType":"YulIdentifier","src":"12408:6:6"}],"functionName":{"name":"add","nativeSrc":"12398:3:6","nodeType":"YulIdentifier","src":"12398:3:6"},"nativeSrc":"12398:17:6","nodeType":"YulFunctionCall","src":"12398:17:6"},{"kind":"number","nativeSrc":"12417:1:6","nodeType":"YulLiteral","src":"12417:1:6","type":"","value":"2"}],"functionName":{"name":"inverseArray","nativeSrc":"12385:12:6","nodeType":"YulIdentifier","src":"12385:12:6"},"nativeSrc":"12385:35:6","nodeType":"YulFunctionCall","src":"12385:35:6"},"nativeSrc":"12385:35:6","nodeType":"YulExpressionStatement","src":"12385:35:6"},{"nativeSrc":"12454:31:6","nodeType":"YulVariableDeclaration","src":"12454:31:6","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12474:4:6","nodeType":"YulIdentifier","src":"12474:4:6"},{"name":"pZh","nativeSrc":"12480:3:6","nodeType":"YulIdentifier","src":"12480:3:6"}],"functionName":{"name":"add","nativeSrc":"12470:3:6","nodeType":"YulIdentifier","src":"12470:3:6"},"nativeSrc":"12470:14:6","nodeType":"YulFunctionCall","src":"12470:14:6"}],"functionName":{"name":"mload","nativeSrc":"12464:5:6","nodeType":"YulIdentifier","src":"12464:5:6"},"nativeSrc":"12464:21:6","nodeType":"YulFunctionCall","src":"12464:21:6"},"variables":[{"name":"zh","nativeSrc":"12458:2:6","nodeType":"YulTypedName","src":"12458:2:6","type":""}]},{"nativeSrc":"12502:6:6","nodeType":"YulAssignment","src":"12502:6:6","value":{"kind":"number","nativeSrc":"12507:1:6","nodeType":"YulLiteral","src":"12507:1:6","type":"","value":"1"},"variableNames":[{"name":"w","nativeSrc":"12502:1:6","nodeType":"YulIdentifier","src":"12502:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12591:4:6","nodeType":"YulIdentifier","src":"12591:4:6"},{"name":"pEval_l1","nativeSrc":"12597:8:6","nodeType":"YulIdentifier","src":"12597:8:6"}],"functionName":{"name":"add","nativeSrc":"12587:3:6","nodeType":"YulIdentifier","src":"12587:3:6"},"nativeSrc":"12587:20:6","nodeType":"YulFunctionCall","src":"12587:20:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12672:4:6","nodeType":"YulIdentifier","src":"12672:4:6"},{"name":"pEval_l1","nativeSrc":"12678:8:6","nodeType":"YulIdentifier","src":"12678:8:6"}],"functionName":{"name":"add","nativeSrc":"12668:3:6","nodeType":"YulIdentifier","src":"12668:3:6"},"nativeSrc":"12668:20:6","nodeType":"YulFunctionCall","src":"12668:20:6"}],"functionName":{"name":"mload","nativeSrc":"12662:5:6","nodeType":"YulIdentifier","src":"12662:5:6"},"nativeSrc":"12662:27:6","nodeType":"YulFunctionCall","src":"12662:27:6"},{"name":"zh","nativeSrc":"12715:2:6","nodeType":"YulIdentifier","src":"12715:2:6"},{"name":"q","nativeSrc":"12743:1:6","nodeType":"YulIdentifier","src":"12743:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"12630:6:6","nodeType":"YulIdentifier","src":"12630:6:6"},"nativeSrc":"12630:136:6","nodeType":"YulFunctionCall","src":"12630:136:6"}],"functionName":{"name":"mstore","nativeSrc":"12559:6:6","nodeType":"YulIdentifier","src":"12559:6:6"},"nativeSrc":"12559:225:6","nodeType":"YulFunctionCall","src":"12559:225:6"},"nativeSrc":"12559:225:6","nodeType":"YulExpressionStatement","src":"12559:225:6"}]},"name":"calculateLagrange","nativeSrc":"11678:1173:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"11705:4:6","nodeType":"YulTypedName","src":"11705:4:6","type":""}],"src":"11678:1173:6"},{"body":{"nativeSrc":"12910:618:6","nodeType":"YulBlock","src":"12910:618:6","statements":[{"nativeSrc":"12928:11:6","nodeType":"YulVariableDeclaration","src":"12928:11:6","value":{"kind":"number","nativeSrc":"12938:1:6","nodeType":"YulLiteral","src":"12938:1:6","type":"","value":"0"},"variables":[{"name":"pl","nativeSrc":"12932:2:6","nodeType":"YulTypedName","src":"12932:2:6","type":""}]},{"nativeSrc":"12991:428:6","nodeType":"YulAssignment","src":"12991:428:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pl","nativeSrc":"13084:2:6","nodeType":"YulIdentifier","src":"13084:2:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13168:4:6","nodeType":"YulIdentifier","src":"13168:4:6"},{"name":"pEval_l1","nativeSrc":"13174:8:6","nodeType":"YulIdentifier","src":"13174:8:6"}],"functionName":{"name":"add","nativeSrc":"13164:3:6","nodeType":"YulIdentifier","src":"13164:3:6"},"nativeSrc":"13164:19:6","nodeType":"YulFunctionCall","src":"13164:19:6"}],"functionName":{"name":"mload","nativeSrc":"13158:5:6","nodeType":"YulIdentifier","src":"13158:5:6"},"nativeSrc":"13158:26:6","nodeType":"YulFunctionCall","src":"13158:26:6"},{"arguments":[{"arguments":[{"name":"pPub","nativeSrc":"13228:4:6","nodeType":"YulIdentifier","src":"13228:4:6"},{"kind":"number","nativeSrc":"13234:2:6","nodeType":"YulLiteral","src":"13234:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13224:3:6","nodeType":"YulIdentifier","src":"13224:3:6"},"nativeSrc":"13224:13:6","nodeType":"YulFunctionCall","src":"13224:13:6"}],"functionName":{"name":"mload","nativeSrc":"13218:5:6","nodeType":"YulIdentifier","src":"13218:5:6"},"nativeSrc":"13218:20:6","nodeType":"YulFunctionCall","src":"13218:20:6"},{"name":"q","nativeSrc":"13272:1:6","nodeType":"YulIdentifier","src":"13272:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"13118:6:6","nodeType":"YulIdentifier","src":"13118:6:6"},"nativeSrc":"13118:185:6","nodeType":"YulFunctionCall","src":"13118:185:6"}],"functionName":{"name":"sub","nativeSrc":"13051:3:6","nodeType":"YulIdentifier","src":"13051:3:6"},"nativeSrc":"13051:278:6","nodeType":"YulFunctionCall","src":"13051:278:6"},{"name":"q","nativeSrc":"13355:1:6","nodeType":"YulIdentifier","src":"13355:1:6"}],"functionName":{"name":"add","nativeSrc":"13022:3:6","nodeType":"YulIdentifier","src":"13022:3:6"},"nativeSrc":"13022:356:6","nodeType":"YulFunctionCall","src":"13022:356:6"},{"name":"q","nativeSrc":"13400:1:6","nodeType":"YulIdentifier","src":"13400:1:6"}],"functionName":{"name":"mod","nativeSrc":"12997:3:6","nodeType":"YulIdentifier","src":"12997:3:6"},"nativeSrc":"12997:422:6","nodeType":"YulFunctionCall","src":"12997:422:6"},"variableNames":[{"name":"pl","nativeSrc":"12991:2:6","nodeType":"YulIdentifier","src":"12991:2:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13481:4:6","nodeType":"YulIdentifier","src":"13481:4:6"},{"name":"pPl","nativeSrc":"13487:3:6","nodeType":"YulIdentifier","src":"13487:3:6"}],"functionName":{"name":"add","nativeSrc":"13477:3:6","nodeType":"YulIdentifier","src":"13477:3:6"},"nativeSrc":"13477:14:6","nodeType":"YulFunctionCall","src":"13477:14:6"},{"name":"pl","nativeSrc":"13493:2:6","nodeType":"YulIdentifier","src":"13493:2:6"}],"functionName":{"name":"mstore","nativeSrc":"13470:6:6","nodeType":"YulIdentifier","src":"13470:6:6"},"nativeSrc":"13470:26:6","nodeType":"YulFunctionCall","src":"13470:26:6"},"nativeSrc":"13470:26:6","nodeType":"YulExpressionStatement","src":"13470:26:6"}]},"name":"calculatePl","nativeSrc":"12877:651:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"12898:4:6","nodeType":"YulTypedName","src":"12898:4:6","type":""},{"name":"pPub","nativeSrc":"12904:4:6","nodeType":"YulTypedName","src":"12904:4:6","type":""}],"src":"12877:651:6"},{"body":{"nativeSrc":"13576:2162:6","nodeType":"YulBlock","src":"13576:2162:6","statements":[{"nativeSrc":"13594:5:6","nodeType":"YulVariableDeclaration","src":"13594:5:6","variables":[{"name":"t","nativeSrc":"13598:1:6","nodeType":"YulTypedName","src":"13598:1:6","type":""}]},{"nativeSrc":"13616:6:6","nodeType":"YulVariableDeclaration","src":"13616:6:6","variables":[{"name":"t1","nativeSrc":"13620:2:6","nodeType":"YulTypedName","src":"13620:2:6","type":""}]},{"nativeSrc":"13639:6:6","nodeType":"YulVariableDeclaration","src":"13639:6:6","variables":[{"name":"t2","nativeSrc":"13643:2:6","nodeType":"YulTypedName","src":"13643:2:6","type":""}]},{"nativeSrc":"13662:146:6","nodeType":"YulAssignment","src":"13662:146:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13705:6:6","nodeType":"YulIdentifier","src":"13705:6:6"},{"name":"pEval_r","nativeSrc":"13713:7:6","nodeType":"YulIdentifier","src":"13713:7:6"}],"functionName":{"name":"add","nativeSrc":"13701:3:6","nodeType":"YulIdentifier","src":"13701:3:6"},"nativeSrc":"13701:20:6","nodeType":"YulFunctionCall","src":"13701:20:6"}],"functionName":{"name":"mload","nativeSrc":"13695:5:6","nodeType":"YulIdentifier","src":"13695:5:6"},"nativeSrc":"13695:27:6","nodeType":"YulFunctionCall","src":"13695:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13755:4:6","nodeType":"YulIdentifier","src":"13755:4:6"},{"name":"pPl","nativeSrc":"13761:3:6","nodeType":"YulIdentifier","src":"13761:3:6"}],"functionName":{"name":"add","nativeSrc":"13751:3:6","nodeType":"YulIdentifier","src":"13751:3:6"},"nativeSrc":"13751:14:6","nodeType":"YulFunctionCall","src":"13751:14:6"}],"functionName":{"name":"mload","nativeSrc":"13745:5:6","nodeType":"YulIdentifier","src":"13745:5:6"},"nativeSrc":"13745:21:6","nodeType":"YulFunctionCall","src":"13745:21:6"},{"name":"q","nativeSrc":"13789:1:6","nodeType":"YulIdentifier","src":"13789:1:6"}],"functionName":{"name":"addmod","nativeSrc":"13667:6:6","nodeType":"YulIdentifier","src":"13667:6:6"},"nativeSrc":"13667:141:6","nodeType":"YulFunctionCall","src":"13667:141:6"},"variableNames":[{"name":"t","nativeSrc":"13662:1:6","nodeType":"YulIdentifier","src":"13662:1:6"}]},{"nativeSrc":"13842:148:6","nodeType":"YulAssignment","src":"13842:148:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13886:6:6","nodeType":"YulIdentifier","src":"13886:6:6"},{"name":"pEval_s1","nativeSrc":"13894:8:6","nodeType":"YulIdentifier","src":"13894:8:6"}],"functionName":{"name":"add","nativeSrc":"13882:3:6","nodeType":"YulIdentifier","src":"13882:3:6"},"nativeSrc":"13882:21:6","nodeType":"YulFunctionCall","src":"13882:21:6"}],"functionName":{"name":"mload","nativeSrc":"13876:5:6","nodeType":"YulIdentifier","src":"13876:5:6"},"nativeSrc":"13876:28:6","nodeType":"YulFunctionCall","src":"13876:28:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13936:4:6","nodeType":"YulIdentifier","src":"13936:4:6"},{"name":"pBeta","nativeSrc":"13942:5:6","nodeType":"YulIdentifier","src":"13942:5:6"}],"functionName":{"name":"add","nativeSrc":"13932:3:6","nodeType":"YulIdentifier","src":"13932:3:6"},"nativeSrc":"13932:16:6","nodeType":"YulFunctionCall","src":"13932:16:6"}],"functionName":{"name":"mload","nativeSrc":"13926:5:6","nodeType":"YulIdentifier","src":"13926:5:6"},"nativeSrc":"13926:23:6","nodeType":"YulFunctionCall","src":"13926:23:6"},{"name":"q","nativeSrc":"13971:1:6","nodeType":"YulIdentifier","src":"13971:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"13848:6:6","nodeType":"YulIdentifier","src":"13848:6:6"},"nativeSrc":"13848:142:6","nodeType":"YulFunctionCall","src":"13848:142:6"},"variableNames":[{"name":"t1","nativeSrc":"13842:2:6","nodeType":"YulIdentifier","src":"13842:2:6"}]},{"nativeSrc":"14008:126:6","nodeType":"YulAssignment","src":"14008:126:6","value":{"arguments":[{"name":"t1","nativeSrc":"14042:2:6","nodeType":"YulIdentifier","src":"14042:2:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14076:6:6","nodeType":"YulIdentifier","src":"14076:6:6"},{"name":"pEval_a","nativeSrc":"14084:7:6","nodeType":"YulIdentifier","src":"14084:7:6"}],"functionName":{"name":"add","nativeSrc":"14072:3:6","nodeType":"YulIdentifier","src":"14072:3:6"},"nativeSrc":"14072:20:6","nodeType":"YulFunctionCall","src":"14072:20:6"}],"functionName":{"name":"mload","nativeSrc":"14066:5:6","nodeType":"YulIdentifier","src":"14066:5:6"},"nativeSrc":"14066:27:6","nodeType":"YulFunctionCall","src":"14066:27:6"},{"name":"q","nativeSrc":"14115:1:6","nodeType":"YulIdentifier","src":"14115:1:6"}],"functionName":{"name":"addmod","nativeSrc":"14014:6:6","nodeType":"YulIdentifier","src":"14014:6:6"},"nativeSrc":"14014:120:6","nodeType":"YulFunctionCall","src":"14014:120:6"},"variableNames":[{"name":"t1","nativeSrc":"14008:2:6","nodeType":"YulIdentifier","src":"14008:2:6"}]},{"nativeSrc":"14168:123:6","nodeType":"YulAssignment","src":"14168:123:6","value":{"arguments":[{"name":"t1","nativeSrc":"14202:2:6","nodeType":"YulIdentifier","src":"14202:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14236:4:6","nodeType":"YulIdentifier","src":"14236:4:6"},{"name":"pGamma","nativeSrc":"14242:6:6","nodeType":"YulIdentifier","src":"14242:6:6"}],"functionName":{"name":"add","nativeSrc":"14232:3:6","nodeType":"YulIdentifier","src":"14232:3:6"},"nativeSrc":"14232:17:6","nodeType":"YulFunctionCall","src":"14232:17:6"}],"functionName":{"name":"mload","nativeSrc":"14226:5:6","nodeType":"YulIdentifier","src":"14226:5:6"},"nativeSrc":"14226:24:6","nodeType":"YulFunctionCall","src":"14226:24:6"},{"name":"q","nativeSrc":"14272:1:6","nodeType":"YulIdentifier","src":"14272:1:6"}],"functionName":{"name":"addmod","nativeSrc":"14174:6:6","nodeType":"YulIdentifier","src":"14174:6:6"},"nativeSrc":"14174:117:6","nodeType":"YulFunctionCall","src":"14174:117:6"},"variableNames":[{"name":"t1","nativeSrc":"14168:2:6","nodeType":"YulIdentifier","src":"14168:2:6"}]},{"nativeSrc":"14309:148:6","nodeType":"YulAssignment","src":"14309:148:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14353:6:6","nodeType":"YulIdentifier","src":"14353:6:6"},{"name":"pEval_s2","nativeSrc":"14361:8:6","nodeType":"YulIdentifier","src":"14361:8:6"}],"functionName":{"name":"add","nativeSrc":"14349:3:6","nodeType":"YulIdentifier","src":"14349:3:6"},"nativeSrc":"14349:21:6","nodeType":"YulFunctionCall","src":"14349:21:6"}],"functionName":{"name":"mload","nativeSrc":"14343:5:6","nodeType":"YulIdentifier","src":"14343:5:6"},"nativeSrc":"14343:28:6","nodeType":"YulFunctionCall","src":"14343:28:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14403:4:6","nodeType":"YulIdentifier","src":"14403:4:6"},{"name":"pBeta","nativeSrc":"14409:5:6","nodeType":"YulIdentifier","src":"14409:5:6"}],"functionName":{"name":"add","nativeSrc":"14399:3:6","nodeType":"YulIdentifier","src":"14399:3:6"},"nativeSrc":"14399:16:6","nodeType":"YulFunctionCall","src":"14399:16:6"}],"functionName":{"name":"mload","nativeSrc":"14393:5:6","nodeType":"YulIdentifier","src":"14393:5:6"},"nativeSrc":"14393:23:6","nodeType":"YulFunctionCall","src":"14393:23:6"},{"name":"q","nativeSrc":"14438:1:6","nodeType":"YulIdentifier","src":"14438:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"14315:6:6","nodeType":"YulIdentifier","src":"14315:6:6"},"nativeSrc":"14315:142:6","nodeType":"YulFunctionCall","src":"14315:142:6"},"variableNames":[{"name":"t2","nativeSrc":"14309:2:6","nodeType":"YulIdentifier","src":"14309:2:6"}]},{"nativeSrc":"14475:126:6","nodeType":"YulAssignment","src":"14475:126:6","value":{"arguments":[{"name":"t2","nativeSrc":"14509:2:6","nodeType":"YulIdentifier","src":"14509:2:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14543:6:6","nodeType":"YulIdentifier","src":"14543:6:6"},{"name":"pEval_b","nativeSrc":"14551:7:6","nodeType":"YulIdentifier","src":"14551:7:6"}],"functionName":{"name":"add","nativeSrc":"14539:3:6","nodeType":"YulIdentifier","src":"14539:3:6"},"nativeSrc":"14539:20:6","nodeType":"YulFunctionCall","src":"14539:20:6"}],"functionName":{"name":"mload","nativeSrc":"14533:5:6","nodeType":"YulIdentifier","src":"14533:5:6"},"nativeSrc":"14533:27:6","nodeType":"YulFunctionCall","src":"14533:27:6"},{"name":"q","nativeSrc":"14582:1:6","nodeType":"YulIdentifier","src":"14582:1:6"}],"functionName":{"name":"addmod","nativeSrc":"14481:6:6","nodeType":"YulIdentifier","src":"14481:6:6"},"nativeSrc":"14481:120:6","nodeType":"YulFunctionCall","src":"14481:120:6"},"variableNames":[{"name":"t2","nativeSrc":"14475:2:6","nodeType":"YulIdentifier","src":"14475:2:6"}]},{"nativeSrc":"14635:123:6","nodeType":"YulAssignment","src":"14635:123:6","value":{"arguments":[{"name":"t2","nativeSrc":"14669:2:6","nodeType":"YulIdentifier","src":"14669:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14703:4:6","nodeType":"YulIdentifier","src":"14703:4:6"},{"name":"pGamma","nativeSrc":"14709:6:6","nodeType":"YulIdentifier","src":"14709:6:6"}],"functionName":{"name":"add","nativeSrc":"14699:3:6","nodeType":"YulIdentifier","src":"14699:3:6"},"nativeSrc":"14699:17:6","nodeType":"YulFunctionCall","src":"14699:17:6"}],"functionName":{"name":"mload","nativeSrc":"14693:5:6","nodeType":"YulIdentifier","src":"14693:5:6"},"nativeSrc":"14693:24:6","nodeType":"YulFunctionCall","src":"14693:24:6"},{"name":"q","nativeSrc":"14739:1:6","nodeType":"YulIdentifier","src":"14739:1:6"}],"functionName":{"name":"addmod","nativeSrc":"14641:6:6","nodeType":"YulIdentifier","src":"14641:6:6"},"nativeSrc":"14641:117:6","nodeType":"YulFunctionCall","src":"14641:117:6"},"variableNames":[{"name":"t2","nativeSrc":"14635:2:6","nodeType":"YulIdentifier","src":"14635:2:6"}]},{"nativeSrc":"14792:23:6","nodeType":"YulAssignment","src":"14792:23:6","value":{"arguments":[{"name":"t1","nativeSrc":"14805:2:6","nodeType":"YulIdentifier","src":"14805:2:6"},{"name":"t2","nativeSrc":"14809:2:6","nodeType":"YulIdentifier","src":"14809:2:6"},{"name":"q","nativeSrc":"14813:1:6","nodeType":"YulIdentifier","src":"14813:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"14798:6:6","nodeType":"YulIdentifier","src":"14798:6:6"},"nativeSrc":"14798:17:6","nodeType":"YulFunctionCall","src":"14798:17:6"},"variableNames":[{"name":"t1","nativeSrc":"14792:2:6","nodeType":"YulIdentifier","src":"14792:2:6"}]},{"nativeSrc":"14849:148:6","nodeType":"YulAssignment","src":"14849:148:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14893:6:6","nodeType":"YulIdentifier","src":"14893:6:6"},{"name":"pEval_c","nativeSrc":"14901:7:6","nodeType":"YulIdentifier","src":"14901:7:6"}],"functionName":{"name":"add","nativeSrc":"14889:3:6","nodeType":"YulIdentifier","src":"14889:3:6"},"nativeSrc":"14889:20:6","nodeType":"YulFunctionCall","src":"14889:20:6"}],"functionName":{"name":"mload","nativeSrc":"14883:5:6","nodeType":"YulIdentifier","src":"14883:5:6"},"nativeSrc":"14883:27:6","nodeType":"YulFunctionCall","src":"14883:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14942:4:6","nodeType":"YulIdentifier","src":"14942:4:6"},{"name":"pGamma","nativeSrc":"14948:6:6","nodeType":"YulIdentifier","src":"14948:6:6"}],"functionName":{"name":"add","nativeSrc":"14938:3:6","nodeType":"YulIdentifier","src":"14938:3:6"},"nativeSrc":"14938:17:6","nodeType":"YulFunctionCall","src":"14938:17:6"}],"functionName":{"name":"mload","nativeSrc":"14932:5:6","nodeType":"YulIdentifier","src":"14932:5:6"},"nativeSrc":"14932:24:6","nodeType":"YulFunctionCall","src":"14932:24:6"},{"name":"q","nativeSrc":"14978:1:6","nodeType":"YulIdentifier","src":"14978:1:6"}],"functionName":{"name":"addmod","nativeSrc":"14855:6:6","nodeType":"YulIdentifier","src":"14855:6:6"},"nativeSrc":"14855:142:6","nodeType":"YulFunctionCall","src":"14855:142:6"},"variableNames":[{"name":"t2","nativeSrc":"14849:2:6","nodeType":"YulIdentifier","src":"14849:2:6"}]},{"nativeSrc":"15015:23:6","nodeType":"YulAssignment","src":"15015:23:6","value":{"arguments":[{"name":"t1","nativeSrc":"15028:2:6","nodeType":"YulIdentifier","src":"15028:2:6"},{"name":"t2","nativeSrc":"15032:2:6","nodeType":"YulIdentifier","src":"15032:2:6"},{"name":"q","nativeSrc":"15036:1:6","nodeType":"YulIdentifier","src":"15036:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"15021:6:6","nodeType":"YulIdentifier","src":"15021:6:6"},"nativeSrc":"15021:17:6","nodeType":"YulFunctionCall","src":"15021:17:6"},"variableNames":[{"name":"t1","nativeSrc":"15015:2:6","nodeType":"YulIdentifier","src":"15015:2:6"}]},{"nativeSrc":"15055:49:6","nodeType":"YulAssignment","src":"15055:49:6","value":{"arguments":[{"name":"t1","nativeSrc":"15068:2:6","nodeType":"YulIdentifier","src":"15068:2:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"15082:6:6","nodeType":"YulIdentifier","src":"15082:6:6"},{"name":"pEval_zw","nativeSrc":"15090:8:6","nodeType":"YulIdentifier","src":"15090:8:6"}],"functionName":{"name":"add","nativeSrc":"15078:3:6","nodeType":"YulIdentifier","src":"15078:3:6"},"nativeSrc":"15078:21:6","nodeType":"YulFunctionCall","src":"15078:21:6"}],"functionName":{"name":"mload","nativeSrc":"15072:5:6","nodeType":"YulIdentifier","src":"15072:5:6"},"nativeSrc":"15072:28:6","nodeType":"YulFunctionCall","src":"15072:28:6"},{"name":"q","nativeSrc":"15102:1:6","nodeType":"YulIdentifier","src":"15102:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"15061:6:6","nodeType":"YulIdentifier","src":"15061:6:6"},"nativeSrc":"15061:43:6","nodeType":"YulFunctionCall","src":"15061:43:6"},"variableNames":[{"name":"t1","nativeSrc":"15055:2:6","nodeType":"YulIdentifier","src":"15055:2:6"}]},{"nativeSrc":"15121:45:6","nodeType":"YulAssignment","src":"15121:45:6","value":{"arguments":[{"name":"t1","nativeSrc":"15134:2:6","nodeType":"YulIdentifier","src":"15134:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15148:4:6","nodeType":"YulIdentifier","src":"15148:4:6"},{"name":"pAlpha","nativeSrc":"15154:6:6","nodeType":"YulIdentifier","src":"15154:6:6"}],"functionName":{"name":"add","nativeSrc":"15144:3:6","nodeType":"YulIdentifier","src":"15144:3:6"},"nativeSrc":"15144:17:6","nodeType":"YulFunctionCall","src":"15144:17:6"}],"functionName":{"name":"mload","nativeSrc":"15138:5:6","nodeType":"YulIdentifier","src":"15138:5:6"},"nativeSrc":"15138:24:6","nodeType":"YulFunctionCall","src":"15138:24:6"},{"name":"q","nativeSrc":"15164:1:6","nodeType":"YulIdentifier","src":"15164:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"15127:6:6","nodeType":"YulIdentifier","src":"15127:6:6"},"nativeSrc":"15127:39:6","nodeType":"YulFunctionCall","src":"15127:39:6"},"variableNames":[{"name":"t1","nativeSrc":"15121:2:6","nodeType":"YulIdentifier","src":"15121:2:6"}]},{"nativeSrc":"15200:149:6","nodeType":"YulAssignment","src":"15200:149:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15244:4:6","nodeType":"YulIdentifier","src":"15244:4:6"},{"name":"pEval_l1","nativeSrc":"15250:8:6","nodeType":"YulIdentifier","src":"15250:8:6"}],"functionName":{"name":"add","nativeSrc":"15240:3:6","nodeType":"YulIdentifier","src":"15240:3:6"},"nativeSrc":"15240:19:6","nodeType":"YulFunctionCall","src":"15240:19:6"}],"functionName":{"name":"mload","nativeSrc":"15234:5:6","nodeType":"YulIdentifier","src":"15234:5:6"},"nativeSrc":"15234:26:6","nodeType":"YulFunctionCall","src":"15234:26:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15293:4:6","nodeType":"YulIdentifier","src":"15293:4:6"},{"name":"pAlpha","nativeSrc":"15299:6:6","nodeType":"YulIdentifier","src":"15299:6:6"}],"functionName":{"name":"add","nativeSrc":"15289:3:6","nodeType":"YulIdentifier","src":"15289:3:6"},"nativeSrc":"15289:17:6","nodeType":"YulFunctionCall","src":"15289:17:6"}],"functionName":{"name":"mload","nativeSrc":"15283:5:6","nodeType":"YulIdentifier","src":"15283:5:6"},"nativeSrc":"15283:24:6","nodeType":"YulFunctionCall","src":"15283:24:6"},{"name":"q","nativeSrc":"15330:1:6","nodeType":"YulIdentifier","src":"15330:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"15206:6:6","nodeType":"YulIdentifier","src":"15206:6:6"},"nativeSrc":"15206:143:6","nodeType":"YulFunctionCall","src":"15206:143:6"},"variableNames":[{"name":"t2","nativeSrc":"15200:2:6","nodeType":"YulIdentifier","src":"15200:2:6"}]},{"nativeSrc":"15367:125:6","nodeType":"YulAssignment","src":"15367:125:6","value":{"arguments":[{"name":"t2","nativeSrc":"15401:2:6","nodeType":"YulIdentifier","src":"15401:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15436:4:6","nodeType":"YulIdentifier","src":"15436:4:6"},{"name":"pAlpha","nativeSrc":"15442:6:6","nodeType":"YulIdentifier","src":"15442:6:6"}],"functionName":{"name":"add","nativeSrc":"15432:3:6","nodeType":"YulIdentifier","src":"15432:3:6"},"nativeSrc":"15432:17:6","nodeType":"YulFunctionCall","src":"15432:17:6"}],"functionName":{"name":"mload","nativeSrc":"15426:5:6","nodeType":"YulIdentifier","src":"15426:5:6"},"nativeSrc":"15426:24:6","nodeType":"YulFunctionCall","src":"15426:24:6"},{"name":"q","nativeSrc":"15473:1:6","nodeType":"YulIdentifier","src":"15473:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"15373:6:6","nodeType":"YulIdentifier","src":"15373:6:6"},"nativeSrc":"15373:119:6","nodeType":"YulFunctionCall","src":"15373:119:6"},"variableNames":[{"name":"t2","nativeSrc":"15367:2:6","nodeType":"YulIdentifier","src":"15367:2:6"}]},{"nativeSrc":"15510:23:6","nodeType":"YulAssignment","src":"15510:23:6","value":{"arguments":[{"name":"t1","nativeSrc":"15523:2:6","nodeType":"YulIdentifier","src":"15523:2:6"},{"name":"t2","nativeSrc":"15527:2:6","nodeType":"YulIdentifier","src":"15527:2:6"},{"name":"q","nativeSrc":"15531:1:6","nodeType":"YulIdentifier","src":"15531:1:6"}],"functionName":{"name":"addmod","nativeSrc":"15516:6:6","nodeType":"YulIdentifier","src":"15516:6:6"},"nativeSrc":"15516:17:6","nodeType":"YulFunctionCall","src":"15516:17:6"},"variableNames":[{"name":"t1","nativeSrc":"15510:2:6","nodeType":"YulIdentifier","src":"15510:2:6"}]},{"nativeSrc":"15567:31:6","nodeType":"YulAssignment","src":"15567:31:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"t","nativeSrc":"15584:1:6","nodeType":"YulIdentifier","src":"15584:1:6"},{"name":"q","nativeSrc":"15587:1:6","nodeType":"YulIdentifier","src":"15587:1:6"}],"functionName":{"name":"add","nativeSrc":"15580:3:6","nodeType":"YulIdentifier","src":"15580:3:6"},"nativeSrc":"15580:9:6","nodeType":"YulFunctionCall","src":"15580:9:6"},{"name":"t1","nativeSrc":"15591:2:6","nodeType":"YulIdentifier","src":"15591:2:6"}],"functionName":{"name":"sub","nativeSrc":"15576:3:6","nodeType":"YulIdentifier","src":"15576:3:6"},"nativeSrc":"15576:18:6","nodeType":"YulFunctionCall","src":"15576:18:6"},{"name":"q","nativeSrc":"15596:1:6","nodeType":"YulIdentifier","src":"15596:1:6"}],"functionName":{"name":"mod","nativeSrc":"15572:3:6","nodeType":"YulIdentifier","src":"15572:3:6"},"nativeSrc":"15572:26:6","nodeType":"YulFunctionCall","src":"15572:26:6"},"variableNames":[{"name":"t","nativeSrc":"15567:1:6","nodeType":"YulIdentifier","src":"15567:1:6"}]},{"nativeSrc":"15615:43:6","nodeType":"YulAssignment","src":"15615:43:6","value":{"arguments":[{"name":"t","nativeSrc":"15627:1:6","nodeType":"YulIdentifier","src":"15627:1:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15640:4:6","nodeType":"YulIdentifier","src":"15640:4:6"},{"name":"pZhInv","nativeSrc":"15646:6:6","nodeType":"YulIdentifier","src":"15646:6:6"}],"functionName":{"name":"add","nativeSrc":"15636:3:6","nodeType":"YulIdentifier","src":"15636:3:6"},"nativeSrc":"15636:17:6","nodeType":"YulFunctionCall","src":"15636:17:6"}],"functionName":{"name":"mload","nativeSrc":"15630:5:6","nodeType":"YulIdentifier","src":"15630:5:6"},"nativeSrc":"15630:24:6","nodeType":"YulFunctionCall","src":"15630:24:6"},{"name":"q","nativeSrc":"15656:1:6","nodeType":"YulIdentifier","src":"15656:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"15620:6:6","nodeType":"YulIdentifier","src":"15620:6:6"},"nativeSrc":"15620:38:6","nodeType":"YulFunctionCall","src":"15620:38:6"},"variableNames":[{"name":"t","nativeSrc":"15615:1:6","nodeType":"YulIdentifier","src":"15615:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15704:4:6","nodeType":"YulIdentifier","src":"15704:4:6"},{"name":"pEval_t","nativeSrc":"15710:7:6","nodeType":"YulIdentifier","src":"15710:7:6"}],"functionName":{"name":"add","nativeSrc":"15700:3:6","nodeType":"YulIdentifier","src":"15700:3:6"},"nativeSrc":"15700:18:6","nodeType":"YulFunctionCall","src":"15700:18:6"},{"name":"t","nativeSrc":"15721:1:6","nodeType":"YulIdentifier","src":"15721:1:6"}],"functionName":{"name":"mstore","nativeSrc":"15692:6:6","nodeType":"YulIdentifier","src":"15692:6:6"},"nativeSrc":"15692:31:6","nodeType":"YulFunctionCall","src":"15692:31:6"},"nativeSrc":"15692:31:6","nodeType":"YulExpressionStatement","src":"15692:31:6"}]},"name":"calculateT","nativeSrc":"13542:2196:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"13562:6:6","nodeType":"YulTypedName","src":"13562:6:6","type":""},{"name":"pMem","nativeSrc":"13570:4:6","nodeType":"YulTypedName","src":"13570:4:6","type":""}],"src":"13542:2196:6"},{"body":{"nativeSrc":"15788:108:6","nodeType":"YulBlock","src":"15788:108:6","statements":[{"expression":{"arguments":[{"name":"pR","nativeSrc":"15813:2:6","nodeType":"YulIdentifier","src":"15813:2:6"},{"arguments":[{"name":"pP","nativeSrc":"15823:2:6","nodeType":"YulIdentifier","src":"15823:2:6"}],"functionName":{"name":"mload","nativeSrc":"15817:5:6","nodeType":"YulIdentifier","src":"15817:5:6"},"nativeSrc":"15817:9:6","nodeType":"YulFunctionCall","src":"15817:9:6"}],"functionName":{"name":"mstore","nativeSrc":"15806:6:6","nodeType":"YulIdentifier","src":"15806:6:6"},"nativeSrc":"15806:21:6","nodeType":"YulFunctionCall","src":"15806:21:6"},"nativeSrc":"15806:21:6","nodeType":"YulExpressionStatement","src":"15806:21:6"},{"expression":{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"15855:2:6","nodeType":"YulIdentifier","src":"15855:2:6"},{"kind":"number","nativeSrc":"15859:2:6","nodeType":"YulLiteral","src":"15859:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15851:3:6","nodeType":"YulIdentifier","src":"15851:3:6"},"nativeSrc":"15851:11:6","nodeType":"YulFunctionCall","src":"15851:11:6"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"15874:2:6","nodeType":"YulIdentifier","src":"15874:2:6"},{"kind":"number","nativeSrc":"15877:2:6","nodeType":"YulLiteral","src":"15877:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15870:3:6","nodeType":"YulIdentifier","src":"15870:3:6"},"nativeSrc":"15870:10:6","nodeType":"YulFunctionCall","src":"15870:10:6"}],"functionName":{"name":"mload","nativeSrc":"15864:5:6","nodeType":"YulIdentifier","src":"15864:5:6"},"nativeSrc":"15864:17:6","nodeType":"YulFunctionCall","src":"15864:17:6"}],"functionName":{"name":"mstore","nativeSrc":"15844:6:6","nodeType":"YulIdentifier","src":"15844:6:6"},"nativeSrc":"15844:38:6","nodeType":"YulFunctionCall","src":"15844:38:6"},"nativeSrc":"15844:38:6","nodeType":"YulExpressionStatement","src":"15844:38:6"}]},"name":"g1_set","nativeSrc":"15764:132:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15780:2:6","nodeType":"YulTypedName","src":"15780:2:6","type":""},{"name":"pP","nativeSrc":"15784:2:6","nodeType":"YulTypedName","src":"15784:2:6","type":""}],"src":"15764:132:6"},{"body":{"nativeSrc":"15934:474:6","nodeType":"YulBlock","src":"15934:474:6","statements":[{"nativeSrc":"15952:22:6","nodeType":"YulVariableDeclaration","src":"15952:22:6","value":{"arguments":[{"kind":"number","nativeSrc":"15969:4:6","nodeType":"YulLiteral","src":"15969:4:6","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"15963:5:6","nodeType":"YulIdentifier","src":"15963:5:6"},"nativeSrc":"15963:11:6","nodeType":"YulFunctionCall","src":"15963:11:6"},"variables":[{"name":"mIn","nativeSrc":"15956:3:6","nodeType":"YulTypedName","src":"15956:3:6","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"15998:3:6","nodeType":"YulIdentifier","src":"15998:3:6"},{"arguments":[{"name":"pR","nativeSrc":"16009:2:6","nodeType":"YulIdentifier","src":"16009:2:6"}],"functionName":{"name":"mload","nativeSrc":"16003:5:6","nodeType":"YulIdentifier","src":"16003:5:6"},"nativeSrc":"16003:9:6","nodeType":"YulFunctionCall","src":"16003:9:6"}],"functionName":{"name":"mstore","nativeSrc":"15991:6:6","nodeType":"YulIdentifier","src":"15991:6:6"},"nativeSrc":"15991:22:6","nodeType":"YulFunctionCall","src":"15991:22:6"},"nativeSrc":"15991:22:6","nodeType":"YulExpressionStatement","src":"15991:22:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16041:3:6","nodeType":"YulIdentifier","src":"16041:3:6"},{"kind":"number","nativeSrc":"16045:2:6","nodeType":"YulLiteral","src":"16045:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16037:3:6","nodeType":"YulIdentifier","src":"16037:3:6"},"nativeSrc":"16037:11:6","nodeType":"YulFunctionCall","src":"16037:11:6"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16060:2:6","nodeType":"YulIdentifier","src":"16060:2:6"},{"kind":"number","nativeSrc":"16064:2:6","nodeType":"YulLiteral","src":"16064:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16056:3:6","nodeType":"YulIdentifier","src":"16056:3:6"},"nativeSrc":"16056:11:6","nodeType":"YulFunctionCall","src":"16056:11:6"}],"functionName":{"name":"mload","nativeSrc":"16050:5:6","nodeType":"YulIdentifier","src":"16050:5:6"},"nativeSrc":"16050:18:6","nodeType":"YulFunctionCall","src":"16050:18:6"}],"functionName":{"name":"mstore","nativeSrc":"16030:6:6","nodeType":"YulIdentifier","src":"16030:6:6"},"nativeSrc":"16030:39:6","nodeType":"YulFunctionCall","src":"16030:39:6"},"nativeSrc":"16030:39:6","nodeType":"YulExpressionStatement","src":"16030:39:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16097:3:6","nodeType":"YulIdentifier","src":"16097:3:6"},{"kind":"number","nativeSrc":"16101:2:6","nodeType":"YulLiteral","src":"16101:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16093:3:6","nodeType":"YulIdentifier","src":"16093:3:6"},"nativeSrc":"16093:11:6","nodeType":"YulFunctionCall","src":"16093:11:6"},{"arguments":[{"name":"pP","nativeSrc":"16112:2:6","nodeType":"YulIdentifier","src":"16112:2:6"}],"functionName":{"name":"mload","nativeSrc":"16106:5:6","nodeType":"YulIdentifier","src":"16106:5:6"},"nativeSrc":"16106:9:6","nodeType":"YulFunctionCall","src":"16106:9:6"}],"functionName":{"name":"mstore","nativeSrc":"16086:6:6","nodeType":"YulIdentifier","src":"16086:6:6"},"nativeSrc":"16086:30:6","nodeType":"YulFunctionCall","src":"16086:30:6"},"nativeSrc":"16086:30:6","nodeType":"YulExpressionStatement","src":"16086:30:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16144:3:6","nodeType":"YulIdentifier","src":"16144:3:6"},{"kind":"number","nativeSrc":"16148:2:6","nodeType":"YulLiteral","src":"16148:2:6","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16140:3:6","nodeType":"YulIdentifier","src":"16140:3:6"},"nativeSrc":"16140:11:6","nodeType":"YulFunctionCall","src":"16140:11:6"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16163:2:6","nodeType":"YulIdentifier","src":"16163:2:6"},{"kind":"number","nativeSrc":"16167:2:6","nodeType":"YulLiteral","src":"16167:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16159:3:6","nodeType":"YulIdentifier","src":"16159:3:6"},"nativeSrc":"16159:11:6","nodeType":"YulFunctionCall","src":"16159:11:6"}],"functionName":{"name":"mload","nativeSrc":"16153:5:6","nodeType":"YulIdentifier","src":"16153:5:6"},"nativeSrc":"16153:18:6","nodeType":"YulFunctionCall","src":"16153:18:6"}],"functionName":{"name":"mstore","nativeSrc":"16133:6:6","nodeType":"YulIdentifier","src":"16133:6:6"},"nativeSrc":"16133:39:6","nodeType":"YulFunctionCall","src":"16133:39:6"},"nativeSrc":"16133:39:6","nodeType":"YulExpressionStatement","src":"16133:39:6"},{"nativeSrc":"16190:64:6","nodeType":"YulVariableDeclaration","src":"16190:64:6","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16220:3:6","nodeType":"YulIdentifier","src":"16220:3:6"},"nativeSrc":"16220:5:6","nodeType":"YulFunctionCall","src":"16220:5:6"},{"kind":"number","nativeSrc":"16227:4:6","nodeType":"YulLiteral","src":"16227:4:6","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16216:3:6","nodeType":"YulIdentifier","src":"16216:3:6"},"nativeSrc":"16216:16:6","nodeType":"YulFunctionCall","src":"16216:16:6"},{"kind":"number","nativeSrc":"16234:1:6","nodeType":"YulLiteral","src":"16234:1:6","type":"","value":"6"},{"name":"mIn","nativeSrc":"16237:3:6","nodeType":"YulIdentifier","src":"16237:3:6"},{"kind":"number","nativeSrc":"16242:3:6","nodeType":"YulLiteral","src":"16242:3:6","type":"","value":"128"},{"name":"pR","nativeSrc":"16247:2:6","nodeType":"YulIdentifier","src":"16247:2:6"},{"kind":"number","nativeSrc":"16251:2:6","nodeType":"YulLiteral","src":"16251:2:6","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16205:10:6","nodeType":"YulIdentifier","src":"16205:10:6"},"nativeSrc":"16205:49:6","nodeType":"YulFunctionCall","src":"16205:49:6"},"variables":[{"name":"success","nativeSrc":"16194:7:6","nodeType":"YulTypedName","src":"16194:7:6","type":""}]},{"body":{"nativeSrc":"16307:87:6","nodeType":"YulBlock","src":"16307:87:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16336:1:6","nodeType":"YulLiteral","src":"16336:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"16339:1:6","nodeType":"YulLiteral","src":"16339:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16329:6:6","nodeType":"YulIdentifier","src":"16329:6:6"},"nativeSrc":"16329:12:6","nodeType":"YulFunctionCall","src":"16329:12:6"},"nativeSrc":"16329:12:6","nodeType":"YulExpressionStatement","src":"16329:12:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16369:1:6","nodeType":"YulLiteral","src":"16369:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"16371:4:6","nodeType":"YulLiteral","src":"16371:4:6","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16362:6:6","nodeType":"YulIdentifier","src":"16362:6:6"},"nativeSrc":"16362:14:6","nodeType":"YulFunctionCall","src":"16362:14:6"},"nativeSrc":"16362:14:6","nodeType":"YulExpressionStatement","src":"16362:14:6"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16298:7:6","nodeType":"YulIdentifier","src":"16298:7:6"}],"functionName":{"name":"iszero","nativeSrc":"16291:6:6","nodeType":"YulIdentifier","src":"16291:6:6"},"nativeSrc":"16291:15:6","nodeType":"YulFunctionCall","src":"16291:15:6"},"nativeSrc":"16288:106:6","nodeType":"YulIf","src":"16288:106:6"}]},"name":"g1_acc","nativeSrc":"15910:498:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15926:2:6","nodeType":"YulTypedName","src":"15926:2:6","type":""},{"name":"pP","nativeSrc":"15930:2:6","nodeType":"YulTypedName","src":"15930:2:6","type":""}],"src":"15910:498:6"},{"body":{"nativeSrc":"16452:789:6","nodeType":"YulBlock","src":"16452:789:6","statements":[{"nativeSrc":"16470:11:6","nodeType":"YulVariableDeclaration","src":"16470:11:6","variables":[{"name":"success","nativeSrc":"16474:7:6","nodeType":"YulTypedName","src":"16474:7:6","type":""}]},{"nativeSrc":"16498:22:6","nodeType":"YulVariableDeclaration","src":"16498:22:6","value":{"arguments":[{"kind":"number","nativeSrc":"16515:4:6","nodeType":"YulLiteral","src":"16515:4:6","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"16509:5:6","nodeType":"YulIdentifier","src":"16509:5:6"},"nativeSrc":"16509:11:6","nodeType":"YulFunctionCall","src":"16509:11:6"},"variables":[{"name":"mIn","nativeSrc":"16502:3:6","nodeType":"YulTypedName","src":"16502:3:6","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"16544:3:6","nodeType":"YulIdentifier","src":"16544:3:6"},{"arguments":[{"name":"pP","nativeSrc":"16555:2:6","nodeType":"YulIdentifier","src":"16555:2:6"}],"functionName":{"name":"mload","nativeSrc":"16549:5:6","nodeType":"YulIdentifier","src":"16549:5:6"},"nativeSrc":"16549:9:6","nodeType":"YulFunctionCall","src":"16549:9:6"}],"functionName":{"name":"mstore","nativeSrc":"16537:6:6","nodeType":"YulIdentifier","src":"16537:6:6"},"nativeSrc":"16537:22:6","nodeType":"YulFunctionCall","src":"16537:22:6"},"nativeSrc":"16537:22:6","nodeType":"YulExpressionStatement","src":"16537:22:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16587:3:6","nodeType":"YulIdentifier","src":"16587:3:6"},{"kind":"number","nativeSrc":"16591:2:6","nodeType":"YulLiteral","src":"16591:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16583:3:6","nodeType":"YulIdentifier","src":"16583:3:6"},"nativeSrc":"16583:11:6","nodeType":"YulFunctionCall","src":"16583:11:6"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16606:2:6","nodeType":"YulIdentifier","src":"16606:2:6"},{"kind":"number","nativeSrc":"16610:2:6","nodeType":"YulLiteral","src":"16610:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16602:3:6","nodeType":"YulIdentifier","src":"16602:3:6"},"nativeSrc":"16602:11:6","nodeType":"YulFunctionCall","src":"16602:11:6"}],"functionName":{"name":"mload","nativeSrc":"16596:5:6","nodeType":"YulIdentifier","src":"16596:5:6"},"nativeSrc":"16596:18:6","nodeType":"YulFunctionCall","src":"16596:18:6"}],"functionName":{"name":"mstore","nativeSrc":"16576:6:6","nodeType":"YulIdentifier","src":"16576:6:6"},"nativeSrc":"16576:39:6","nodeType":"YulFunctionCall","src":"16576:39:6"},"nativeSrc":"16576:39:6","nodeType":"YulExpressionStatement","src":"16576:39:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16643:3:6","nodeType":"YulIdentifier","src":"16643:3:6"},{"kind":"number","nativeSrc":"16647:2:6","nodeType":"YulLiteral","src":"16647:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16639:3:6","nodeType":"YulIdentifier","src":"16639:3:6"},"nativeSrc":"16639:11:6","nodeType":"YulFunctionCall","src":"16639:11:6"},{"name":"s","nativeSrc":"16652:1:6","nodeType":"YulIdentifier","src":"16652:1:6"}],"functionName":{"name":"mstore","nativeSrc":"16632:6:6","nodeType":"YulIdentifier","src":"16632:6:6"},"nativeSrc":"16632:22:6","nodeType":"YulFunctionCall","src":"16632:22:6"},"nativeSrc":"16632:22:6","nodeType":"YulExpressionStatement","src":"16632:22:6"},{"nativeSrc":"16672:60:6","nodeType":"YulAssignment","src":"16672:60:6","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16698:3:6","nodeType":"YulIdentifier","src":"16698:3:6"},"nativeSrc":"16698:5:6","nodeType":"YulFunctionCall","src":"16698:5:6"},{"kind":"number","nativeSrc":"16705:4:6","nodeType":"YulLiteral","src":"16705:4:6","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16694:3:6","nodeType":"YulIdentifier","src":"16694:3:6"},"nativeSrc":"16694:16:6","nodeType":"YulFunctionCall","src":"16694:16:6"},{"kind":"number","nativeSrc":"16712:1:6","nodeType":"YulLiteral","src":"16712:1:6","type":"","value":"7"},{"name":"mIn","nativeSrc":"16715:3:6","nodeType":"YulIdentifier","src":"16715:3:6"},{"kind":"number","nativeSrc":"16720:2:6","nodeType":"YulLiteral","src":"16720:2:6","type":"","value":"96"},{"name":"mIn","nativeSrc":"16724:3:6","nodeType":"YulIdentifier","src":"16724:3:6"},{"kind":"number","nativeSrc":"16729:2:6","nodeType":"YulLiteral","src":"16729:2:6","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16683:10:6","nodeType":"YulIdentifier","src":"16683:10:6"},"nativeSrc":"16683:49:6","nodeType":"YulFunctionCall","src":"16683:49:6"},"variableNames":[{"name":"success","nativeSrc":"16672:7:6","nodeType":"YulIdentifier","src":"16672:7:6"}]},{"body":{"nativeSrc":"16785:87:6","nodeType":"YulBlock","src":"16785:87:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16814:1:6","nodeType":"YulLiteral","src":"16814:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"16817:1:6","nodeType":"YulLiteral","src":"16817:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16807:6:6","nodeType":"YulIdentifier","src":"16807:6:6"},"nativeSrc":"16807:12:6","nodeType":"YulFunctionCall","src":"16807:12:6"},"nativeSrc":"16807:12:6","nodeType":"YulExpressionStatement","src":"16807:12:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16847:1:6","nodeType":"YulLiteral","src":"16847:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"16849:4:6","nodeType":"YulLiteral","src":"16849:4:6","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16840:6:6","nodeType":"YulIdentifier","src":"16840:6:6"},"nativeSrc":"16840:14:6","nodeType":"YulFunctionCall","src":"16840:14:6"},"nativeSrc":"16840:14:6","nodeType":"YulExpressionStatement","src":"16840:14:6"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16776:7:6","nodeType":"YulIdentifier","src":"16776:7:6"}],"functionName":{"name":"iszero","nativeSrc":"16769:6:6","nodeType":"YulIdentifier","src":"16769:6:6"},"nativeSrc":"16769:15:6","nodeType":"YulFunctionCall","src":"16769:15:6"},"nativeSrc":"16766:106:6","nodeType":"YulIf","src":"16766:106:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16917:3:6","nodeType":"YulIdentifier","src":"16917:3:6"},{"kind":"number","nativeSrc":"16921:2:6","nodeType":"YulLiteral","src":"16921:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16913:3:6","nodeType":"YulIdentifier","src":"16913:3:6"},"nativeSrc":"16913:11:6","nodeType":"YulFunctionCall","src":"16913:11:6"},{"arguments":[{"name":"pR","nativeSrc":"16932:2:6","nodeType":"YulIdentifier","src":"16932:2:6"}],"functionName":{"name":"mload","nativeSrc":"16926:5:6","nodeType":"YulIdentifier","src":"16926:5:6"},"nativeSrc":"16926:9:6","nodeType":"YulFunctionCall","src":"16926:9:6"}],"functionName":{"name":"mstore","nativeSrc":"16906:6:6","nodeType":"YulIdentifier","src":"16906:6:6"},"nativeSrc":"16906:30:6","nodeType":"YulFunctionCall","src":"16906:30:6"},"nativeSrc":"16906:30:6","nodeType":"YulExpressionStatement","src":"16906:30:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16964:3:6","nodeType":"YulIdentifier","src":"16964:3:6"},{"kind":"number","nativeSrc":"16968:2:6","nodeType":"YulLiteral","src":"16968:2:6","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16960:3:6","nodeType":"YulIdentifier","src":"16960:3:6"},"nativeSrc":"16960:11:6","nodeType":"YulFunctionCall","src":"16960:11:6"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16983:2:6","nodeType":"YulIdentifier","src":"16983:2:6"},{"kind":"number","nativeSrc":"16987:2:6","nodeType":"YulLiteral","src":"16987:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16979:3:6","nodeType":"YulIdentifier","src":"16979:3:6"},"nativeSrc":"16979:11:6","nodeType":"YulFunctionCall","src":"16979:11:6"}],"functionName":{"name":"mload","nativeSrc":"16973:5:6","nodeType":"YulIdentifier","src":"16973:5:6"},"nativeSrc":"16973:18:6","nodeType":"YulFunctionCall","src":"16973:18:6"}],"functionName":{"name":"mstore","nativeSrc":"16953:6:6","nodeType":"YulIdentifier","src":"16953:6:6"},"nativeSrc":"16953:39:6","nodeType":"YulFunctionCall","src":"16953:39:6"},"nativeSrc":"16953:39:6","nodeType":"YulExpressionStatement","src":"16953:39:6"},{"nativeSrc":"17010:60:6","nodeType":"YulAssignment","src":"17010:60:6","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17036:3:6","nodeType":"YulIdentifier","src":"17036:3:6"},"nativeSrc":"17036:5:6","nodeType":"YulFunctionCall","src":"17036:5:6"},{"kind":"number","nativeSrc":"17043:4:6","nodeType":"YulLiteral","src":"17043:4:6","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17032:3:6","nodeType":"YulIdentifier","src":"17032:3:6"},"nativeSrc":"17032:16:6","nodeType":"YulFunctionCall","src":"17032:16:6"},{"kind":"number","nativeSrc":"17050:1:6","nodeType":"YulLiteral","src":"17050:1:6","type":"","value":"6"},{"name":"mIn","nativeSrc":"17053:3:6","nodeType":"YulIdentifier","src":"17053:3:6"},{"kind":"number","nativeSrc":"17058:3:6","nodeType":"YulLiteral","src":"17058:3:6","type":"","value":"128"},{"name":"pR","nativeSrc":"17063:2:6","nodeType":"YulIdentifier","src":"17063:2:6"},{"kind":"number","nativeSrc":"17067:2:6","nodeType":"YulLiteral","src":"17067:2:6","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17021:10:6","nodeType":"YulIdentifier","src":"17021:10:6"},"nativeSrc":"17021:49:6","nodeType":"YulFunctionCall","src":"17021:49:6"},"variableNames":[{"name":"success","nativeSrc":"17010:7:6","nodeType":"YulIdentifier","src":"17010:7:6"}]},{"body":{"nativeSrc":"17123:87:6","nodeType":"YulBlock","src":"17123:87:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17152:1:6","nodeType":"YulLiteral","src":"17152:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"17155:1:6","nodeType":"YulLiteral","src":"17155:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17145:6:6","nodeType":"YulIdentifier","src":"17145:6:6"},"nativeSrc":"17145:12:6","nodeType":"YulFunctionCall","src":"17145:12:6"},"nativeSrc":"17145:12:6","nodeType":"YulExpressionStatement","src":"17145:12:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17185:1:6","nodeType":"YulLiteral","src":"17185:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"17187:4:6","nodeType":"YulLiteral","src":"17187:4:6","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17178:6:6","nodeType":"YulIdentifier","src":"17178:6:6"},"nativeSrc":"17178:14:6","nodeType":"YulFunctionCall","src":"17178:14:6"},"nativeSrc":"17178:14:6","nodeType":"YulExpressionStatement","src":"17178:14:6"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17114:7:6","nodeType":"YulIdentifier","src":"17114:7:6"}],"functionName":{"name":"iszero","nativeSrc":"17107:6:6","nodeType":"YulIdentifier","src":"17107:6:6"},"nativeSrc":"17107:15:6","nodeType":"YulFunctionCall","src":"17107:15:6"},"nativeSrc":"17104:106:6","nodeType":"YulIf","src":"17104:106:6"}]},"name":"g1_mulAcc","nativeSrc":"16422:819:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"16441:2:6","nodeType":"YulTypedName","src":"16441:2:6","type":""},{"name":"pP","nativeSrc":"16445:2:6","nodeType":"YulTypedName","src":"16445:2:6","type":""},{"name":"s","nativeSrc":"16449:1:6","nodeType":"YulTypedName","src":"16449:1:6","type":""}],"src":"16422:819:6"},{"body":{"nativeSrc":"17288:747:6","nodeType":"YulBlock","src":"17288:747:6","statements":[{"nativeSrc":"17306:11:6","nodeType":"YulVariableDeclaration","src":"17306:11:6","variables":[{"name":"success","nativeSrc":"17310:7:6","nodeType":"YulTypedName","src":"17310:7:6","type":""}]},{"nativeSrc":"17334:22:6","nodeType":"YulVariableDeclaration","src":"17334:22:6","value":{"arguments":[{"kind":"number","nativeSrc":"17351:4:6","nodeType":"YulLiteral","src":"17351:4:6","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17345:5:6","nodeType":"YulIdentifier","src":"17345:5:6"},"nativeSrc":"17345:11:6","nodeType":"YulFunctionCall","src":"17345:11:6"},"variables":[{"name":"mIn","nativeSrc":"17338:3:6","nodeType":"YulTypedName","src":"17338:3:6","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"17380:3:6","nodeType":"YulIdentifier","src":"17380:3:6"},{"name":"x","nativeSrc":"17385:1:6","nodeType":"YulIdentifier","src":"17385:1:6"}],"functionName":{"name":"mstore","nativeSrc":"17373:6:6","nodeType":"YulIdentifier","src":"17373:6:6"},"nativeSrc":"17373:14:6","nodeType":"YulFunctionCall","src":"17373:14:6"},"nativeSrc":"17373:14:6","nodeType":"YulExpressionStatement","src":"17373:14:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17415:3:6","nodeType":"YulIdentifier","src":"17415:3:6"},{"kind":"number","nativeSrc":"17419:2:6","nodeType":"YulLiteral","src":"17419:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17411:3:6","nodeType":"YulIdentifier","src":"17411:3:6"},"nativeSrc":"17411:11:6","nodeType":"YulFunctionCall","src":"17411:11:6"},{"name":"y","nativeSrc":"17424:1:6","nodeType":"YulIdentifier","src":"17424:1:6"}],"functionName":{"name":"mstore","nativeSrc":"17404:6:6","nodeType":"YulIdentifier","src":"17404:6:6"},"nativeSrc":"17404:22:6","nodeType":"YulFunctionCall","src":"17404:22:6"},"nativeSrc":"17404:22:6","nodeType":"YulExpressionStatement","src":"17404:22:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17454:3:6","nodeType":"YulIdentifier","src":"17454:3:6"},{"kind":"number","nativeSrc":"17458:2:6","nodeType":"YulLiteral","src":"17458:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17450:3:6","nodeType":"YulIdentifier","src":"17450:3:6"},"nativeSrc":"17450:11:6","nodeType":"YulFunctionCall","src":"17450:11:6"},{"name":"s","nativeSrc":"17463:1:6","nodeType":"YulIdentifier","src":"17463:1:6"}],"functionName":{"name":"mstore","nativeSrc":"17443:6:6","nodeType":"YulIdentifier","src":"17443:6:6"},"nativeSrc":"17443:22:6","nodeType":"YulFunctionCall","src":"17443:22:6"},"nativeSrc":"17443:22:6","nodeType":"YulExpressionStatement","src":"17443:22:6"},{"nativeSrc":"17483:60:6","nodeType":"YulAssignment","src":"17483:60:6","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17509:3:6","nodeType":"YulIdentifier","src":"17509:3:6"},"nativeSrc":"17509:5:6","nodeType":"YulFunctionCall","src":"17509:5:6"},{"kind":"number","nativeSrc":"17516:4:6","nodeType":"YulLiteral","src":"17516:4:6","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17505:3:6","nodeType":"YulIdentifier","src":"17505:3:6"},"nativeSrc":"17505:16:6","nodeType":"YulFunctionCall","src":"17505:16:6"},{"kind":"number","nativeSrc":"17523:1:6","nodeType":"YulLiteral","src":"17523:1:6","type":"","value":"7"},{"name":"mIn","nativeSrc":"17526:3:6","nodeType":"YulIdentifier","src":"17526:3:6"},{"kind":"number","nativeSrc":"17531:2:6","nodeType":"YulLiteral","src":"17531:2:6","type":"","value":"96"},{"name":"mIn","nativeSrc":"17535:3:6","nodeType":"YulIdentifier","src":"17535:3:6"},{"kind":"number","nativeSrc":"17540:2:6","nodeType":"YulLiteral","src":"17540:2:6","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17494:10:6","nodeType":"YulIdentifier","src":"17494:10:6"},"nativeSrc":"17494:49:6","nodeType":"YulFunctionCall","src":"17494:49:6"},"variableNames":[{"name":"success","nativeSrc":"17483:7:6","nodeType":"YulIdentifier","src":"17483:7:6"}]},{"body":{"nativeSrc":"17596:87:6","nodeType":"YulBlock","src":"17596:87:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17625:1:6","nodeType":"YulLiteral","src":"17625:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"17628:1:6","nodeType":"YulLiteral","src":"17628:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17618:6:6","nodeType":"YulIdentifier","src":"17618:6:6"},"nativeSrc":"17618:12:6","nodeType":"YulFunctionCall","src":"17618:12:6"},"nativeSrc":"17618:12:6","nodeType":"YulExpressionStatement","src":"17618:12:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17658:1:6","nodeType":"YulLiteral","src":"17658:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"17660:4:6","nodeType":"YulLiteral","src":"17660:4:6","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17651:6:6","nodeType":"YulIdentifier","src":"17651:6:6"},"nativeSrc":"17651:14:6","nodeType":"YulFunctionCall","src":"17651:14:6"},"nativeSrc":"17651:14:6","nodeType":"YulExpressionStatement","src":"17651:14:6"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17587:7:6","nodeType":"YulIdentifier","src":"17587:7:6"}],"functionName":{"name":"iszero","nativeSrc":"17580:6:6","nodeType":"YulIdentifier","src":"17580:6:6"},"nativeSrc":"17580:15:6","nodeType":"YulFunctionCall","src":"17580:15:6"},"nativeSrc":"17577:106:6","nodeType":"YulIf","src":"17577:106:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17728:3:6","nodeType":"YulIdentifier","src":"17728:3:6"},{"kind":"number","nativeSrc":"17732:2:6","nodeType":"YulLiteral","src":"17732:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17724:3:6","nodeType":"YulIdentifier","src":"17724:3:6"},"nativeSrc":"17724:11:6","nodeType":"YulFunctionCall","src":"17724:11:6"},{"arguments":[{"name":"pR","nativeSrc":"17743:2:6","nodeType":"YulIdentifier","src":"17743:2:6"}],"functionName":{"name":"mload","nativeSrc":"17737:5:6","nodeType":"YulIdentifier","src":"17737:5:6"},"nativeSrc":"17737:9:6","nodeType":"YulFunctionCall","src":"17737:9:6"}],"functionName":{"name":"mstore","nativeSrc":"17717:6:6","nodeType":"YulIdentifier","src":"17717:6:6"},"nativeSrc":"17717:30:6","nodeType":"YulFunctionCall","src":"17717:30:6"},"nativeSrc":"17717:30:6","nodeType":"YulExpressionStatement","src":"17717:30:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17775:3:6","nodeType":"YulIdentifier","src":"17775:3:6"},{"kind":"number","nativeSrc":"17779:2:6","nodeType":"YulLiteral","src":"17779:2:6","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"17771:3:6","nodeType":"YulIdentifier","src":"17771:3:6"},"nativeSrc":"17771:11:6","nodeType":"YulFunctionCall","src":"17771:11:6"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"17794:2:6","nodeType":"YulIdentifier","src":"17794:2:6"},{"kind":"number","nativeSrc":"17798:2:6","nodeType":"YulLiteral","src":"17798:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17790:3:6","nodeType":"YulIdentifier","src":"17790:3:6"},"nativeSrc":"17790:11:6","nodeType":"YulFunctionCall","src":"17790:11:6"}],"functionName":{"name":"mload","nativeSrc":"17784:5:6","nodeType":"YulIdentifier","src":"17784:5:6"},"nativeSrc":"17784:18:6","nodeType":"YulFunctionCall","src":"17784:18:6"}],"functionName":{"name":"mstore","nativeSrc":"17764:6:6","nodeType":"YulIdentifier","src":"17764:6:6"},"nativeSrc":"17764:39:6","nodeType":"YulFunctionCall","src":"17764:39:6"},"nativeSrc":"17764:39:6","nodeType":"YulExpressionStatement","src":"17764:39:6"},{"nativeSrc":"17821:60:6","nodeType":"YulAssignment","src":"17821:60:6","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17847:3:6","nodeType":"YulIdentifier","src":"17847:3:6"},"nativeSrc":"17847:5:6","nodeType":"YulFunctionCall","src":"17847:5:6"},{"kind":"number","nativeSrc":"17854:4:6","nodeType":"YulLiteral","src":"17854:4:6","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17843:3:6","nodeType":"YulIdentifier","src":"17843:3:6"},"nativeSrc":"17843:16:6","nodeType":"YulFunctionCall","src":"17843:16:6"},{"kind":"number","nativeSrc":"17861:1:6","nodeType":"YulLiteral","src":"17861:1:6","type":"","value":"6"},{"name":"mIn","nativeSrc":"17864:3:6","nodeType":"YulIdentifier","src":"17864:3:6"},{"kind":"number","nativeSrc":"17869:3:6","nodeType":"YulLiteral","src":"17869:3:6","type":"","value":"128"},{"name":"pR","nativeSrc":"17874:2:6","nodeType":"YulIdentifier","src":"17874:2:6"},{"kind":"number","nativeSrc":"17878:2:6","nodeType":"YulLiteral","src":"17878:2:6","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17832:10:6","nodeType":"YulIdentifier","src":"17832:10:6"},"nativeSrc":"17832:49:6","nodeType":"YulFunctionCall","src":"17832:49:6"},"variableNames":[{"name":"success","nativeSrc":"17821:7:6","nodeType":"YulIdentifier","src":"17821:7:6"}]},{"body":{"nativeSrc":"17934:87:6","nodeType":"YulBlock","src":"17934:87:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17963:1:6","nodeType":"YulLiteral","src":"17963:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"17966:1:6","nodeType":"YulLiteral","src":"17966:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17956:6:6","nodeType":"YulIdentifier","src":"17956:6:6"},"nativeSrc":"17956:12:6","nodeType":"YulFunctionCall","src":"17956:12:6"},"nativeSrc":"17956:12:6","nodeType":"YulExpressionStatement","src":"17956:12:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17996:1:6","nodeType":"YulLiteral","src":"17996:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"17998:4:6","nodeType":"YulLiteral","src":"17998:4:6","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17989:6:6","nodeType":"YulIdentifier","src":"17989:6:6"},"nativeSrc":"17989:14:6","nodeType":"YulFunctionCall","src":"17989:14:6"},"nativeSrc":"17989:14:6","nodeType":"YulExpressionStatement","src":"17989:14:6"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17925:7:6","nodeType":"YulIdentifier","src":"17925:7:6"}],"functionName":{"name":"iszero","nativeSrc":"17918:6:6","nodeType":"YulIdentifier","src":"17918:6:6"},"nativeSrc":"17918:15:6","nodeType":"YulFunctionCall","src":"17918:15:6"},"nativeSrc":"17915:106:6","nodeType":"YulIf","src":"17915:106:6"}]},"name":"g1_mulAccC","nativeSrc":"17255:780:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"17275:2:6","nodeType":"YulTypedName","src":"17275:2:6","type":""},{"name":"x","nativeSrc":"17279:1:6","nodeType":"YulTypedName","src":"17279:1:6","type":""},{"name":"y","nativeSrc":"17282:1:6","nodeType":"YulTypedName","src":"17282:1:6","type":""},{"name":"s","nativeSrc":"17285:1:6","nodeType":"YulTypedName","src":"17285:1:6","type":""}],"src":"17255:780:6"},{"body":{"nativeSrc":"18082:408:6","nodeType":"YulBlock","src":"18082:408:6","statements":[{"nativeSrc":"18100:11:6","nodeType":"YulVariableDeclaration","src":"18100:11:6","variables":[{"name":"success","nativeSrc":"18104:7:6","nodeType":"YulTypedName","src":"18104:7:6","type":""}]},{"nativeSrc":"18128:22:6","nodeType":"YulVariableDeclaration","src":"18128:22:6","value":{"arguments":[{"kind":"number","nativeSrc":"18145:4:6","nodeType":"YulLiteral","src":"18145:4:6","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"18139:5:6","nodeType":"YulIdentifier","src":"18139:5:6"},"nativeSrc":"18139:11:6","nodeType":"YulFunctionCall","src":"18139:11:6"},"variables":[{"name":"mIn","nativeSrc":"18132:3:6","nodeType":"YulTypedName","src":"18132:3:6","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"18174:3:6","nodeType":"YulIdentifier","src":"18174:3:6"},{"name":"x","nativeSrc":"18179:1:6","nodeType":"YulIdentifier","src":"18179:1:6"}],"functionName":{"name":"mstore","nativeSrc":"18167:6:6","nodeType":"YulIdentifier","src":"18167:6:6"},"nativeSrc":"18167:14:6","nodeType":"YulFunctionCall","src":"18167:14:6"},"nativeSrc":"18167:14:6","nodeType":"YulExpressionStatement","src":"18167:14:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18209:3:6","nodeType":"YulIdentifier","src":"18209:3:6"},{"kind":"number","nativeSrc":"18213:2:6","nodeType":"YulLiteral","src":"18213:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"18205:3:6","nodeType":"YulIdentifier","src":"18205:3:6"},"nativeSrc":"18205:11:6","nodeType":"YulFunctionCall","src":"18205:11:6"},{"name":"y","nativeSrc":"18218:1:6","nodeType":"YulIdentifier","src":"18218:1:6"}],"functionName":{"name":"mstore","nativeSrc":"18198:6:6","nodeType":"YulIdentifier","src":"18198:6:6"},"nativeSrc":"18198:22:6","nodeType":"YulFunctionCall","src":"18198:22:6"},"nativeSrc":"18198:22:6","nodeType":"YulExpressionStatement","src":"18198:22:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18248:3:6","nodeType":"YulIdentifier","src":"18248:3:6"},{"kind":"number","nativeSrc":"18252:2:6","nodeType":"YulLiteral","src":"18252:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"18244:3:6","nodeType":"YulIdentifier","src":"18244:3:6"},"nativeSrc":"18244:11:6","nodeType":"YulFunctionCall","src":"18244:11:6"},{"name":"s","nativeSrc":"18257:1:6","nodeType":"YulIdentifier","src":"18257:1:6"}],"functionName":{"name":"mstore","nativeSrc":"18237:6:6","nodeType":"YulIdentifier","src":"18237:6:6"},"nativeSrc":"18237:22:6","nodeType":"YulFunctionCall","src":"18237:22:6"},"nativeSrc":"18237:22:6","nodeType":"YulExpressionStatement","src":"18237:22:6"},{"nativeSrc":"18277:59:6","nodeType":"YulAssignment","src":"18277:59:6","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"18303:3:6","nodeType":"YulIdentifier","src":"18303:3:6"},"nativeSrc":"18303:5:6","nodeType":"YulFunctionCall","src":"18303:5:6"},{"kind":"number","nativeSrc":"18310:4:6","nodeType":"YulLiteral","src":"18310:4:6","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"18299:3:6","nodeType":"YulIdentifier","src":"18299:3:6"},"nativeSrc":"18299:16:6","nodeType":"YulFunctionCall","src":"18299:16:6"},{"kind":"number","nativeSrc":"18317:1:6","nodeType":"YulLiteral","src":"18317:1:6","type":"","value":"7"},{"name":"mIn","nativeSrc":"18320:3:6","nodeType":"YulIdentifier","src":"18320:3:6"},{"kind":"number","nativeSrc":"18325:2:6","nodeType":"YulLiteral","src":"18325:2:6","type":"","value":"96"},{"name":"pR","nativeSrc":"18329:2:6","nodeType":"YulIdentifier","src":"18329:2:6"},{"kind":"number","nativeSrc":"18333:2:6","nodeType":"YulLiteral","src":"18333:2:6","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"18288:10:6","nodeType":"YulIdentifier","src":"18288:10:6"},"nativeSrc":"18288:48:6","nodeType":"YulFunctionCall","src":"18288:48:6"},"variableNames":[{"name":"success","nativeSrc":"18277:7:6","nodeType":"YulIdentifier","src":"18277:7:6"}]},{"body":{"nativeSrc":"18389:87:6","nodeType":"YulBlock","src":"18389:87:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"18418:1:6","nodeType":"YulLiteral","src":"18418:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"18421:1:6","nodeType":"YulLiteral","src":"18421:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"18411:6:6","nodeType":"YulIdentifier","src":"18411:6:6"},"nativeSrc":"18411:12:6","nodeType":"YulFunctionCall","src":"18411:12:6"},"nativeSrc":"18411:12:6","nodeType":"YulExpressionStatement","src":"18411:12:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18451:1:6","nodeType":"YulLiteral","src":"18451:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"18453:4:6","nodeType":"YulLiteral","src":"18453:4:6","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"18444:6:6","nodeType":"YulIdentifier","src":"18444:6:6"},"nativeSrc":"18444:14:6","nodeType":"YulFunctionCall","src":"18444:14:6"},"nativeSrc":"18444:14:6","nodeType":"YulExpressionStatement","src":"18444:14:6"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"18380:7:6","nodeType":"YulIdentifier","src":"18380:7:6"}],"functionName":{"name":"iszero","nativeSrc":"18373:6:6","nodeType":"YulIdentifier","src":"18373:6:6"},"nativeSrc":"18373:15:6","nodeType":"YulFunctionCall","src":"18373:15:6"},"nativeSrc":"18370:106:6","nodeType":"YulIf","src":"18370:106:6"}]},"name":"g1_mulSetC","nativeSrc":"18049:441:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"18069:2:6","nodeType":"YulTypedName","src":"18069:2:6","type":""},{"name":"x","nativeSrc":"18073:1:6","nodeType":"YulTypedName","src":"18073:1:6","type":""},{"name":"y","nativeSrc":"18076:1:6","nodeType":"YulTypedName","src":"18076:1:6","type":""},{"name":"s","nativeSrc":"18079:1:6","nodeType":"YulTypedName","src":"18079:1:6","type":""}],"src":"18049:441:6"},{"body":{"nativeSrc":"18540:171:6","nodeType":"YulBlock","src":"18540:171:6","statements":[{"nativeSrc":"18558:23:6","nodeType":"YulVariableDeclaration","src":"18558:23:6","value":{"arguments":[{"name":"pMem","nativeSrc":"18571:4:6","nodeType":"YulIdentifier","src":"18571:4:6"},{"name":"pA1","nativeSrc":"18577:3:6","nodeType":"YulIdentifier","src":"18577:3:6"}],"functionName":{"name":"add","nativeSrc":"18567:3:6","nodeType":"YulIdentifier","src":"18567:3:6"},"nativeSrc":"18567:14:6","nodeType":"YulFunctionCall","src":"18567:14:6"},"variables":[{"name":"p","nativeSrc":"18562:1:6","nodeType":"YulTypedName","src":"18562:1:6","type":""}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"18605:1:6","nodeType":"YulIdentifier","src":"18605:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"18612:6:6","nodeType":"YulIdentifier","src":"18612:6:6"},{"name":"pWxi","nativeSrc":"18620:4:6","nodeType":"YulIdentifier","src":"18620:4:6"}],"functionName":{"name":"add","nativeSrc":"18608:3:6","nodeType":"YulIdentifier","src":"18608:3:6"},"nativeSrc":"18608:17:6","nodeType":"YulFunctionCall","src":"18608:17:6"}],"functionName":{"name":"g1_set","nativeSrc":"18598:6:6","nodeType":"YulIdentifier","src":"18598:6:6"},"nativeSrc":"18598:28:6","nodeType":"YulFunctionCall","src":"18598:28:6"},"nativeSrc":"18598:28:6","nodeType":"YulExpressionStatement","src":"18598:28:6"},{"expression":{"arguments":[{"name":"p","nativeSrc":"18653:1:6","nodeType":"YulIdentifier","src":"18653:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"18660:6:6","nodeType":"YulIdentifier","src":"18660:6:6"},{"name":"pWxiw","nativeSrc":"18668:5:6","nodeType":"YulIdentifier","src":"18668:5:6"}],"functionName":{"name":"add","nativeSrc":"18656:3:6","nodeType":"YulIdentifier","src":"18656:3:6"},"nativeSrc":"18656:18:6","nodeType":"YulFunctionCall","src":"18656:18:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18686:4:6","nodeType":"YulIdentifier","src":"18686:4:6"},{"name":"pU","nativeSrc":"18692:2:6","nodeType":"YulIdentifier","src":"18692:2:6"}],"functionName":{"name":"add","nativeSrc":"18682:3:6","nodeType":"YulIdentifier","src":"18682:3:6"},"nativeSrc":"18682:13:6","nodeType":"YulFunctionCall","src":"18682:13:6"}],"functionName":{"name":"mload","nativeSrc":"18676:5:6","nodeType":"YulIdentifier","src":"18676:5:6"},"nativeSrc":"18676:20:6","nodeType":"YulFunctionCall","src":"18676:20:6"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"18643:9:6","nodeType":"YulIdentifier","src":"18643:9:6"},"nativeSrc":"18643:54:6","nodeType":"YulFunctionCall","src":"18643:54:6"},"nativeSrc":"18643:54:6","nodeType":"YulExpressionStatement","src":"18643:54:6"}]},"name":"calculateA1","nativeSrc":"18505:206:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18526:6:6","nodeType":"YulTypedName","src":"18526:6:6","type":""},{"name":"pMem","nativeSrc":"18534:4:6","nodeType":"YulTypedName","src":"18534:4:6","type":""}],"src":"18505:206:6"},{"body":{"nativeSrc":"18785:4443:6","nodeType":"YulBlock","src":"18785:4443:6","statements":[{"nativeSrc":"18803:5:6","nodeType":"YulVariableDeclaration","src":"18803:5:6","variables":[{"name":"s","nativeSrc":"18807:1:6","nodeType":"YulTypedName","src":"18807:1:6","type":""}]},{"nativeSrc":"18825:6:6","nodeType":"YulVariableDeclaration","src":"18825:6:6","variables":[{"name":"s1","nativeSrc":"18829:2:6","nodeType":"YulTypedName","src":"18829:2:6","type":""}]},{"nativeSrc":"18848:23:6","nodeType":"YulVariableDeclaration","src":"18848:23:6","value":{"arguments":[{"name":"pMem","nativeSrc":"18861:4:6","nodeType":"YulIdentifier","src":"18861:4:6"},{"name":"pB1","nativeSrc":"18867:3:6","nodeType":"YulIdentifier","src":"18867:3:6"}],"functionName":{"name":"add","nativeSrc":"18857:3:6","nodeType":"YulIdentifier","src":"18857:3:6"},"nativeSrc":"18857:14:6","nodeType":"YulFunctionCall","src":"18857:14:6"},"variables":[{"name":"p","nativeSrc":"18852:1:6","nodeType":"YulTypedName","src":"18852:1:6","type":""}]},{"nativeSrc":"18936:67:6","nodeType":"YulAssignment","src":"18936:67:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"18959:6:6","nodeType":"YulIdentifier","src":"18959:6:6"},{"name":"pEval_a","nativeSrc":"18967:7:6","nodeType":"YulIdentifier","src":"18967:7:6"}],"functionName":{"name":"add","nativeSrc":"18955:3:6","nodeType":"YulIdentifier","src":"18955:3:6"},"nativeSrc":"18955:20:6","nodeType":"YulFunctionCall","src":"18955:20:6"}],"functionName":{"name":"mload","nativeSrc":"18949:5:6","nodeType":"YulIdentifier","src":"18949:5:6"},"nativeSrc":"18949:27:6","nodeType":"YulFunctionCall","src":"18949:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18988:4:6","nodeType":"YulIdentifier","src":"18988:4:6"},{"name":"pV1","nativeSrc":"18994:3:6","nodeType":"YulIdentifier","src":"18994:3:6"}],"functionName":{"name":"add","nativeSrc":"18984:3:6","nodeType":"YulIdentifier","src":"18984:3:6"},"nativeSrc":"18984:14:6","nodeType":"YulFunctionCall","src":"18984:14:6"}],"functionName":{"name":"mload","nativeSrc":"18978:5:6","nodeType":"YulIdentifier","src":"18978:5:6"},"nativeSrc":"18978:21:6","nodeType":"YulFunctionCall","src":"18978:21:6"},{"name":"q","nativeSrc":"19001:1:6","nodeType":"YulIdentifier","src":"19001:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"18941:6:6","nodeType":"YulIdentifier","src":"18941:6:6"},"nativeSrc":"18941:62:6","nodeType":"YulFunctionCall","src":"18941:62:6"},"variableNames":[{"name":"s","nativeSrc":"18936:1:6","nodeType":"YulIdentifier","src":"18936:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19031:1:6","nodeType":"YulIdentifier","src":"19031:1:6"},{"name":"Qlx","nativeSrc":"19034:3:6","nodeType":"YulIdentifier","src":"19034:3:6"},{"name":"Qly","nativeSrc":"19039:3:6","nodeType":"YulIdentifier","src":"19039:3:6"},{"name":"s","nativeSrc":"19044:1:6","nodeType":"YulIdentifier","src":"19044:1:6"}],"functionName":{"name":"g1_mulSetC","nativeSrc":"19020:10:6","nodeType":"YulIdentifier","src":"19020:10:6"},"nativeSrc":"19020:26:6","nodeType":"YulFunctionCall","src":"19020:26:6"},"nativeSrc":"19020:26:6","nodeType":"YulExpressionStatement","src":"19020:26:6"},{"nativeSrc":"19064:47:6","nodeType":"YulAssignment","src":"19064:47:6","value":{"arguments":[{"name":"s","nativeSrc":"19077:1:6","nodeType":"YulIdentifier","src":"19077:1:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19090:6:6","nodeType":"YulIdentifier","src":"19090:6:6"},{"name":"pEval_b","nativeSrc":"19098:7:6","nodeType":"YulIdentifier","src":"19098:7:6"}],"functionName":{"name":"add","nativeSrc":"19086:3:6","nodeType":"YulIdentifier","src":"19086:3:6"},"nativeSrc":"19086:20:6","nodeType":"YulFunctionCall","src":"19086:20:6"}],"functionName":{"name":"mload","nativeSrc":"19080:5:6","nodeType":"YulIdentifier","src":"19080:5:6"},"nativeSrc":"19080:27:6","nodeType":"YulFunctionCall","src":"19080:27:6"},{"name":"q","nativeSrc":"19109:1:6","nodeType":"YulIdentifier","src":"19109:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"19069:6:6","nodeType":"YulIdentifier","src":"19069:6:6"},"nativeSrc":"19069:42:6","nodeType":"YulFunctionCall","src":"19069:42:6"},"variableNames":[{"name":"s","nativeSrc":"19064:1:6","nodeType":"YulIdentifier","src":"19064:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19155:1:6","nodeType":"YulIdentifier","src":"19155:1:6"},{"name":"Qmx","nativeSrc":"19158:3:6","nodeType":"YulIdentifier","src":"19158:3:6"},{"name":"Qmy","nativeSrc":"19163:3:6","nodeType":"YulIdentifier","src":"19163:3:6"},{"name":"s","nativeSrc":"19168:1:6","nodeType":"YulIdentifier","src":"19168:1:6"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19144:10:6","nodeType":"YulIdentifier","src":"19144:10:6"},"nativeSrc":"19144:26:6","nodeType":"YulFunctionCall","src":"19144:26:6"},"nativeSrc":"19144:26:6","nodeType":"YulExpressionStatement","src":"19144:26:6"},{"nativeSrc":"19188:67:6","nodeType":"YulAssignment","src":"19188:67:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19211:6:6","nodeType":"YulIdentifier","src":"19211:6:6"},{"name":"pEval_b","nativeSrc":"19219:7:6","nodeType":"YulIdentifier","src":"19219:7:6"}],"functionName":{"name":"add","nativeSrc":"19207:3:6","nodeType":"YulIdentifier","src":"19207:3:6"},"nativeSrc":"19207:20:6","nodeType":"YulFunctionCall","src":"19207:20:6"}],"functionName":{"name":"mload","nativeSrc":"19201:5:6","nodeType":"YulIdentifier","src":"19201:5:6"},"nativeSrc":"19201:27:6","nodeType":"YulFunctionCall","src":"19201:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19240:4:6","nodeType":"YulIdentifier","src":"19240:4:6"},{"name":"pV1","nativeSrc":"19246:3:6","nodeType":"YulIdentifier","src":"19246:3:6"}],"functionName":{"name":"add","nativeSrc":"19236:3:6","nodeType":"YulIdentifier","src":"19236:3:6"},"nativeSrc":"19236:14:6","nodeType":"YulFunctionCall","src":"19236:14:6"}],"functionName":{"name":"mload","nativeSrc":"19230:5:6","nodeType":"YulIdentifier","src":"19230:5:6"},"nativeSrc":"19230:21:6","nodeType":"YulFunctionCall","src":"19230:21:6"},{"name":"q","nativeSrc":"19253:1:6","nodeType":"YulIdentifier","src":"19253:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"19193:6:6","nodeType":"YulIdentifier","src":"19193:6:6"},"nativeSrc":"19193:62:6","nodeType":"YulFunctionCall","src":"19193:62:6"},"variableNames":[{"name":"s","nativeSrc":"19188:1:6","nodeType":"YulIdentifier","src":"19188:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19283:1:6","nodeType":"YulIdentifier","src":"19283:1:6"},{"name":"Qrx","nativeSrc":"19286:3:6","nodeType":"YulIdentifier","src":"19286:3:6"},{"name":"Qry","nativeSrc":"19291:3:6","nodeType":"YulIdentifier","src":"19291:3:6"},{"name":"s","nativeSrc":"19296:1:6","nodeType":"YulIdentifier","src":"19296:1:6"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19272:10:6","nodeType":"YulIdentifier","src":"19272:10:6"},"nativeSrc":"19272:26:6","nodeType":"YulFunctionCall","src":"19272:26:6"},"nativeSrc":"19272:26:6","nodeType":"YulExpressionStatement","src":"19272:26:6"},{"nativeSrc":"19332:67:6","nodeType":"YulAssignment","src":"19332:67:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19355:6:6","nodeType":"YulIdentifier","src":"19355:6:6"},{"name":"pEval_c","nativeSrc":"19363:7:6","nodeType":"YulIdentifier","src":"19363:7:6"}],"functionName":{"name":"add","nativeSrc":"19351:3:6","nodeType":"YulIdentifier","src":"19351:3:6"},"nativeSrc":"19351:20:6","nodeType":"YulFunctionCall","src":"19351:20:6"}],"functionName":{"name":"mload","nativeSrc":"19345:5:6","nodeType":"YulIdentifier","src":"19345:5:6"},"nativeSrc":"19345:27:6","nodeType":"YulFunctionCall","src":"19345:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19384:4:6","nodeType":"YulIdentifier","src":"19384:4:6"},{"name":"pV1","nativeSrc":"19390:3:6","nodeType":"YulIdentifier","src":"19390:3:6"}],"functionName":{"name":"add","nativeSrc":"19380:3:6","nodeType":"YulIdentifier","src":"19380:3:6"},"nativeSrc":"19380:14:6","nodeType":"YulFunctionCall","src":"19380:14:6"}],"functionName":{"name":"mload","nativeSrc":"19374:5:6","nodeType":"YulIdentifier","src":"19374:5:6"},"nativeSrc":"19374:21:6","nodeType":"YulFunctionCall","src":"19374:21:6"},{"name":"q","nativeSrc":"19397:1:6","nodeType":"YulIdentifier","src":"19397:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"19337:6:6","nodeType":"YulIdentifier","src":"19337:6:6"},"nativeSrc":"19337:62:6","nodeType":"YulFunctionCall","src":"19337:62:6"},"variableNames":[{"name":"s","nativeSrc":"19332:1:6","nodeType":"YulIdentifier","src":"19332:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19427:1:6","nodeType":"YulIdentifier","src":"19427:1:6"},{"name":"Qox","nativeSrc":"19430:3:6","nodeType":"YulIdentifier","src":"19430:3:6"},{"name":"Qoy","nativeSrc":"19435:3:6","nodeType":"YulIdentifier","src":"19435:3:6"},{"name":"s","nativeSrc":"19440:1:6","nodeType":"YulIdentifier","src":"19440:1:6"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19416:10:6","nodeType":"YulIdentifier","src":"19416:10:6"},"nativeSrc":"19416:26:6","nodeType":"YulFunctionCall","src":"19416:26:6"},"nativeSrc":"19416:26:6","nodeType":"YulExpressionStatement","src":"19416:26:6"},{"nativeSrc":"19460:25:6","nodeType":"YulAssignment","src":"19460:25:6","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19474:4:6","nodeType":"YulIdentifier","src":"19474:4:6"},{"name":"pV1","nativeSrc":"19480:3:6","nodeType":"YulIdentifier","src":"19480:3:6"}],"functionName":{"name":"add","nativeSrc":"19470:3:6","nodeType":"YulIdentifier","src":"19470:3:6"},"nativeSrc":"19470:14:6","nodeType":"YulFunctionCall","src":"19470:14:6"}],"functionName":{"name":"mload","nativeSrc":"19464:5:6","nodeType":"YulIdentifier","src":"19464:5:6"},"nativeSrc":"19464:21:6","nodeType":"YulFunctionCall","src":"19464:21:6"},"variableNames":[{"name":"s","nativeSrc":"19460:1:6","nodeType":"YulIdentifier","src":"19460:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19513:1:6","nodeType":"YulIdentifier","src":"19513:1:6"},{"name":"Qcx","nativeSrc":"19516:3:6","nodeType":"YulIdentifier","src":"19516:3:6"},{"name":"Qcy","nativeSrc":"19521:3:6","nodeType":"YulIdentifier","src":"19521:3:6"},{"name":"s","nativeSrc":"19526:1:6","nodeType":"YulIdentifier","src":"19526:1:6"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19502:10:6","nodeType":"YulIdentifier","src":"19502:10:6"},"nativeSrc":"19502:26:6","nodeType":"YulFunctionCall","src":"19502:26:6"},"nativeSrc":"19502:26:6","nodeType":"YulExpressionStatement","src":"19502:26:6"},{"nativeSrc":"19546:70:6","nodeType":"YulAssignment","src":"19546:70:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19568:6:6","nodeType":"YulIdentifier","src":"19568:6:6"},{"name":"pEval_a","nativeSrc":"19576:7:6","nodeType":"YulIdentifier","src":"19576:7:6"}],"functionName":{"name":"add","nativeSrc":"19564:3:6","nodeType":"YulIdentifier","src":"19564:3:6"},"nativeSrc":"19564:20:6","nodeType":"YulFunctionCall","src":"19564:20:6"}],"functionName":{"name":"mload","nativeSrc":"19558:5:6","nodeType":"YulIdentifier","src":"19558:5:6"},"nativeSrc":"19558:27:6","nodeType":"YulFunctionCall","src":"19558:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19597:4:6","nodeType":"YulIdentifier","src":"19597:4:6"},{"name":"pBetaXi","nativeSrc":"19603:7:6","nodeType":"YulIdentifier","src":"19603:7:6"}],"functionName":{"name":"add","nativeSrc":"19593:3:6","nodeType":"YulIdentifier","src":"19593:3:6"},"nativeSrc":"19593:18:6","nodeType":"YulFunctionCall","src":"19593:18:6"}],"functionName":{"name":"mload","nativeSrc":"19587:5:6","nodeType":"YulIdentifier","src":"19587:5:6"},"nativeSrc":"19587:25:6","nodeType":"YulFunctionCall","src":"19587:25:6"},{"name":"q","nativeSrc":"19614:1:6","nodeType":"YulIdentifier","src":"19614:1:6"}],"functionName":{"name":"addmod","nativeSrc":"19551:6:6","nodeType":"YulIdentifier","src":"19551:6:6"},"nativeSrc":"19551:65:6","nodeType":"YulFunctionCall","src":"19551:65:6"},"variableNames":[{"name":"s","nativeSrc":"19546:1:6","nodeType":"YulIdentifier","src":"19546:1:6"}]},{"nativeSrc":"19633:43:6","nodeType":"YulAssignment","src":"19633:43:6","value":{"arguments":[{"name":"s","nativeSrc":"19645:1:6","nodeType":"YulIdentifier","src":"19645:1:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19658:4:6","nodeType":"YulIdentifier","src":"19658:4:6"},{"name":"pGamma","nativeSrc":"19664:6:6","nodeType":"YulIdentifier","src":"19664:6:6"}],"functionName":{"name":"add","nativeSrc":"19654:3:6","nodeType":"YulIdentifier","src":"19654:3:6"},"nativeSrc":"19654:17:6","nodeType":"YulFunctionCall","src":"19654:17:6"}],"functionName":{"name":"mload","nativeSrc":"19648:5:6","nodeType":"YulIdentifier","src":"19648:5:6"},"nativeSrc":"19648:24:6","nodeType":"YulFunctionCall","src":"19648:24:6"},{"name":"q","nativeSrc":"19674:1:6","nodeType":"YulIdentifier","src":"19674:1:6"}],"functionName":{"name":"addmod","nativeSrc":"19638:6:6","nodeType":"YulIdentifier","src":"19638:6:6"},"nativeSrc":"19638:38:6","nodeType":"YulFunctionCall","src":"19638:38:6"},"variableNames":[{"name":"s","nativeSrc":"19633:1:6","nodeType":"YulIdentifier","src":"19633:1:6"}]},{"nativeSrc":"19693:46:6","nodeType":"YulAssignment","src":"19693:46:6","value":{"arguments":[{"name":"k1","nativeSrc":"19706:2:6","nodeType":"YulIdentifier","src":"19706:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19720:4:6","nodeType":"YulIdentifier","src":"19720:4:6"},{"name":"pBetaXi","nativeSrc":"19726:7:6","nodeType":"YulIdentifier","src":"19726:7:6"}],"functionName":{"name":"add","nativeSrc":"19716:3:6","nodeType":"YulIdentifier","src":"19716:3:6"},"nativeSrc":"19716:18:6","nodeType":"YulFunctionCall","src":"19716:18:6"}],"functionName":{"name":"mload","nativeSrc":"19710:5:6","nodeType":"YulIdentifier","src":"19710:5:6"},"nativeSrc":"19710:25:6","nodeType":"YulFunctionCall","src":"19710:25:6"},{"name":"q","nativeSrc":"19737:1:6","nodeType":"YulIdentifier","src":"19737:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"19699:6:6","nodeType":"YulIdentifier","src":"19699:6:6"},"nativeSrc":"19699:40:6","nodeType":"YulFunctionCall","src":"19699:40:6"},"variableNames":[{"name":"s1","nativeSrc":"19693:2:6","nodeType":"YulIdentifier","src":"19693:2:6"}]},{"nativeSrc":"19756:48:6","nodeType":"YulAssignment","src":"19756:48:6","value":{"arguments":[{"name":"s1","nativeSrc":"19769:2:6","nodeType":"YulIdentifier","src":"19769:2:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19783:6:6","nodeType":"YulIdentifier","src":"19783:6:6"},{"name":"pEval_b","nativeSrc":"19791:7:6","nodeType":"YulIdentifier","src":"19791:7:6"}],"functionName":{"name":"add","nativeSrc":"19779:3:6","nodeType":"YulIdentifier","src":"19779:3:6"},"nativeSrc":"19779:20:6","nodeType":"YulFunctionCall","src":"19779:20:6"}],"functionName":{"name":"mload","nativeSrc":"19773:5:6","nodeType":"YulIdentifier","src":"19773:5:6"},"nativeSrc":"19773:27:6","nodeType":"YulFunctionCall","src":"19773:27:6"},{"name":"q","nativeSrc":"19802:1:6","nodeType":"YulIdentifier","src":"19802:1:6"}],"functionName":{"name":"addmod","nativeSrc":"19762:6:6","nodeType":"YulIdentifier","src":"19762:6:6"},"nativeSrc":"19762:42:6","nodeType":"YulFunctionCall","src":"19762:42:6"},"variableNames":[{"name":"s1","nativeSrc":"19756:2:6","nodeType":"YulIdentifier","src":"19756:2:6"}]},{"nativeSrc":"19821:45:6","nodeType":"YulAssignment","src":"19821:45:6","value":{"arguments":[{"name":"s1","nativeSrc":"19834:2:6","nodeType":"YulIdentifier","src":"19834:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19848:4:6","nodeType":"YulIdentifier","src":"19848:4:6"},{"name":"pGamma","nativeSrc":"19854:6:6","nodeType":"YulIdentifier","src":"19854:6:6"}],"functionName":{"name":"add","nativeSrc":"19844:3:6","nodeType":"YulIdentifier","src":"19844:3:6"},"nativeSrc":"19844:17:6","nodeType":"YulFunctionCall","src":"19844:17:6"}],"functionName":{"name":"mload","nativeSrc":"19838:5:6","nodeType":"YulIdentifier","src":"19838:5:6"},"nativeSrc":"19838:24:6","nodeType":"YulFunctionCall","src":"19838:24:6"},{"name":"q","nativeSrc":"19864:1:6","nodeType":"YulIdentifier","src":"19864:1:6"}],"functionName":{"name":"addmod","nativeSrc":"19827:6:6","nodeType":"YulIdentifier","src":"19827:6:6"},"nativeSrc":"19827:39:6","nodeType":"YulFunctionCall","src":"19827:39:6"},"variableNames":[{"name":"s1","nativeSrc":"19821:2:6","nodeType":"YulIdentifier","src":"19821:2:6"}]},{"nativeSrc":"19883:21:6","nodeType":"YulAssignment","src":"19883:21:6","value":{"arguments":[{"name":"s","nativeSrc":"19895:1:6","nodeType":"YulIdentifier","src":"19895:1:6"},{"name":"s1","nativeSrc":"19898:2:6","nodeType":"YulIdentifier","src":"19898:2:6"},{"name":"q","nativeSrc":"19902:1:6","nodeType":"YulIdentifier","src":"19902:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"19888:6:6","nodeType":"YulIdentifier","src":"19888:6:6"},"nativeSrc":"19888:16:6","nodeType":"YulFunctionCall","src":"19888:16:6"},"variableNames":[{"name":"s","nativeSrc":"19883:1:6","nodeType":"YulIdentifier","src":"19883:1:6"}]},{"nativeSrc":"19921:46:6","nodeType":"YulAssignment","src":"19921:46:6","value":{"arguments":[{"name":"k2","nativeSrc":"19934:2:6","nodeType":"YulIdentifier","src":"19934:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19948:4:6","nodeType":"YulIdentifier","src":"19948:4:6"},{"name":"pBetaXi","nativeSrc":"19954:7:6","nodeType":"YulIdentifier","src":"19954:7:6"}],"functionName":{"name":"add","nativeSrc":"19944:3:6","nodeType":"YulIdentifier","src":"19944:3:6"},"nativeSrc":"19944:18:6","nodeType":"YulFunctionCall","src":"19944:18:6"}],"functionName":{"name":"mload","nativeSrc":"19938:5:6","nodeType":"YulIdentifier","src":"19938:5:6"},"nativeSrc":"19938:25:6","nodeType":"YulFunctionCall","src":"19938:25:6"},{"name":"q","nativeSrc":"19965:1:6","nodeType":"YulIdentifier","src":"19965:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"19927:6:6","nodeType":"YulIdentifier","src":"19927:6:6"},"nativeSrc":"19927:40:6","nodeType":"YulFunctionCall","src":"19927:40:6"},"variableNames":[{"name":"s1","nativeSrc":"19921:2:6","nodeType":"YulIdentifier","src":"19921:2:6"}]},{"nativeSrc":"19984:48:6","nodeType":"YulAssignment","src":"19984:48:6","value":{"arguments":[{"name":"s1","nativeSrc":"19997:2:6","nodeType":"YulIdentifier","src":"19997:2:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20011:6:6","nodeType":"YulIdentifier","src":"20011:6:6"},{"name":"pEval_c","nativeSrc":"20019:7:6","nodeType":"YulIdentifier","src":"20019:7:6"}],"functionName":{"name":"add","nativeSrc":"20007:3:6","nodeType":"YulIdentifier","src":"20007:3:6"},"nativeSrc":"20007:20:6","nodeType":"YulFunctionCall","src":"20007:20:6"}],"functionName":{"name":"mload","nativeSrc":"20001:5:6","nodeType":"YulIdentifier","src":"20001:5:6"},"nativeSrc":"20001:27:6","nodeType":"YulFunctionCall","src":"20001:27:6"},{"name":"q","nativeSrc":"20030:1:6","nodeType":"YulIdentifier","src":"20030:1:6"}],"functionName":{"name":"addmod","nativeSrc":"19990:6:6","nodeType":"YulIdentifier","src":"19990:6:6"},"nativeSrc":"19990:42:6","nodeType":"YulFunctionCall","src":"19990:42:6"},"variableNames":[{"name":"s1","nativeSrc":"19984:2:6","nodeType":"YulIdentifier","src":"19984:2:6"}]},{"nativeSrc":"20049:45:6","nodeType":"YulAssignment","src":"20049:45:6","value":{"arguments":[{"name":"s1","nativeSrc":"20062:2:6","nodeType":"YulIdentifier","src":"20062:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20076:4:6","nodeType":"YulIdentifier","src":"20076:4:6"},{"name":"pGamma","nativeSrc":"20082:6:6","nodeType":"YulIdentifier","src":"20082:6:6"}],"functionName":{"name":"add","nativeSrc":"20072:3:6","nodeType":"YulIdentifier","src":"20072:3:6"},"nativeSrc":"20072:17:6","nodeType":"YulFunctionCall","src":"20072:17:6"}],"functionName":{"name":"mload","nativeSrc":"20066:5:6","nodeType":"YulIdentifier","src":"20066:5:6"},"nativeSrc":"20066:24:6","nodeType":"YulFunctionCall","src":"20066:24:6"},{"name":"q","nativeSrc":"20092:1:6","nodeType":"YulIdentifier","src":"20092:1:6"}],"functionName":{"name":"addmod","nativeSrc":"20055:6:6","nodeType":"YulIdentifier","src":"20055:6:6"},"nativeSrc":"20055:39:6","nodeType":"YulFunctionCall","src":"20055:39:6"},"variableNames":[{"name":"s1","nativeSrc":"20049:2:6","nodeType":"YulIdentifier","src":"20049:2:6"}]},{"nativeSrc":"20111:21:6","nodeType":"YulAssignment","src":"20111:21:6","value":{"arguments":[{"name":"s","nativeSrc":"20123:1:6","nodeType":"YulIdentifier","src":"20123:1:6"},{"name":"s1","nativeSrc":"20126:2:6","nodeType":"YulIdentifier","src":"20126:2:6"},{"name":"q","nativeSrc":"20130:1:6","nodeType":"YulIdentifier","src":"20130:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"20116:6:6","nodeType":"YulIdentifier","src":"20116:6:6"},"nativeSrc":"20116:16:6","nodeType":"YulFunctionCall","src":"20116:16:6"},"variableNames":[{"name":"s","nativeSrc":"20111:1:6","nodeType":"YulIdentifier","src":"20111:1:6"}]},{"nativeSrc":"20149:43:6","nodeType":"YulAssignment","src":"20149:43:6","value":{"arguments":[{"name":"s","nativeSrc":"20161:1:6","nodeType":"YulIdentifier","src":"20161:1:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20174:4:6","nodeType":"YulIdentifier","src":"20174:4:6"},{"name":"pAlpha","nativeSrc":"20180:6:6","nodeType":"YulIdentifier","src":"20180:6:6"}],"functionName":{"name":"add","nativeSrc":"20170:3:6","nodeType":"YulIdentifier","src":"20170:3:6"},"nativeSrc":"20170:17:6","nodeType":"YulFunctionCall","src":"20170:17:6"}],"functionName":{"name":"mload","nativeSrc":"20164:5:6","nodeType":"YulIdentifier","src":"20164:5:6"},"nativeSrc":"20164:24:6","nodeType":"YulFunctionCall","src":"20164:24:6"},{"name":"q","nativeSrc":"20190:1:6","nodeType":"YulIdentifier","src":"20190:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"20154:6:6","nodeType":"YulIdentifier","src":"20154:6:6"},"nativeSrc":"20154:38:6","nodeType":"YulFunctionCall","src":"20154:38:6"},"variableNames":[{"name":"s","nativeSrc":"20149:1:6","nodeType":"YulIdentifier","src":"20149:1:6"}]},{"nativeSrc":"20209:40:6","nodeType":"YulAssignment","src":"20209:40:6","value":{"arguments":[{"name":"s","nativeSrc":"20221:1:6","nodeType":"YulIdentifier","src":"20221:1:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20234:4:6","nodeType":"YulIdentifier","src":"20234:4:6"},{"name":"pV1","nativeSrc":"20240:3:6","nodeType":"YulIdentifier","src":"20240:3:6"}],"functionName":{"name":"add","nativeSrc":"20230:3:6","nodeType":"YulIdentifier","src":"20230:3:6"},"nativeSrc":"20230:14:6","nodeType":"YulFunctionCall","src":"20230:14:6"}],"functionName":{"name":"mload","nativeSrc":"20224:5:6","nodeType":"YulIdentifier","src":"20224:5:6"},"nativeSrc":"20224:21:6","nodeType":"YulFunctionCall","src":"20224:21:6"},{"name":"q","nativeSrc":"20247:1:6","nodeType":"YulIdentifier","src":"20247:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"20214:6:6","nodeType":"YulIdentifier","src":"20214:6:6"},"nativeSrc":"20214:35:6","nodeType":"YulFunctionCall","src":"20214:35:6"},"variableNames":[{"name":"s","nativeSrc":"20209:1:6","nodeType":"YulIdentifier","src":"20209:1:6"}]},{"nativeSrc":"20266:69:6","nodeType":"YulAssignment","src":"20266:69:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20289:4:6","nodeType":"YulIdentifier","src":"20289:4:6"},{"name":"pEval_l1","nativeSrc":"20295:8:6","nodeType":"YulIdentifier","src":"20295:8:6"}],"functionName":{"name":"add","nativeSrc":"20285:3:6","nodeType":"YulIdentifier","src":"20285:3:6"},"nativeSrc":"20285:19:6","nodeType":"YulFunctionCall","src":"20285:19:6"}],"functionName":{"name":"mload","nativeSrc":"20279:5:6","nodeType":"YulIdentifier","src":"20279:5:6"},"nativeSrc":"20279:26:6","nodeType":"YulFunctionCall","src":"20279:26:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20317:4:6","nodeType":"YulIdentifier","src":"20317:4:6"},{"name":"pAlpha","nativeSrc":"20323:6:6","nodeType":"YulIdentifier","src":"20323:6:6"}],"functionName":{"name":"add","nativeSrc":"20313:3:6","nodeType":"YulIdentifier","src":"20313:3:6"},"nativeSrc":"20313:17:6","nodeType":"YulFunctionCall","src":"20313:17:6"}],"functionName":{"name":"mload","nativeSrc":"20307:5:6","nodeType":"YulIdentifier","src":"20307:5:6"},"nativeSrc":"20307:24:6","nodeType":"YulFunctionCall","src":"20307:24:6"},{"name":"q","nativeSrc":"20333:1:6","nodeType":"YulIdentifier","src":"20333:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"20272:6:6","nodeType":"YulIdentifier","src":"20272:6:6"},"nativeSrc":"20272:63:6","nodeType":"YulFunctionCall","src":"20272:63:6"},"variableNames":[{"name":"s1","nativeSrc":"20266:2:6","nodeType":"YulIdentifier","src":"20266:2:6"}]},{"nativeSrc":"20352:45:6","nodeType":"YulAssignment","src":"20352:45:6","value":{"arguments":[{"name":"s1","nativeSrc":"20365:2:6","nodeType":"YulIdentifier","src":"20365:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20379:4:6","nodeType":"YulIdentifier","src":"20379:4:6"},{"name":"pAlpha","nativeSrc":"20385:6:6","nodeType":"YulIdentifier","src":"20385:6:6"}],"functionName":{"name":"add","nativeSrc":"20375:3:6","nodeType":"YulIdentifier","src":"20375:3:6"},"nativeSrc":"20375:17:6","nodeType":"YulFunctionCall","src":"20375:17:6"}],"functionName":{"name":"mload","nativeSrc":"20369:5:6","nodeType":"YulIdentifier","src":"20369:5:6"},"nativeSrc":"20369:24:6","nodeType":"YulFunctionCall","src":"20369:24:6"},{"name":"q","nativeSrc":"20395:1:6","nodeType":"YulIdentifier","src":"20395:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"20358:6:6","nodeType":"YulIdentifier","src":"20358:6:6"},"nativeSrc":"20358:39:6","nodeType":"YulFunctionCall","src":"20358:39:6"},"variableNames":[{"name":"s1","nativeSrc":"20352:2:6","nodeType":"YulIdentifier","src":"20352:2:6"}]},{"nativeSrc":"20414:42:6","nodeType":"YulAssignment","src":"20414:42:6","value":{"arguments":[{"name":"s1","nativeSrc":"20427:2:6","nodeType":"YulIdentifier","src":"20427:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20441:4:6","nodeType":"YulIdentifier","src":"20441:4:6"},{"name":"pV1","nativeSrc":"20447:3:6","nodeType":"YulIdentifier","src":"20447:3:6"}],"functionName":{"name":"add","nativeSrc":"20437:3:6","nodeType":"YulIdentifier","src":"20437:3:6"},"nativeSrc":"20437:14:6","nodeType":"YulFunctionCall","src":"20437:14:6"}],"functionName":{"name":"mload","nativeSrc":"20431:5:6","nodeType":"YulIdentifier","src":"20431:5:6"},"nativeSrc":"20431:21:6","nodeType":"YulFunctionCall","src":"20431:21:6"},{"name":"q","nativeSrc":"20454:1:6","nodeType":"YulIdentifier","src":"20454:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"20420:6:6","nodeType":"YulIdentifier","src":"20420:6:6"},"nativeSrc":"20420:36:6","nodeType":"YulFunctionCall","src":"20420:36:6"},"variableNames":[{"name":"s1","nativeSrc":"20414:2:6","nodeType":"YulIdentifier","src":"20414:2:6"}]},{"nativeSrc":"20473:21:6","nodeType":"YulAssignment","src":"20473:21:6","value":{"arguments":[{"name":"s","nativeSrc":"20485:1:6","nodeType":"YulIdentifier","src":"20485:1:6"},{"name":"s1","nativeSrc":"20488:2:6","nodeType":"YulIdentifier","src":"20488:2:6"},{"name":"q","nativeSrc":"20492:1:6","nodeType":"YulIdentifier","src":"20492:1:6"}],"functionName":{"name":"addmod","nativeSrc":"20478:6:6","nodeType":"YulIdentifier","src":"20478:6:6"},"nativeSrc":"20478:16:6","nodeType":"YulFunctionCall","src":"20478:16:6"},"variableNames":[{"name":"s","nativeSrc":"20473:1:6","nodeType":"YulIdentifier","src":"20473:1:6"}]},{"nativeSrc":"20511:39:6","nodeType":"YulAssignment","src":"20511:39:6","value":{"arguments":[{"name":"s","nativeSrc":"20523:1:6","nodeType":"YulIdentifier","src":"20523:1:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20536:4:6","nodeType":"YulIdentifier","src":"20536:4:6"},{"name":"pU","nativeSrc":"20542:2:6","nodeType":"YulIdentifier","src":"20542:2:6"}],"functionName":{"name":"add","nativeSrc":"20532:3:6","nodeType":"YulIdentifier","src":"20532:3:6"},"nativeSrc":"20532:13:6","nodeType":"YulFunctionCall","src":"20532:13:6"}],"functionName":{"name":"mload","nativeSrc":"20526:5:6","nodeType":"YulIdentifier","src":"20526:5:6"},"nativeSrc":"20526:20:6","nodeType":"YulFunctionCall","src":"20526:20:6"},{"name":"q","nativeSrc":"20548:1:6","nodeType":"YulIdentifier","src":"20548:1:6"}],"functionName":{"name":"addmod","nativeSrc":"20516:6:6","nodeType":"YulIdentifier","src":"20516:6:6"},"nativeSrc":"20516:34:6","nodeType":"YulFunctionCall","src":"20516:34:6"},"variableNames":[{"name":"s","nativeSrc":"20511:1:6","nodeType":"YulIdentifier","src":"20511:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"20577:1:6","nodeType":"YulIdentifier","src":"20577:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"20584:6:6","nodeType":"YulIdentifier","src":"20584:6:6"},{"name":"pZ","nativeSrc":"20592:2:6","nodeType":"YulIdentifier","src":"20592:2:6"}],"functionName":{"name":"add","nativeSrc":"20580:3:6","nodeType":"YulIdentifier","src":"20580:3:6"},"nativeSrc":"20580:15:6","nodeType":"YulFunctionCall","src":"20580:15:6"},{"name":"s","nativeSrc":"20597:1:6","nodeType":"YulIdentifier","src":"20597:1:6"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"20567:9:6","nodeType":"YulIdentifier","src":"20567:9:6"},"nativeSrc":"20567:32:6","nodeType":"YulFunctionCall","src":"20567:32:6"},"nativeSrc":"20567:32:6","nodeType":"YulExpressionStatement","src":"20567:32:6"},{"nativeSrc":"20633:69:6","nodeType":"YulAssignment","src":"20633:69:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20655:4:6","nodeType":"YulIdentifier","src":"20655:4:6"},{"name":"pBeta","nativeSrc":"20661:5:6","nodeType":"YulIdentifier","src":"20661:5:6"}],"functionName":{"name":"add","nativeSrc":"20651:3:6","nodeType":"YulIdentifier","src":"20651:3:6"},"nativeSrc":"20651:16:6","nodeType":"YulFunctionCall","src":"20651:16:6"}],"functionName":{"name":"mload","nativeSrc":"20645:5:6","nodeType":"YulIdentifier","src":"20645:5:6"},"nativeSrc":"20645:23:6","nodeType":"YulFunctionCall","src":"20645:23:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20680:6:6","nodeType":"YulIdentifier","src":"20680:6:6"},{"name":"pEval_s1","nativeSrc":"20688:8:6","nodeType":"YulIdentifier","src":"20688:8:6"}],"functionName":{"name":"add","nativeSrc":"20676:3:6","nodeType":"YulIdentifier","src":"20676:3:6"},"nativeSrc":"20676:21:6","nodeType":"YulFunctionCall","src":"20676:21:6"}],"functionName":{"name":"mload","nativeSrc":"20670:5:6","nodeType":"YulIdentifier","src":"20670:5:6"},"nativeSrc":"20670:28:6","nodeType":"YulFunctionCall","src":"20670:28:6"},{"name":"q","nativeSrc":"20700:1:6","nodeType":"YulIdentifier","src":"20700:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"20638:6:6","nodeType":"YulIdentifier","src":"20638:6:6"},"nativeSrc":"20638:64:6","nodeType":"YulFunctionCall","src":"20638:64:6"},"variableNames":[{"name":"s","nativeSrc":"20633:1:6","nodeType":"YulIdentifier","src":"20633:1:6"}]},{"nativeSrc":"20719:46:6","nodeType":"YulAssignment","src":"20719:46:6","value":{"arguments":[{"name":"s","nativeSrc":"20731:1:6","nodeType":"YulIdentifier","src":"20731:1:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20744:6:6","nodeType":"YulIdentifier","src":"20744:6:6"},{"name":"pEval_a","nativeSrc":"20752:7:6","nodeType":"YulIdentifier","src":"20752:7:6"}],"functionName":{"name":"add","nativeSrc":"20740:3:6","nodeType":"YulIdentifier","src":"20740:3:6"},"nativeSrc":"20740:20:6","nodeType":"YulFunctionCall","src":"20740:20:6"}],"functionName":{"name":"mload","nativeSrc":"20734:5:6","nodeType":"YulIdentifier","src":"20734:5:6"},"nativeSrc":"20734:27:6","nodeType":"YulFunctionCall","src":"20734:27:6"},{"name":"q","nativeSrc":"20763:1:6","nodeType":"YulIdentifier","src":"20763:1:6"}],"functionName":{"name":"addmod","nativeSrc":"20724:6:6","nodeType":"YulIdentifier","src":"20724:6:6"},"nativeSrc":"20724:41:6","nodeType":"YulFunctionCall","src":"20724:41:6"},"variableNames":[{"name":"s","nativeSrc":"20719:1:6","nodeType":"YulIdentifier","src":"20719:1:6"}]},{"nativeSrc":"20782:43:6","nodeType":"YulAssignment","src":"20782:43:6","value":{"arguments":[{"name":"s","nativeSrc":"20794:1:6","nodeType":"YulIdentifier","src":"20794:1:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20807:4:6","nodeType":"YulIdentifier","src":"20807:4:6"},{"name":"pGamma","nativeSrc":"20813:6:6","nodeType":"YulIdentifier","src":"20813:6:6"}],"functionName":{"name":"add","nativeSrc":"20803:3:6","nodeType":"YulIdentifier","src":"20803:3:6"},"nativeSrc":"20803:17:6","nodeType":"YulFunctionCall","src":"20803:17:6"}],"functionName":{"name":"mload","nativeSrc":"20797:5:6","nodeType":"YulIdentifier","src":"20797:5:6"},"nativeSrc":"20797:24:6","nodeType":"YulFunctionCall","src":"20797:24:6"},{"name":"q","nativeSrc":"20823:1:6","nodeType":"YulIdentifier","src":"20823:1:6"}],"functionName":{"name":"addmod","nativeSrc":"20787:6:6","nodeType":"YulIdentifier","src":"20787:6:6"},"nativeSrc":"20787:38:6","nodeType":"YulFunctionCall","src":"20787:38:6"},"variableNames":[{"name":"s","nativeSrc":"20782:1:6","nodeType":"YulIdentifier","src":"20782:1:6"}]},{"nativeSrc":"20842:70:6","nodeType":"YulAssignment","src":"20842:70:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20865:4:6","nodeType":"YulIdentifier","src":"20865:4:6"},{"name":"pBeta","nativeSrc":"20871:5:6","nodeType":"YulIdentifier","src":"20871:5:6"}],"functionName":{"name":"add","nativeSrc":"20861:3:6","nodeType":"YulIdentifier","src":"20861:3:6"},"nativeSrc":"20861:16:6","nodeType":"YulFunctionCall","src":"20861:16:6"}],"functionName":{"name":"mload","nativeSrc":"20855:5:6","nodeType":"YulIdentifier","src":"20855:5:6"},"nativeSrc":"20855:23:6","nodeType":"YulFunctionCall","src":"20855:23:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20890:6:6","nodeType":"YulIdentifier","src":"20890:6:6"},{"name":"pEval_s2","nativeSrc":"20898:8:6","nodeType":"YulIdentifier","src":"20898:8:6"}],"functionName":{"name":"add","nativeSrc":"20886:3:6","nodeType":"YulIdentifier","src":"20886:3:6"},"nativeSrc":"20886:21:6","nodeType":"YulFunctionCall","src":"20886:21:6"}],"functionName":{"name":"mload","nativeSrc":"20880:5:6","nodeType":"YulIdentifier","src":"20880:5:6"},"nativeSrc":"20880:28:6","nodeType":"YulFunctionCall","src":"20880:28:6"},{"name":"q","nativeSrc":"20910:1:6","nodeType":"YulIdentifier","src":"20910:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"20848:6:6","nodeType":"YulIdentifier","src":"20848:6:6"},"nativeSrc":"20848:64:6","nodeType":"YulFunctionCall","src":"20848:64:6"},"variableNames":[{"name":"s1","nativeSrc":"20842:2:6","nodeType":"YulIdentifier","src":"20842:2:6"}]},{"nativeSrc":"20929:48:6","nodeType":"YulAssignment","src":"20929:48:6","value":{"arguments":[{"name":"s1","nativeSrc":"20942:2:6","nodeType":"YulIdentifier","src":"20942:2:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20956:6:6","nodeType":"YulIdentifier","src":"20956:6:6"},{"name":"pEval_b","nativeSrc":"20964:7:6","nodeType":"YulIdentifier","src":"20964:7:6"}],"functionName":{"name":"add","nativeSrc":"20952:3:6","nodeType":"YulIdentifier","src":"20952:3:6"},"nativeSrc":"20952:20:6","nodeType":"YulFunctionCall","src":"20952:20:6"}],"functionName":{"name":"mload","nativeSrc":"20946:5:6","nodeType":"YulIdentifier","src":"20946:5:6"},"nativeSrc":"20946:27:6","nodeType":"YulFunctionCall","src":"20946:27:6"},{"name":"q","nativeSrc":"20975:1:6","nodeType":"YulIdentifier","src":"20975:1:6"}],"functionName":{"name":"addmod","nativeSrc":"20935:6:6","nodeType":"YulIdentifier","src":"20935:6:6"},"nativeSrc":"20935:42:6","nodeType":"YulFunctionCall","src":"20935:42:6"},"variableNames":[{"name":"s1","nativeSrc":"20929:2:6","nodeType":"YulIdentifier","src":"20929:2:6"}]},{"nativeSrc":"20994:45:6","nodeType":"YulAssignment","src":"20994:45:6","value":{"arguments":[{"name":"s1","nativeSrc":"21007:2:6","nodeType":"YulIdentifier","src":"21007:2:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21021:4:6","nodeType":"YulIdentifier","src":"21021:4:6"},{"name":"pGamma","nativeSrc":"21027:6:6","nodeType":"YulIdentifier","src":"21027:6:6"}],"functionName":{"name":"add","nativeSrc":"21017:3:6","nodeType":"YulIdentifier","src":"21017:3:6"},"nativeSrc":"21017:17:6","nodeType":"YulFunctionCall","src":"21017:17:6"}],"functionName":{"name":"mload","nativeSrc":"21011:5:6","nodeType":"YulIdentifier","src":"21011:5:6"},"nativeSrc":"21011:24:6","nodeType":"YulFunctionCall","src":"21011:24:6"},{"name":"q","nativeSrc":"21037:1:6","nodeType":"YulIdentifier","src":"21037:1:6"}],"functionName":{"name":"addmod","nativeSrc":"21000:6:6","nodeType":"YulIdentifier","src":"21000:6:6"},"nativeSrc":"21000:39:6","nodeType":"YulFunctionCall","src":"21000:39:6"},"variableNames":[{"name":"s1","nativeSrc":"20994:2:6","nodeType":"YulIdentifier","src":"20994:2:6"}]},{"nativeSrc":"21056:21:6","nodeType":"YulAssignment","src":"21056:21:6","value":{"arguments":[{"name":"s","nativeSrc":"21068:1:6","nodeType":"YulIdentifier","src":"21068:1:6"},{"name":"s1","nativeSrc":"21071:2:6","nodeType":"YulIdentifier","src":"21071:2:6"},{"name":"q","nativeSrc":"21075:1:6","nodeType":"YulIdentifier","src":"21075:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"21061:6:6","nodeType":"YulIdentifier","src":"21061:6:6"},"nativeSrc":"21061:16:6","nodeType":"YulFunctionCall","src":"21061:16:6"},"variableNames":[{"name":"s","nativeSrc":"21056:1:6","nodeType":"YulIdentifier","src":"21056:1:6"}]},{"nativeSrc":"21094:43:6","nodeType":"YulAssignment","src":"21094:43:6","value":{"arguments":[{"name":"s","nativeSrc":"21106:1:6","nodeType":"YulIdentifier","src":"21106:1:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21119:4:6","nodeType":"YulIdentifier","src":"21119:4:6"},{"name":"pAlpha","nativeSrc":"21125:6:6","nodeType":"YulIdentifier","src":"21125:6:6"}],"functionName":{"name":"add","nativeSrc":"21115:3:6","nodeType":"YulIdentifier","src":"21115:3:6"},"nativeSrc":"21115:17:6","nodeType":"YulFunctionCall","src":"21115:17:6"}],"functionName":{"name":"mload","nativeSrc":"21109:5:6","nodeType":"YulIdentifier","src":"21109:5:6"},"nativeSrc":"21109:24:6","nodeType":"YulFunctionCall","src":"21109:24:6"},{"name":"q","nativeSrc":"21135:1:6","nodeType":"YulIdentifier","src":"21135:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"21099:6:6","nodeType":"YulIdentifier","src":"21099:6:6"},"nativeSrc":"21099:38:6","nodeType":"YulFunctionCall","src":"21099:38:6"},"variableNames":[{"name":"s","nativeSrc":"21094:1:6","nodeType":"YulIdentifier","src":"21094:1:6"}]},{"nativeSrc":"21154:40:6","nodeType":"YulAssignment","src":"21154:40:6","value":{"arguments":[{"name":"s","nativeSrc":"21166:1:6","nodeType":"YulIdentifier","src":"21166:1:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21179:4:6","nodeType":"YulIdentifier","src":"21179:4:6"},{"name":"pV1","nativeSrc":"21185:3:6","nodeType":"YulIdentifier","src":"21185:3:6"}],"functionName":{"name":"add","nativeSrc":"21175:3:6","nodeType":"YulIdentifier","src":"21175:3:6"},"nativeSrc":"21175:14:6","nodeType":"YulFunctionCall","src":"21175:14:6"}],"functionName":{"name":"mload","nativeSrc":"21169:5:6","nodeType":"YulIdentifier","src":"21169:5:6"},"nativeSrc":"21169:21:6","nodeType":"YulFunctionCall","src":"21169:21:6"},{"name":"q","nativeSrc":"21192:1:6","nodeType":"YulIdentifier","src":"21192:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"21159:6:6","nodeType":"YulIdentifier","src":"21159:6:6"},"nativeSrc":"21159:35:6","nodeType":"YulFunctionCall","src":"21159:35:6"},"variableNames":[{"name":"s","nativeSrc":"21154:1:6","nodeType":"YulIdentifier","src":"21154:1:6"}]},{"nativeSrc":"21211:42:6","nodeType":"YulAssignment","src":"21211:42:6","value":{"arguments":[{"name":"s","nativeSrc":"21223:1:6","nodeType":"YulIdentifier","src":"21223:1:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21236:4:6","nodeType":"YulIdentifier","src":"21236:4:6"},{"name":"pBeta","nativeSrc":"21242:5:6","nodeType":"YulIdentifier","src":"21242:5:6"}],"functionName":{"name":"add","nativeSrc":"21232:3:6","nodeType":"YulIdentifier","src":"21232:3:6"},"nativeSrc":"21232:16:6","nodeType":"YulFunctionCall","src":"21232:16:6"}],"functionName":{"name":"mload","nativeSrc":"21226:5:6","nodeType":"YulIdentifier","src":"21226:5:6"},"nativeSrc":"21226:23:6","nodeType":"YulFunctionCall","src":"21226:23:6"},{"name":"q","nativeSrc":"21251:1:6","nodeType":"YulIdentifier","src":"21251:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"21216:6:6","nodeType":"YulIdentifier","src":"21216:6:6"},"nativeSrc":"21216:37:6","nodeType":"YulFunctionCall","src":"21216:37:6"},"variableNames":[{"name":"s","nativeSrc":"21211:1:6","nodeType":"YulIdentifier","src":"21211:1:6"}]},{"nativeSrc":"21270:47:6","nodeType":"YulAssignment","src":"21270:47:6","value":{"arguments":[{"name":"s","nativeSrc":"21282:1:6","nodeType":"YulIdentifier","src":"21282:1:6"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"21295:6:6","nodeType":"YulIdentifier","src":"21295:6:6"},{"name":"pEval_zw","nativeSrc":"21303:8:6","nodeType":"YulIdentifier","src":"21303:8:6"}],"functionName":{"name":"add","nativeSrc":"21291:3:6","nodeType":"YulIdentifier","src":"21291:3:6"},"nativeSrc":"21291:21:6","nodeType":"YulFunctionCall","src":"21291:21:6"}],"functionName":{"name":"mload","nativeSrc":"21285:5:6","nodeType":"YulIdentifier","src":"21285:5:6"},"nativeSrc":"21285:28:6","nodeType":"YulFunctionCall","src":"21285:28:6"},{"name":"q","nativeSrc":"21315:1:6","nodeType":"YulIdentifier","src":"21315:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"21275:6:6","nodeType":"YulIdentifier","src":"21275:6:6"},"nativeSrc":"21275:42:6","nodeType":"YulFunctionCall","src":"21275:42:6"},"variableNames":[{"name":"s","nativeSrc":"21270:1:6","nodeType":"YulIdentifier","src":"21270:1:6"}]},{"nativeSrc":"21334:22:6","nodeType":"YulAssignment","src":"21334:22:6","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"21347:1:6","nodeType":"YulIdentifier","src":"21347:1:6"},{"name":"s","nativeSrc":"21350:1:6","nodeType":"YulIdentifier","src":"21350:1:6"}],"functionName":{"name":"sub","nativeSrc":"21343:3:6","nodeType":"YulIdentifier","src":"21343:3:6"},"nativeSrc":"21343:9:6","nodeType":"YulFunctionCall","src":"21343:9:6"},{"name":"q","nativeSrc":"21354:1:6","nodeType":"YulIdentifier","src":"21354:1:6"}],"functionName":{"name":"mod","nativeSrc":"21339:3:6","nodeType":"YulIdentifier","src":"21339:3:6"},"nativeSrc":"21339:17:6","nodeType":"YulFunctionCall","src":"21339:17:6"},"variableNames":[{"name":"s","nativeSrc":"21334:1:6","nodeType":"YulIdentifier","src":"21334:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21384:1:6","nodeType":"YulIdentifier","src":"21384:1:6"},{"name":"S3x","nativeSrc":"21387:3:6","nodeType":"YulIdentifier","src":"21387:3:6"},{"name":"S3y","nativeSrc":"21392:3:6","nodeType":"YulIdentifier","src":"21392:3:6"},{"name":"s","nativeSrc":"21397:1:6","nodeType":"YulIdentifier","src":"21397:1:6"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21373:10:6","nodeType":"YulIdentifier","src":"21373:10:6"},"nativeSrc":"21373:26:6","nodeType":"YulFunctionCall","src":"21373:26:6"},"nativeSrc":"21373:26:6","nodeType":"YulExpressionStatement","src":"21373:26:6"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21456:1:6","nodeType":"YulIdentifier","src":"21456:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"21464:6:6","nodeType":"YulIdentifier","src":"21464:6:6"},{"name":"pT1","nativeSrc":"21472:3:6","nodeType":"YulIdentifier","src":"21472:3:6"}],"functionName":{"name":"add","nativeSrc":"21460:3:6","nodeType":"YulIdentifier","src":"21460:3:6"},"nativeSrc":"21460:16:6","nodeType":"YulFunctionCall","src":"21460:16:6"}],"functionName":{"name":"g1_acc","nativeSrc":"21449:6:6","nodeType":"YulIdentifier","src":"21449:6:6"},"nativeSrc":"21449:28:6","nodeType":"YulFunctionCall","src":"21449:28:6"},"nativeSrc":"21449:28:6","nodeType":"YulExpressionStatement","src":"21449:28:6"},{"nativeSrc":"21495:27:6","nodeType":"YulAssignment","src":"21495:27:6","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21510:4:6","nodeType":"YulIdentifier","src":"21510:4:6"},{"name":"pXin","nativeSrc":"21516:4:6","nodeType":"YulIdentifier","src":"21516:4:6"}],"functionName":{"name":"add","nativeSrc":"21506:3:6","nodeType":"YulIdentifier","src":"21506:3:6"},"nativeSrc":"21506:15:6","nodeType":"YulFunctionCall","src":"21506:15:6"}],"functionName":{"name":"mload","nativeSrc":"21500:5:6","nodeType":"YulIdentifier","src":"21500:5:6"},"nativeSrc":"21500:22:6","nodeType":"YulFunctionCall","src":"21500:22:6"},"variableNames":[{"name":"s","nativeSrc":"21495:1:6","nodeType":"YulIdentifier","src":"21495:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21549:1:6","nodeType":"YulIdentifier","src":"21549:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"21556:6:6","nodeType":"YulIdentifier","src":"21556:6:6"},{"name":"pT2","nativeSrc":"21564:3:6","nodeType":"YulIdentifier","src":"21564:3:6"}],"functionName":{"name":"add","nativeSrc":"21552:3:6","nodeType":"YulIdentifier","src":"21552:3:6"},"nativeSrc":"21552:16:6","nodeType":"YulFunctionCall","src":"21552:16:6"},{"name":"s","nativeSrc":"21570:1:6","nodeType":"YulIdentifier","src":"21570:1:6"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21539:9:6","nodeType":"YulIdentifier","src":"21539:9:6"},"nativeSrc":"21539:33:6","nodeType":"YulFunctionCall","src":"21539:33:6"},"nativeSrc":"21539:33:6","nodeType":"YulExpressionStatement","src":"21539:33:6"},{"nativeSrc":"21606:20:6","nodeType":"YulAssignment","src":"21606:20:6","value":{"arguments":[{"name":"s","nativeSrc":"21618:1:6","nodeType":"YulIdentifier","src":"21618:1:6"},{"name":"s","nativeSrc":"21621:1:6","nodeType":"YulIdentifier","src":"21621:1:6"},{"name":"q","nativeSrc":"21624:1:6","nodeType":"YulIdentifier","src":"21624:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"21611:6:6","nodeType":"YulIdentifier","src":"21611:6:6"},"nativeSrc":"21611:15:6","nodeType":"YulFunctionCall","src":"21611:15:6"},"variableNames":[{"name":"s","nativeSrc":"21606:1:6","nodeType":"YulIdentifier","src":"21606:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21653:1:6","nodeType":"YulIdentifier","src":"21653:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"21660:6:6","nodeType":"YulIdentifier","src":"21660:6:6"},{"name":"pT3","nativeSrc":"21668:3:6","nodeType":"YulIdentifier","src":"21668:3:6"}],"functionName":{"name":"add","nativeSrc":"21656:3:6","nodeType":"YulIdentifier","src":"21656:3:6"},"nativeSrc":"21656:16:6","nodeType":"YulFunctionCall","src":"21656:16:6"},{"name":"s","nativeSrc":"21674:1:6","nodeType":"YulIdentifier","src":"21674:1:6"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21643:9:6","nodeType":"YulIdentifier","src":"21643:9:6"},"nativeSrc":"21643:33:6","nodeType":"YulFunctionCall","src":"21643:33:6"},"nativeSrc":"21643:33:6","nodeType":"YulExpressionStatement","src":"21643:33:6"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21720:1:6","nodeType":"YulIdentifier","src":"21720:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"21727:6:6","nodeType":"YulIdentifier","src":"21727:6:6"},{"name":"pA","nativeSrc":"21735:2:6","nodeType":"YulIdentifier","src":"21735:2:6"}],"functionName":{"name":"add","nativeSrc":"21723:3:6","nodeType":"YulIdentifier","src":"21723:3:6"},"nativeSrc":"21723:15:6","nodeType":"YulFunctionCall","src":"21723:15:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21750:4:6","nodeType":"YulIdentifier","src":"21750:4:6"},{"name":"pV2","nativeSrc":"21756:3:6","nodeType":"YulIdentifier","src":"21756:3:6"}],"functionName":{"name":"add","nativeSrc":"21746:3:6","nodeType":"YulIdentifier","src":"21746:3:6"},"nativeSrc":"21746:14:6","nodeType":"YulFunctionCall","src":"21746:14:6"}],"functionName":{"name":"mload","nativeSrc":"21740:5:6","nodeType":"YulIdentifier","src":"21740:5:6"},"nativeSrc":"21740:21:6","nodeType":"YulFunctionCall","src":"21740:21:6"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21710:9:6","nodeType":"YulIdentifier","src":"21710:9:6"},"nativeSrc":"21710:52:6","nodeType":"YulFunctionCall","src":"21710:52:6"},"nativeSrc":"21710:52:6","nodeType":"YulExpressionStatement","src":"21710:52:6"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21789:1:6","nodeType":"YulIdentifier","src":"21789:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"21796:6:6","nodeType":"YulIdentifier","src":"21796:6:6"},{"name":"pB","nativeSrc":"21804:2:6","nodeType":"YulIdentifier","src":"21804:2:6"}],"functionName":{"name":"add","nativeSrc":"21792:3:6","nodeType":"YulIdentifier","src":"21792:3:6"},"nativeSrc":"21792:15:6","nodeType":"YulFunctionCall","src":"21792:15:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21819:4:6","nodeType":"YulIdentifier","src":"21819:4:6"},{"name":"pV3","nativeSrc":"21825:3:6","nodeType":"YulIdentifier","src":"21825:3:6"}],"functionName":{"name":"add","nativeSrc":"21815:3:6","nodeType":"YulIdentifier","src":"21815:3:6"},"nativeSrc":"21815:14:6","nodeType":"YulFunctionCall","src":"21815:14:6"}],"functionName":{"name":"mload","nativeSrc":"21809:5:6","nodeType":"YulIdentifier","src":"21809:5:6"},"nativeSrc":"21809:21:6","nodeType":"YulFunctionCall","src":"21809:21:6"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21779:9:6","nodeType":"YulIdentifier","src":"21779:9:6"},"nativeSrc":"21779:52:6","nodeType":"YulFunctionCall","src":"21779:52:6"},"nativeSrc":"21779:52:6","nodeType":"YulExpressionStatement","src":"21779:52:6"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21858:1:6","nodeType":"YulIdentifier","src":"21858:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"21865:6:6","nodeType":"YulIdentifier","src":"21865:6:6"},{"name":"pC","nativeSrc":"21873:2:6","nodeType":"YulIdentifier","src":"21873:2:6"}],"functionName":{"name":"add","nativeSrc":"21861:3:6","nodeType":"YulIdentifier","src":"21861:3:6"},"nativeSrc":"21861:15:6","nodeType":"YulFunctionCall","src":"21861:15:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21888:4:6","nodeType":"YulIdentifier","src":"21888:4:6"},{"name":"pV4","nativeSrc":"21894:3:6","nodeType":"YulIdentifier","src":"21894:3:6"}],"functionName":{"name":"add","nativeSrc":"21884:3:6","nodeType":"YulIdentifier","src":"21884:3:6"},"nativeSrc":"21884:14:6","nodeType":"YulFunctionCall","src":"21884:14:6"}],"functionName":{"name":"mload","nativeSrc":"21878:5:6","nodeType":"YulIdentifier","src":"21878:5:6"},"nativeSrc":"21878:21:6","nodeType":"YulFunctionCall","src":"21878:21:6"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21848:9:6","nodeType":"YulIdentifier","src":"21848:9:6"},"nativeSrc":"21848:52:6","nodeType":"YulFunctionCall","src":"21848:52:6"},"nativeSrc":"21848:52:6","nodeType":"YulExpressionStatement","src":"21848:52:6"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21928:1:6","nodeType":"YulIdentifier","src":"21928:1:6"},{"name":"S1x","nativeSrc":"21931:3:6","nodeType":"YulIdentifier","src":"21931:3:6"},{"name":"S1y","nativeSrc":"21936:3:6","nodeType":"YulIdentifier","src":"21936:3:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21951:4:6","nodeType":"YulIdentifier","src":"21951:4:6"},{"name":"pV5","nativeSrc":"21957:3:6","nodeType":"YulIdentifier","src":"21957:3:6"}],"functionName":{"name":"add","nativeSrc":"21947:3:6","nodeType":"YulIdentifier","src":"21947:3:6"},"nativeSrc":"21947:14:6","nodeType":"YulFunctionCall","src":"21947:14:6"}],"functionName":{"name":"mload","nativeSrc":"21941:5:6","nodeType":"YulIdentifier","src":"21941:5:6"},"nativeSrc":"21941:21:6","nodeType":"YulFunctionCall","src":"21941:21:6"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21917:10:6","nodeType":"YulIdentifier","src":"21917:10:6"},"nativeSrc":"21917:46:6","nodeType":"YulFunctionCall","src":"21917:46:6"},"nativeSrc":"21917:46:6","nodeType":"YulExpressionStatement","src":"21917:46:6"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21991:1:6","nodeType":"YulIdentifier","src":"21991:1:6"},{"name":"S2x","nativeSrc":"21994:3:6","nodeType":"YulIdentifier","src":"21994:3:6"},{"name":"S2y","nativeSrc":"21999:3:6","nodeType":"YulIdentifier","src":"21999:3:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22014:4:6","nodeType":"YulIdentifier","src":"22014:4:6"},{"name":"pV6","nativeSrc":"22020:3:6","nodeType":"YulIdentifier","src":"22020:3:6"}],"functionName":{"name":"add","nativeSrc":"22010:3:6","nodeType":"YulIdentifier","src":"22010:3:6"},"nativeSrc":"22010:14:6","nodeType":"YulFunctionCall","src":"22010:14:6"}],"functionName":{"name":"mload","nativeSrc":"22004:5:6","nodeType":"YulIdentifier","src":"22004:5:6"},"nativeSrc":"22004:21:6","nodeType":"YulFunctionCall","src":"22004:21:6"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21980:10:6","nodeType":"YulIdentifier","src":"21980:10:6"},"nativeSrc":"21980:46:6","nodeType":"YulFunctionCall","src":"21980:46:6"},"nativeSrc":"21980:46:6","nodeType":"YulExpressionStatement","src":"21980:46:6"},{"nativeSrc":"22091:30:6","nodeType":"YulAssignment","src":"22091:30:6","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22106:4:6","nodeType":"YulIdentifier","src":"22106:4:6"},{"name":"pEval_t","nativeSrc":"22112:7:6","nodeType":"YulIdentifier","src":"22112:7:6"}],"functionName":{"name":"add","nativeSrc":"22102:3:6","nodeType":"YulIdentifier","src":"22102:3:6"},"nativeSrc":"22102:18:6","nodeType":"YulFunctionCall","src":"22102:18:6"}],"functionName":{"name":"mload","nativeSrc":"22096:5:6","nodeType":"YulIdentifier","src":"22096:5:6"},"nativeSrc":"22096:25:6","nodeType":"YulFunctionCall","src":"22096:25:6"},"variableNames":[{"name":"s","nativeSrc":"22091:1:6","nodeType":"YulIdentifier","src":"22091:1:6"}]},{"nativeSrc":"22138:80:6","nodeType":"YulAssignment","src":"22138:80:6","value":{"arguments":[{"name":"s","nativeSrc":"22150:1:6","nodeType":"YulIdentifier","src":"22150:1:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22170:6:6","nodeType":"YulIdentifier","src":"22170:6:6"},{"name":"pEval_r","nativeSrc":"22178:7:6","nodeType":"YulIdentifier","src":"22178:7:6"}],"functionName":{"name":"add","nativeSrc":"22166:3:6","nodeType":"YulIdentifier","src":"22166:3:6"},"nativeSrc":"22166:20:6","nodeType":"YulFunctionCall","src":"22166:20:6"}],"functionName":{"name":"mload","nativeSrc":"22160:5:6","nodeType":"YulIdentifier","src":"22160:5:6"},"nativeSrc":"22160:27:6","nodeType":"YulFunctionCall","src":"22160:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22199:4:6","nodeType":"YulIdentifier","src":"22199:4:6"},{"name":"pV1","nativeSrc":"22205:3:6","nodeType":"YulIdentifier","src":"22205:3:6"}],"functionName":{"name":"add","nativeSrc":"22195:3:6","nodeType":"YulIdentifier","src":"22195:3:6"},"nativeSrc":"22195:14:6","nodeType":"YulFunctionCall","src":"22195:14:6"}],"functionName":{"name":"mload","nativeSrc":"22189:5:6","nodeType":"YulIdentifier","src":"22189:5:6"},"nativeSrc":"22189:21:6","nodeType":"YulFunctionCall","src":"22189:21:6"},{"name":"q","nativeSrc":"22212:1:6","nodeType":"YulIdentifier","src":"22212:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"22153:6:6","nodeType":"YulIdentifier","src":"22153:6:6"},"nativeSrc":"22153:61:6","nodeType":"YulFunctionCall","src":"22153:61:6"},{"name":"q","nativeSrc":"22216:1:6","nodeType":"YulIdentifier","src":"22216:1:6"}],"functionName":{"name":"addmod","nativeSrc":"22143:6:6","nodeType":"YulIdentifier","src":"22143:6:6"},"nativeSrc":"22143:75:6","nodeType":"YulFunctionCall","src":"22143:75:6"},"variableNames":[{"name":"s","nativeSrc":"22138:1:6","nodeType":"YulIdentifier","src":"22138:1:6"}]},{"nativeSrc":"22235:80:6","nodeType":"YulAssignment","src":"22235:80:6","value":{"arguments":[{"name":"s","nativeSrc":"22247:1:6","nodeType":"YulIdentifier","src":"22247:1:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22267:6:6","nodeType":"YulIdentifier","src":"22267:6:6"},{"name":"pEval_a","nativeSrc":"22275:7:6","nodeType":"YulIdentifier","src":"22275:7:6"}],"functionName":{"name":"add","nativeSrc":"22263:3:6","nodeType":"YulIdentifier","src":"22263:3:6"},"nativeSrc":"22263:20:6","nodeType":"YulFunctionCall","src":"22263:20:6"}],"functionName":{"name":"mload","nativeSrc":"22257:5:6","nodeType":"YulIdentifier","src":"22257:5:6"},"nativeSrc":"22257:27:6","nodeType":"YulFunctionCall","src":"22257:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22296:4:6","nodeType":"YulIdentifier","src":"22296:4:6"},{"name":"pV2","nativeSrc":"22302:3:6","nodeType":"YulIdentifier","src":"22302:3:6"}],"functionName":{"name":"add","nativeSrc":"22292:3:6","nodeType":"YulIdentifier","src":"22292:3:6"},"nativeSrc":"22292:14:6","nodeType":"YulFunctionCall","src":"22292:14:6"}],"functionName":{"name":"mload","nativeSrc":"22286:5:6","nodeType":"YulIdentifier","src":"22286:5:6"},"nativeSrc":"22286:21:6","nodeType":"YulFunctionCall","src":"22286:21:6"},{"name":"q","nativeSrc":"22309:1:6","nodeType":"YulIdentifier","src":"22309:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"22250:6:6","nodeType":"YulIdentifier","src":"22250:6:6"},"nativeSrc":"22250:61:6","nodeType":"YulFunctionCall","src":"22250:61:6"},{"name":"q","nativeSrc":"22313:1:6","nodeType":"YulIdentifier","src":"22313:1:6"}],"functionName":{"name":"addmod","nativeSrc":"22240:6:6","nodeType":"YulIdentifier","src":"22240:6:6"},"nativeSrc":"22240:75:6","nodeType":"YulFunctionCall","src":"22240:75:6"},"variableNames":[{"name":"s","nativeSrc":"22235:1:6","nodeType":"YulIdentifier","src":"22235:1:6"}]},{"nativeSrc":"22332:80:6","nodeType":"YulAssignment","src":"22332:80:6","value":{"arguments":[{"name":"s","nativeSrc":"22344:1:6","nodeType":"YulIdentifier","src":"22344:1:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22364:6:6","nodeType":"YulIdentifier","src":"22364:6:6"},{"name":"pEval_b","nativeSrc":"22372:7:6","nodeType":"YulIdentifier","src":"22372:7:6"}],"functionName":{"name":"add","nativeSrc":"22360:3:6","nodeType":"YulIdentifier","src":"22360:3:6"},"nativeSrc":"22360:20:6","nodeType":"YulFunctionCall","src":"22360:20:6"}],"functionName":{"name":"mload","nativeSrc":"22354:5:6","nodeType":"YulIdentifier","src":"22354:5:6"},"nativeSrc":"22354:27:6","nodeType":"YulFunctionCall","src":"22354:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22393:4:6","nodeType":"YulIdentifier","src":"22393:4:6"},{"name":"pV3","nativeSrc":"22399:3:6","nodeType":"YulIdentifier","src":"22399:3:6"}],"functionName":{"name":"add","nativeSrc":"22389:3:6","nodeType":"YulIdentifier","src":"22389:3:6"},"nativeSrc":"22389:14:6","nodeType":"YulFunctionCall","src":"22389:14:6"}],"functionName":{"name":"mload","nativeSrc":"22383:5:6","nodeType":"YulIdentifier","src":"22383:5:6"},"nativeSrc":"22383:21:6","nodeType":"YulFunctionCall","src":"22383:21:6"},{"name":"q","nativeSrc":"22406:1:6","nodeType":"YulIdentifier","src":"22406:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"22347:6:6","nodeType":"YulIdentifier","src":"22347:6:6"},"nativeSrc":"22347:61:6","nodeType":"YulFunctionCall","src":"22347:61:6"},{"name":"q","nativeSrc":"22410:1:6","nodeType":"YulIdentifier","src":"22410:1:6"}],"functionName":{"name":"addmod","nativeSrc":"22337:6:6","nodeType":"YulIdentifier","src":"22337:6:6"},"nativeSrc":"22337:75:6","nodeType":"YulFunctionCall","src":"22337:75:6"},"variableNames":[{"name":"s","nativeSrc":"22332:1:6","nodeType":"YulIdentifier","src":"22332:1:6"}]},{"nativeSrc":"22429:80:6","nodeType":"YulAssignment","src":"22429:80:6","value":{"arguments":[{"name":"s","nativeSrc":"22441:1:6","nodeType":"YulIdentifier","src":"22441:1:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22461:6:6","nodeType":"YulIdentifier","src":"22461:6:6"},{"name":"pEval_c","nativeSrc":"22469:7:6","nodeType":"YulIdentifier","src":"22469:7:6"}],"functionName":{"name":"add","nativeSrc":"22457:3:6","nodeType":"YulIdentifier","src":"22457:3:6"},"nativeSrc":"22457:20:6","nodeType":"YulFunctionCall","src":"22457:20:6"}],"functionName":{"name":"mload","nativeSrc":"22451:5:6","nodeType":"YulIdentifier","src":"22451:5:6"},"nativeSrc":"22451:27:6","nodeType":"YulFunctionCall","src":"22451:27:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22490:4:6","nodeType":"YulIdentifier","src":"22490:4:6"},{"name":"pV4","nativeSrc":"22496:3:6","nodeType":"YulIdentifier","src":"22496:3:6"}],"functionName":{"name":"add","nativeSrc":"22486:3:6","nodeType":"YulIdentifier","src":"22486:3:6"},"nativeSrc":"22486:14:6","nodeType":"YulFunctionCall","src":"22486:14:6"}],"functionName":{"name":"mload","nativeSrc":"22480:5:6","nodeType":"YulIdentifier","src":"22480:5:6"},"nativeSrc":"22480:21:6","nodeType":"YulFunctionCall","src":"22480:21:6"},{"name":"q","nativeSrc":"22503:1:6","nodeType":"YulIdentifier","src":"22503:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"22444:6:6","nodeType":"YulIdentifier","src":"22444:6:6"},"nativeSrc":"22444:61:6","nodeType":"YulFunctionCall","src":"22444:61:6"},{"name":"q","nativeSrc":"22507:1:6","nodeType":"YulIdentifier","src":"22507:1:6"}],"functionName":{"name":"addmod","nativeSrc":"22434:6:6","nodeType":"YulIdentifier","src":"22434:6:6"},"nativeSrc":"22434:75:6","nodeType":"YulFunctionCall","src":"22434:75:6"},"variableNames":[{"name":"s","nativeSrc":"22429:1:6","nodeType":"YulIdentifier","src":"22429:1:6"}]},{"nativeSrc":"22526:81:6","nodeType":"YulAssignment","src":"22526:81:6","value":{"arguments":[{"name":"s","nativeSrc":"22538:1:6","nodeType":"YulIdentifier","src":"22538:1:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22558:6:6","nodeType":"YulIdentifier","src":"22558:6:6"},{"name":"pEval_s1","nativeSrc":"22566:8:6","nodeType":"YulIdentifier","src":"22566:8:6"}],"functionName":{"name":"add","nativeSrc":"22554:3:6","nodeType":"YulIdentifier","src":"22554:3:6"},"nativeSrc":"22554:21:6","nodeType":"YulFunctionCall","src":"22554:21:6"}],"functionName":{"name":"mload","nativeSrc":"22548:5:6","nodeType":"YulIdentifier","src":"22548:5:6"},"nativeSrc":"22548:28:6","nodeType":"YulFunctionCall","src":"22548:28:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22588:4:6","nodeType":"YulIdentifier","src":"22588:4:6"},{"name":"pV5","nativeSrc":"22594:3:6","nodeType":"YulIdentifier","src":"22594:3:6"}],"functionName":{"name":"add","nativeSrc":"22584:3:6","nodeType":"YulIdentifier","src":"22584:3:6"},"nativeSrc":"22584:14:6","nodeType":"YulFunctionCall","src":"22584:14:6"}],"functionName":{"name":"mload","nativeSrc":"22578:5:6","nodeType":"YulIdentifier","src":"22578:5:6"},"nativeSrc":"22578:21:6","nodeType":"YulFunctionCall","src":"22578:21:6"},{"name":"q","nativeSrc":"22601:1:6","nodeType":"YulIdentifier","src":"22601:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"22541:6:6","nodeType":"YulIdentifier","src":"22541:6:6"},"nativeSrc":"22541:62:6","nodeType":"YulFunctionCall","src":"22541:62:6"},{"name":"q","nativeSrc":"22605:1:6","nodeType":"YulIdentifier","src":"22605:1:6"}],"functionName":{"name":"addmod","nativeSrc":"22531:6:6","nodeType":"YulIdentifier","src":"22531:6:6"},"nativeSrc":"22531:76:6","nodeType":"YulFunctionCall","src":"22531:76:6"},"variableNames":[{"name":"s","nativeSrc":"22526:1:6","nodeType":"YulIdentifier","src":"22526:1:6"}]},{"nativeSrc":"22624:81:6","nodeType":"YulAssignment","src":"22624:81:6","value":{"arguments":[{"name":"s","nativeSrc":"22636:1:6","nodeType":"YulIdentifier","src":"22636:1:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22656:6:6","nodeType":"YulIdentifier","src":"22656:6:6"},{"name":"pEval_s2","nativeSrc":"22664:8:6","nodeType":"YulIdentifier","src":"22664:8:6"}],"functionName":{"name":"add","nativeSrc":"22652:3:6","nodeType":"YulIdentifier","src":"22652:3:6"},"nativeSrc":"22652:21:6","nodeType":"YulFunctionCall","src":"22652:21:6"}],"functionName":{"name":"mload","nativeSrc":"22646:5:6","nodeType":"YulIdentifier","src":"22646:5:6"},"nativeSrc":"22646:28:6","nodeType":"YulFunctionCall","src":"22646:28:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22686:4:6","nodeType":"YulIdentifier","src":"22686:4:6"},{"name":"pV6","nativeSrc":"22692:3:6","nodeType":"YulIdentifier","src":"22692:3:6"}],"functionName":{"name":"add","nativeSrc":"22682:3:6","nodeType":"YulIdentifier","src":"22682:3:6"},"nativeSrc":"22682:14:6","nodeType":"YulFunctionCall","src":"22682:14:6"}],"functionName":{"name":"mload","nativeSrc":"22676:5:6","nodeType":"YulIdentifier","src":"22676:5:6"},"nativeSrc":"22676:21:6","nodeType":"YulFunctionCall","src":"22676:21:6"},{"name":"q","nativeSrc":"22699:1:6","nodeType":"YulIdentifier","src":"22699:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"22639:6:6","nodeType":"YulIdentifier","src":"22639:6:6"},"nativeSrc":"22639:62:6","nodeType":"YulFunctionCall","src":"22639:62:6"},{"name":"q","nativeSrc":"22703:1:6","nodeType":"YulIdentifier","src":"22703:1:6"}],"functionName":{"name":"addmod","nativeSrc":"22629:6:6","nodeType":"YulIdentifier","src":"22629:6:6"},"nativeSrc":"22629:76:6","nodeType":"YulFunctionCall","src":"22629:76:6"},"variableNames":[{"name":"s","nativeSrc":"22624:1:6","nodeType":"YulIdentifier","src":"22624:1:6"}]},{"nativeSrc":"22722:80:6","nodeType":"YulAssignment","src":"22722:80:6","value":{"arguments":[{"name":"s","nativeSrc":"22734:1:6","nodeType":"YulIdentifier","src":"22734:1:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22754:6:6","nodeType":"YulIdentifier","src":"22754:6:6"},{"name":"pEval_zw","nativeSrc":"22762:8:6","nodeType":"YulIdentifier","src":"22762:8:6"}],"functionName":{"name":"add","nativeSrc":"22750:3:6","nodeType":"YulIdentifier","src":"22750:3:6"},"nativeSrc":"22750:21:6","nodeType":"YulFunctionCall","src":"22750:21:6"}],"functionName":{"name":"mload","nativeSrc":"22744:5:6","nodeType":"YulIdentifier","src":"22744:5:6"},"nativeSrc":"22744:28:6","nodeType":"YulFunctionCall","src":"22744:28:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22784:4:6","nodeType":"YulIdentifier","src":"22784:4:6"},{"name":"pU","nativeSrc":"22790:2:6","nodeType":"YulIdentifier","src":"22790:2:6"}],"functionName":{"name":"add","nativeSrc":"22780:3:6","nodeType":"YulIdentifier","src":"22780:3:6"},"nativeSrc":"22780:13:6","nodeType":"YulFunctionCall","src":"22780:13:6"}],"functionName":{"name":"mload","nativeSrc":"22774:5:6","nodeType":"YulIdentifier","src":"22774:5:6"},"nativeSrc":"22774:20:6","nodeType":"YulFunctionCall","src":"22774:20:6"},{"name":"q","nativeSrc":"22796:1:6","nodeType":"YulIdentifier","src":"22796:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"22737:6:6","nodeType":"YulIdentifier","src":"22737:6:6"},"nativeSrc":"22737:61:6","nodeType":"YulFunctionCall","src":"22737:61:6"},{"name":"q","nativeSrc":"22800:1:6","nodeType":"YulIdentifier","src":"22800:1:6"}],"functionName":{"name":"addmod","nativeSrc":"22727:6:6","nodeType":"YulIdentifier","src":"22727:6:6"},"nativeSrc":"22727:75:6","nodeType":"YulFunctionCall","src":"22727:75:6"},"variableNames":[{"name":"s","nativeSrc":"22722:1:6","nodeType":"YulIdentifier","src":"22722:1:6"}]},{"nativeSrc":"22819:22:6","nodeType":"YulAssignment","src":"22819:22:6","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"22832:1:6","nodeType":"YulIdentifier","src":"22832:1:6"},{"name":"s","nativeSrc":"22835:1:6","nodeType":"YulIdentifier","src":"22835:1:6"}],"functionName":{"name":"sub","nativeSrc":"22828:3:6","nodeType":"YulIdentifier","src":"22828:3:6"},"nativeSrc":"22828:9:6","nodeType":"YulFunctionCall","src":"22828:9:6"},{"name":"q","nativeSrc":"22839:1:6","nodeType":"YulIdentifier","src":"22839:1:6"}],"functionName":{"name":"mod","nativeSrc":"22824:3:6","nodeType":"YulIdentifier","src":"22824:3:6"},"nativeSrc":"22824:17:6","nodeType":"YulFunctionCall","src":"22824:17:6"},"variableNames":[{"name":"s","nativeSrc":"22819:1:6","nodeType":"YulIdentifier","src":"22819:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"22869:1:6","nodeType":"YulIdentifier","src":"22869:1:6"},{"name":"G1x","nativeSrc":"22872:3:6","nodeType":"YulIdentifier","src":"22872:3:6"},{"name":"G1y","nativeSrc":"22877:3:6","nodeType":"YulIdentifier","src":"22877:3:6"},{"name":"s","nativeSrc":"22882:1:6","nodeType":"YulIdentifier","src":"22882:1:6"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"22858:10:6","nodeType":"YulIdentifier","src":"22858:10:6"},"nativeSrc":"22858:26:6","nodeType":"YulFunctionCall","src":"22858:26:6"},"nativeSrc":"22858:26:6","nodeType":"YulExpressionStatement","src":"22858:26:6"},{"nativeSrc":"22969:26:6","nodeType":"YulAssignment","src":"22969:26:6","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22984:4:6","nodeType":"YulIdentifier","src":"22984:4:6"},{"name":"pXi","nativeSrc":"22990:3:6","nodeType":"YulIdentifier","src":"22990:3:6"}],"functionName":{"name":"add","nativeSrc":"22980:3:6","nodeType":"YulIdentifier","src":"22980:3:6"},"nativeSrc":"22980:14:6","nodeType":"YulFunctionCall","src":"22980:14:6"}],"functionName":{"name":"mload","nativeSrc":"22974:5:6","nodeType":"YulIdentifier","src":"22974:5:6"},"nativeSrc":"22974:21:6","nodeType":"YulFunctionCall","src":"22974:21:6"},"variableNames":[{"name":"s","nativeSrc":"22969:1:6","nodeType":"YulIdentifier","src":"22969:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23022:1:6","nodeType":"YulIdentifier","src":"23022:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"23029:6:6","nodeType":"YulIdentifier","src":"23029:6:6"},{"name":"pWxi","nativeSrc":"23037:4:6","nodeType":"YulIdentifier","src":"23037:4:6"}],"functionName":{"name":"add","nativeSrc":"23025:3:6","nodeType":"YulIdentifier","src":"23025:3:6"},"nativeSrc":"23025:17:6","nodeType":"YulFunctionCall","src":"23025:17:6"},{"name":"s","nativeSrc":"23044:1:6","nodeType":"YulIdentifier","src":"23044:1:6"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23012:9:6","nodeType":"YulIdentifier","src":"23012:9:6"},"nativeSrc":"23012:34:6","nodeType":"YulFunctionCall","src":"23012:34:6"},"nativeSrc":"23012:34:6","nodeType":"YulExpressionStatement","src":"23012:34:6"},{"nativeSrc":"23064:59:6","nodeType":"YulAssignment","src":"23064:59:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23086:4:6","nodeType":"YulIdentifier","src":"23086:4:6"},{"name":"pU","nativeSrc":"23092:2:6","nodeType":"YulIdentifier","src":"23092:2:6"}],"functionName":{"name":"add","nativeSrc":"23082:3:6","nodeType":"YulIdentifier","src":"23082:3:6"},"nativeSrc":"23082:13:6","nodeType":"YulFunctionCall","src":"23082:13:6"}],"functionName":{"name":"mload","nativeSrc":"23076:5:6","nodeType":"YulIdentifier","src":"23076:5:6"},"nativeSrc":"23076:20:6","nodeType":"YulFunctionCall","src":"23076:20:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23108:4:6","nodeType":"YulIdentifier","src":"23108:4:6"},{"name":"pXi","nativeSrc":"23114:3:6","nodeType":"YulIdentifier","src":"23114:3:6"}],"functionName":{"name":"add","nativeSrc":"23104:3:6","nodeType":"YulIdentifier","src":"23104:3:6"},"nativeSrc":"23104:14:6","nodeType":"YulFunctionCall","src":"23104:14:6"}],"functionName":{"name":"mload","nativeSrc":"23098:5:6","nodeType":"YulIdentifier","src":"23098:5:6"},"nativeSrc":"23098:21:6","nodeType":"YulFunctionCall","src":"23098:21:6"},{"name":"q","nativeSrc":"23121:1:6","nodeType":"YulIdentifier","src":"23121:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"23069:6:6","nodeType":"YulIdentifier","src":"23069:6:6"},"nativeSrc":"23069:54:6","nodeType":"YulFunctionCall","src":"23069:54:6"},"variableNames":[{"name":"s","nativeSrc":"23064:1:6","nodeType":"YulIdentifier","src":"23064:1:6"}]},{"nativeSrc":"23140:21:6","nodeType":"YulAssignment","src":"23140:21:6","value":{"arguments":[{"name":"s","nativeSrc":"23152:1:6","nodeType":"YulIdentifier","src":"23152:1:6"},{"name":"w1","nativeSrc":"23155:2:6","nodeType":"YulIdentifier","src":"23155:2:6"},{"name":"q","nativeSrc":"23159:1:6","nodeType":"YulIdentifier","src":"23159:1:6"}],"functionName":{"name":"mulmod","nativeSrc":"23145:6:6","nodeType":"YulIdentifier","src":"23145:6:6"},"nativeSrc":"23145:16:6","nodeType":"YulFunctionCall","src":"23145:16:6"},"variableNames":[{"name":"s","nativeSrc":"23140:1:6","nodeType":"YulIdentifier","src":"23140:1:6"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23188:1:6","nodeType":"YulIdentifier","src":"23188:1:6"},{"arguments":[{"name":"pProof","nativeSrc":"23195:6:6","nodeType":"YulIdentifier","src":"23195:6:6"},{"name":"pWxiw","nativeSrc":"23203:5:6","nodeType":"YulIdentifier","src":"23203:5:6"}],"functionName":{"name":"add","nativeSrc":"23191:3:6","nodeType":"YulIdentifier","src":"23191:3:6"},"nativeSrc":"23191:18:6","nodeType":"YulFunctionCall","src":"23191:18:6"},{"name":"s","nativeSrc":"23211:1:6","nodeType":"YulIdentifier","src":"23211:1:6"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23178:9:6","nodeType":"YulIdentifier","src":"23178:9:6"},"nativeSrc":"23178:35:6","nodeType":"YulFunctionCall","src":"23178:35:6"},"nativeSrc":"23178:35:6","nodeType":"YulExpressionStatement","src":"23178:35:6"}]},"name":"calculateB1","nativeSrc":"18750:4478:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18771:6:6","nodeType":"YulTypedName","src":"18771:6:6","type":""},{"name":"pMem","nativeSrc":"18779:4:6","nodeType":"YulTypedName","src":"18779:4:6","type":""}],"src":"18750:4478:6"},{"body":{"nativeSrc":"23290:879:6","nodeType":"YulBlock","src":"23290:879:6","statements":[{"nativeSrc":"23308:22:6","nodeType":"YulVariableDeclaration","src":"23308:22:6","value":{"arguments":[{"kind":"number","nativeSrc":"23325:4:6","nodeType":"YulLiteral","src":"23325:4:6","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"23319:5:6","nodeType":"YulIdentifier","src":"23319:5:6"},"nativeSrc":"23319:11:6","nodeType":"YulFunctionCall","src":"23319:11:6"},"variables":[{"name":"mIn","nativeSrc":"23312:3:6","nodeType":"YulTypedName","src":"23312:3:6","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"23354:3:6","nodeType":"YulIdentifier","src":"23354:3:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23369:4:6","nodeType":"YulIdentifier","src":"23369:4:6"},{"name":"pA1","nativeSrc":"23375:3:6","nodeType":"YulIdentifier","src":"23375:3:6"}],"functionName":{"name":"add","nativeSrc":"23365:3:6","nodeType":"YulIdentifier","src":"23365:3:6"},"nativeSrc":"23365:14:6","nodeType":"YulFunctionCall","src":"23365:14:6"}],"functionName":{"name":"mload","nativeSrc":"23359:5:6","nodeType":"YulIdentifier","src":"23359:5:6"},"nativeSrc":"23359:21:6","nodeType":"YulFunctionCall","src":"23359:21:6"}],"functionName":{"name":"mstore","nativeSrc":"23347:6:6","nodeType":"YulIdentifier","src":"23347:6:6"},"nativeSrc":"23347:34:6","nodeType":"YulFunctionCall","src":"23347:34:6"},"nativeSrc":"23347:34:6","nodeType":"YulExpressionStatement","src":"23347:34:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23409:3:6","nodeType":"YulIdentifier","src":"23409:3:6"},{"kind":"number","nativeSrc":"23413:2:6","nodeType":"YulLiteral","src":"23413:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23405:3:6","nodeType":"YulIdentifier","src":"23405:3:6"},"nativeSrc":"23405:11:6","nodeType":"YulFunctionCall","src":"23405:11:6"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23432:4:6","nodeType":"YulIdentifier","src":"23432:4:6"},{"name":"pA1","nativeSrc":"23438:3:6","nodeType":"YulIdentifier","src":"23438:3:6"}],"functionName":{"name":"add","nativeSrc":"23428:3:6","nodeType":"YulIdentifier","src":"23428:3:6"},"nativeSrc":"23428:14:6","nodeType":"YulFunctionCall","src":"23428:14:6"},{"kind":"number","nativeSrc":"23444:2:6","nodeType":"YulLiteral","src":"23444:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23424:3:6","nodeType":"YulIdentifier","src":"23424:3:6"},"nativeSrc":"23424:23:6","nodeType":"YulFunctionCall","src":"23424:23:6"}],"functionName":{"name":"mload","nativeSrc":"23418:5:6","nodeType":"YulIdentifier","src":"23418:5:6"},"nativeSrc":"23418:30:6","nodeType":"YulFunctionCall","src":"23418:30:6"}],"functionName":{"name":"mstore","nativeSrc":"23398:6:6","nodeType":"YulIdentifier","src":"23398:6:6"},"nativeSrc":"23398:51:6","nodeType":"YulFunctionCall","src":"23398:51:6"},"nativeSrc":"23398:51:6","nodeType":"YulExpressionStatement","src":"23398:51:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23477:3:6","nodeType":"YulIdentifier","src":"23477:3:6"},{"kind":"number","nativeSrc":"23481:2:6","nodeType":"YulLiteral","src":"23481:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"23473:3:6","nodeType":"YulIdentifier","src":"23473:3:6"},"nativeSrc":"23473:11:6","nodeType":"YulFunctionCall","src":"23473:11:6"},{"name":"X2x2","nativeSrc":"23486:4:6","nodeType":"YulIdentifier","src":"23486:4:6"}],"functionName":{"name":"mstore","nativeSrc":"23466:6:6","nodeType":"YulIdentifier","src":"23466:6:6"},"nativeSrc":"23466:25:6","nodeType":"YulFunctionCall","src":"23466:25:6"},"nativeSrc":"23466:25:6","nodeType":"YulExpressionStatement","src":"23466:25:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23519:3:6","nodeType":"YulIdentifier","src":"23519:3:6"},{"kind":"number","nativeSrc":"23523:2:6","nodeType":"YulLiteral","src":"23523:2:6","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"23515:3:6","nodeType":"YulIdentifier","src":"23515:3:6"},"nativeSrc":"23515:11:6","nodeType":"YulFunctionCall","src":"23515:11:6"},{"name":"X2x1","nativeSrc":"23528:4:6","nodeType":"YulIdentifier","src":"23528:4:6"}],"functionName":{"name":"mstore","nativeSrc":"23508:6:6","nodeType":"YulIdentifier","src":"23508:6:6"},"nativeSrc":"23508:25:6","nodeType":"YulFunctionCall","src":"23508:25:6"},"nativeSrc":"23508:25:6","nodeType":"YulExpressionStatement","src":"23508:25:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23561:3:6","nodeType":"YulIdentifier","src":"23561:3:6"},{"kind":"number","nativeSrc":"23565:3:6","nodeType":"YulLiteral","src":"23565:3:6","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"23557:3:6","nodeType":"YulIdentifier","src":"23557:3:6"},"nativeSrc":"23557:12:6","nodeType":"YulFunctionCall","src":"23557:12:6"},{"name":"X2y2","nativeSrc":"23571:4:6","nodeType":"YulIdentifier","src":"23571:4:6"}],"functionName":{"name":"mstore","nativeSrc":"23550:6:6","nodeType":"YulIdentifier","src":"23550:6:6"},"nativeSrc":"23550:26:6","nodeType":"YulFunctionCall","src":"23550:26:6"},"nativeSrc":"23550:26:6","nodeType":"YulExpressionStatement","src":"23550:26:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23604:3:6","nodeType":"YulIdentifier","src":"23604:3:6"},{"kind":"number","nativeSrc":"23608:3:6","nodeType":"YulLiteral","src":"23608:3:6","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"23600:3:6","nodeType":"YulIdentifier","src":"23600:3:6"},"nativeSrc":"23600:12:6","nodeType":"YulFunctionCall","src":"23600:12:6"},{"name":"X2y1","nativeSrc":"23614:4:6","nodeType":"YulIdentifier","src":"23614:4:6"}],"functionName":{"name":"mstore","nativeSrc":"23593:6:6","nodeType":"YulIdentifier","src":"23593:6:6"},"nativeSrc":"23593:26:6","nodeType":"YulFunctionCall","src":"23593:26:6"},"nativeSrc":"23593:26:6","nodeType":"YulExpressionStatement","src":"23593:26:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23647:3:6","nodeType":"YulIdentifier","src":"23647:3:6"},{"kind":"number","nativeSrc":"23651:3:6","nodeType":"YulLiteral","src":"23651:3:6","type":"","value":"192"}],"functionName":{"name":"add","nativeSrc":"23643:3:6","nodeType":"YulIdentifier","src":"23643:3:6"},"nativeSrc":"23643:12:6","nodeType":"YulFunctionCall","src":"23643:12:6"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23667:4:6","nodeType":"YulIdentifier","src":"23667:4:6"},{"name":"pB1","nativeSrc":"23673:3:6","nodeType":"YulIdentifier","src":"23673:3:6"}],"functionName":{"name":"add","nativeSrc":"23663:3:6","nodeType":"YulIdentifier","src":"23663:3:6"},"nativeSrc":"23663:14:6","nodeType":"YulFunctionCall","src":"23663:14:6"}],"functionName":{"name":"mload","nativeSrc":"23657:5:6","nodeType":"YulIdentifier","src":"23657:5:6"},"nativeSrc":"23657:21:6","nodeType":"YulFunctionCall","src":"23657:21:6"}],"functionName":{"name":"mstore","nativeSrc":"23636:6:6","nodeType":"YulIdentifier","src":"23636:6:6"},"nativeSrc":"23636:43:6","nodeType":"YulFunctionCall","src":"23636:43:6"},"nativeSrc":"23636:43:6","nodeType":"YulExpressionStatement","src":"23636:43:6"},{"nativeSrc":"23696:39:6","nodeType":"YulVariableDeclaration","src":"23696:39:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23719:4:6","nodeType":"YulIdentifier","src":"23719:4:6"},{"name":"pB1","nativeSrc":"23725:3:6","nodeType":"YulIdentifier","src":"23725:3:6"}],"functionName":{"name":"add","nativeSrc":"23715:3:6","nodeType":"YulIdentifier","src":"23715:3:6"},"nativeSrc":"23715:14:6","nodeType":"YulFunctionCall","src":"23715:14:6"},{"kind":"number","nativeSrc":"23731:2:6","nodeType":"YulLiteral","src":"23731:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23711:3:6","nodeType":"YulIdentifier","src":"23711:3:6"},"nativeSrc":"23711:23:6","nodeType":"YulFunctionCall","src":"23711:23:6"}],"functionName":{"name":"mload","nativeSrc":"23705:5:6","nodeType":"YulIdentifier","src":"23705:5:6"},"nativeSrc":"23705:30:6","nodeType":"YulFunctionCall","src":"23705:30:6"},"variables":[{"name":"s","nativeSrc":"23700:1:6","nodeType":"YulTypedName","src":"23700:1:6","type":""}]},{"nativeSrc":"23752:24:6","nodeType":"YulAssignment","src":"23752:24:6","value":{"arguments":[{"arguments":[{"name":"qf","nativeSrc":"23765:2:6","nodeType":"YulIdentifier","src":"23765:2:6"},{"name":"s","nativeSrc":"23769:1:6","nodeType":"YulIdentifier","src":"23769:1:6"}],"functionName":{"name":"sub","nativeSrc":"23761:3:6","nodeType":"YulIdentifier","src":"23761:3:6"},"nativeSrc":"23761:10:6","nodeType":"YulFunctionCall","src":"23761:10:6"},{"name":"qf","nativeSrc":"23773:2:6","nodeType":"YulIdentifier","src":"23773:2:6"}],"functionName":{"name":"mod","nativeSrc":"23757:3:6","nodeType":"YulIdentifier","src":"23757:3:6"},"nativeSrc":"23757:19:6","nodeType":"YulFunctionCall","src":"23757:19:6"},"variableNames":[{"name":"s","nativeSrc":"23752:1:6","nodeType":"YulIdentifier","src":"23752:1:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23804:3:6","nodeType":"YulIdentifier","src":"23804:3:6"},{"kind":"number","nativeSrc":"23808:3:6","nodeType":"YulLiteral","src":"23808:3:6","type":"","value":"224"}],"functionName":{"name":"add","nativeSrc":"23800:3:6","nodeType":"YulIdentifier","src":"23800:3:6"},"nativeSrc":"23800:12:6","nodeType":"YulFunctionCall","src":"23800:12:6"},{"name":"s","nativeSrc":"23814:1:6","nodeType":"YulIdentifier","src":"23814:1:6"}],"functionName":{"name":"mstore","nativeSrc":"23793:6:6","nodeType":"YulIdentifier","src":"23793:6:6"},"nativeSrc":"23793:23:6","nodeType":"YulFunctionCall","src":"23793:23:6"},"nativeSrc":"23793:23:6","nodeType":"YulExpressionStatement","src":"23793:23:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23844:3:6","nodeType":"YulIdentifier","src":"23844:3:6"},{"kind":"number","nativeSrc":"23848:3:6","nodeType":"YulLiteral","src":"23848:3:6","type":"","value":"256"}],"functionName":{"name":"add","nativeSrc":"23840:3:6","nodeType":"YulIdentifier","src":"23840:3:6"},"nativeSrc":"23840:12:6","nodeType":"YulFunctionCall","src":"23840:12:6"},{"name":"G2x2","nativeSrc":"23854:4:6","nodeType":"YulIdentifier","src":"23854:4:6"}],"functionName":{"name":"mstore","nativeSrc":"23833:6:6","nodeType":"YulIdentifier","src":"23833:6:6"},"nativeSrc":"23833:26:6","nodeType":"YulFunctionCall","src":"23833:26:6"},"nativeSrc":"23833:26:6","nodeType":"YulExpressionStatement","src":"23833:26:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23887:3:6","nodeType":"YulIdentifier","src":"23887:3:6"},{"kind":"number","nativeSrc":"23891:3:6","nodeType":"YulLiteral","src":"23891:3:6","type":"","value":"288"}],"functionName":{"name":"add","nativeSrc":"23883:3:6","nodeType":"YulIdentifier","src":"23883:3:6"},"nativeSrc":"23883:12:6","nodeType":"YulFunctionCall","src":"23883:12:6"},{"name":"G2x1","nativeSrc":"23897:4:6","nodeType":"YulIdentifier","src":"23897:4:6"}],"functionName":{"name":"mstore","nativeSrc":"23876:6:6","nodeType":"YulIdentifier","src":"23876:6:6"},"nativeSrc":"23876:26:6","nodeType":"YulFunctionCall","src":"23876:26:6"},"nativeSrc":"23876:26:6","nodeType":"YulExpressionStatement","src":"23876:26:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23930:3:6","nodeType":"YulIdentifier","src":"23930:3:6"},{"kind":"number","nativeSrc":"23934:3:6","nodeType":"YulLiteral","src":"23934:3:6","type":"","value":"320"}],"functionName":{"name":"add","nativeSrc":"23926:3:6","nodeType":"YulIdentifier","src":"23926:3:6"},"nativeSrc":"23926:12:6","nodeType":"YulFunctionCall","src":"23926:12:6"},{"name":"G2y2","nativeSrc":"23940:4:6","nodeType":"YulIdentifier","src":"23940:4:6"}],"functionName":{"name":"mstore","nativeSrc":"23919:6:6","nodeType":"YulIdentifier","src":"23919:6:6"},"nativeSrc":"23919:26:6","nodeType":"YulFunctionCall","src":"23919:26:6"},"nativeSrc":"23919:26:6","nodeType":"YulExpressionStatement","src":"23919:26:6"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23973:3:6","nodeType":"YulIdentifier","src":"23973:3:6"},{"kind":"number","nativeSrc":"23977:3:6","nodeType":"YulLiteral","src":"23977:3:6","type":"","value":"352"}],"functionName":{"name":"add","nativeSrc":"23969:3:6","nodeType":"YulIdentifier","src":"23969:3:6"},"nativeSrc":"23969:12:6","nodeType":"YulFunctionCall","src":"23969:12:6"},{"name":"G2y1","nativeSrc":"23983:4:6","nodeType":"YulIdentifier","src":"23983:4:6"}],"functionName":{"name":"mstore","nativeSrc":"23962:6:6","nodeType":"YulIdentifier","src":"23962:6:6"},"nativeSrc":"23962:26:6","nodeType":"YulFunctionCall","src":"23962:26:6"},"nativeSrc":"23962:26:6","nodeType":"YulExpressionStatement","src":"23962:26:6"},{"nativeSrc":"24022:67:6","nodeType":"YulVariableDeclaration","src":"24022:67:6","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"24052:3:6","nodeType":"YulIdentifier","src":"24052:3:6"},"nativeSrc":"24052:5:6","nodeType":"YulFunctionCall","src":"24052:5:6"},{"kind":"number","nativeSrc":"24059:4:6","nodeType":"YulLiteral","src":"24059:4:6","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"24048:3:6","nodeType":"YulIdentifier","src":"24048:3:6"},"nativeSrc":"24048:16:6","nodeType":"YulFunctionCall","src":"24048:16:6"},{"kind":"number","nativeSrc":"24066:1:6","nodeType":"YulLiteral","src":"24066:1:6","type":"","value":"8"},{"name":"mIn","nativeSrc":"24069:3:6","nodeType":"YulIdentifier","src":"24069:3:6"},{"kind":"number","nativeSrc":"24074:3:6","nodeType":"YulLiteral","src":"24074:3:6","type":"","value":"384"},{"name":"mIn","nativeSrc":"24079:3:6","nodeType":"YulIdentifier","src":"24079:3:6"},{"kind":"number","nativeSrc":"24084:4:6","nodeType":"YulLiteral","src":"24084:4:6","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nativeSrc":"24037:10:6","nodeType":"YulIdentifier","src":"24037:10:6"},"nativeSrc":"24037:52:6","nodeType":"YulFunctionCall","src":"24037:52:6"},"variables":[{"name":"success","nativeSrc":"24026:7:6","nodeType":"YulTypedName","src":"24026:7:6","type":""}]},{"nativeSrc":"24123:32:6","nodeType":"YulAssignment","src":"24123:32:6","value":{"arguments":[{"name":"success","nativeSrc":"24135:7:6","nodeType":"YulIdentifier","src":"24135:7:6"},{"arguments":[{"name":"mIn","nativeSrc":"24150:3:6","nodeType":"YulIdentifier","src":"24150:3:6"}],"functionName":{"name":"mload","nativeSrc":"24144:5:6","nodeType":"YulIdentifier","src":"24144:5:6"},"nativeSrc":"24144:10:6","nodeType":"YulFunctionCall","src":"24144:10:6"}],"functionName":{"name":"and","nativeSrc":"24131:3:6","nodeType":"YulIdentifier","src":"24131:3:6"},"nativeSrc":"24131:24:6","nodeType":"YulFunctionCall","src":"24131:24:6"},"variableNames":[{"name":"isOk","nativeSrc":"24123:4:6","nodeType":"YulIdentifier","src":"24123:4:6"}]}]},"name":"checkPairing","nativeSrc":"23254:915:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"23276:4:6","nodeType":"YulTypedName","src":"23276:4:6","type":""}],"returnVariables":[{"name":"isOk","nativeSrc":"23285:4:6","nodeType":"YulTypedName","src":"23285:4:6","type":""}],"src":"23254:915:6"},{"nativeSrc":"24195:23:6","nodeType":"YulVariableDeclaration","src":"24195:23:6","value":{"arguments":[{"kind":"number","nativeSrc":"24213:4:6","nodeType":"YulLiteral","src":"24213:4:6","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"24207:5:6","nodeType":"YulIdentifier","src":"24207:5:6"},"nativeSrc":"24207:11:6","nodeType":"YulFunctionCall","src":"24207:11:6"},"variables":[{"name":"pMem","nativeSrc":"24199:4:6","nodeType":"YulTypedName","src":"24199:4:6","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24238:4:6","nodeType":"YulLiteral","src":"24238:4:6","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24248:4:6","nodeType":"YulIdentifier","src":"24248:4:6"},{"name":"lastMem","nativeSrc":"24254:7:6","nodeType":"YulIdentifier","src":"24254:7:6"}],"functionName":{"name":"add","nativeSrc":"24244:3:6","nodeType":"YulIdentifier","src":"24244:3:6"},"nativeSrc":"24244:18:6","nodeType":"YulFunctionCall","src":"24244:18:6"}],"functionName":{"name":"mstore","nativeSrc":"24231:6:6","nodeType":"YulIdentifier","src":"24231:6:6"},"nativeSrc":"24231:32:6","nodeType":"YulFunctionCall","src":"24231:32:6"},"nativeSrc":"24231:32:6","nodeType":"YulExpressionStatement","src":"24231:32:6"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24300:5:6","nodeType":"YulIdentifier","src":"24300:5:6"}],"functionName":{"name":"checkInput","nativeSrc":"24289:10:6","nodeType":"YulIdentifier","src":"24289:10:6"},"nativeSrc":"24289:17:6","nodeType":"YulFunctionCall","src":"24289:17:6"},"nativeSrc":"24289:17:6","nodeType":"YulExpressionStatement","src":"24289:17:6"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24339:5:6","nodeType":"YulIdentifier","src":"24339:5:6"},{"name":"pMem","nativeSrc":"24346:4:6","nodeType":"YulIdentifier","src":"24346:4:6"},{"name":"pubSignals","nativeSrc":"24352:10:6","nodeType":"YulIdentifier","src":"24352:10:6"}],"functionName":{"name":"calculateChallanges","nativeSrc":"24319:19:6","nodeType":"YulIdentifier","src":"24319:19:6"},"nativeSrc":"24319:44:6","nodeType":"YulFunctionCall","src":"24319:44:6"},"nativeSrc":"24319:44:6","nodeType":"YulExpressionStatement","src":"24319:44:6"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24394:4:6","nodeType":"YulIdentifier","src":"24394:4:6"}],"functionName":{"name":"calculateLagrange","nativeSrc":"24376:17:6","nodeType":"YulIdentifier","src":"24376:17:6"},"nativeSrc":"24376:23:6","nodeType":"YulFunctionCall","src":"24376:23:6"},"nativeSrc":"24376:23:6","nodeType":"YulExpressionStatement","src":"24376:23:6"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24424:4:6","nodeType":"YulIdentifier","src":"24424:4:6"},{"name":"pubSignals","nativeSrc":"24430:10:6","nodeType":"YulIdentifier","src":"24430:10:6"}],"functionName":{"name":"calculatePl","nativeSrc":"24412:11:6","nodeType":"YulIdentifier","src":"24412:11:6"},"nativeSrc":"24412:29:6","nodeType":"YulFunctionCall","src":"24412:29:6"},"nativeSrc":"24412:29:6","nodeType":"YulExpressionStatement","src":"24412:29:6"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24465:5:6","nodeType":"YulIdentifier","src":"24465:5:6"},{"name":"pMem","nativeSrc":"24472:4:6","nodeType":"YulIdentifier","src":"24472:4:6"}],"functionName":{"name":"calculateT","nativeSrc":"24454:10:6","nodeType":"YulIdentifier","src":"24454:10:6"},"nativeSrc":"24454:23:6","nodeType":"YulFunctionCall","src":"24454:23:6"},"nativeSrc":"24454:23:6","nodeType":"YulExpressionStatement","src":"24454:23:6"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24502:5:6","nodeType":"YulIdentifier","src":"24502:5:6"},{"name":"pMem","nativeSrc":"24509:4:6","nodeType":"YulIdentifier","src":"24509:4:6"}],"functionName":{"name":"calculateA1","nativeSrc":"24490:11:6","nodeType":"YulIdentifier","src":"24490:11:6"},"nativeSrc":"24490:24:6","nodeType":"YulFunctionCall","src":"24490:24:6"},"nativeSrc":"24490:24:6","nodeType":"YulExpressionStatement","src":"24490:24:6"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24539:5:6","nodeType":"YulIdentifier","src":"24539:5:6"},{"name":"pMem","nativeSrc":"24546:4:6","nodeType":"YulIdentifier","src":"24546:4:6"}],"functionName":{"name":"calculateB1","nativeSrc":"24527:11:6","nodeType":"YulIdentifier","src":"24527:11:6"},"nativeSrc":"24527:24:6","nodeType":"YulFunctionCall","src":"24527:24:6"},"nativeSrc":"24527:24:6","nodeType":"YulExpressionStatement","src":"24527:24:6"},{"nativeSrc":"24564:33:6","nodeType":"YulVariableDeclaration","src":"24564:33:6","value":{"arguments":[{"name":"pMem","nativeSrc":"24592:4:6","nodeType":"YulIdentifier","src":"24592:4:6"}],"functionName":{"name":"checkPairing","nativeSrc":"24579:12:6","nodeType":"YulIdentifier","src":"24579:12:6"},"nativeSrc":"24579:18:6","nodeType":"YulFunctionCall","src":"24579:18:6"},"variables":[{"name":"isValid","nativeSrc":"24568:7:6","nodeType":"YulTypedName","src":"24568:7:6","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24630:4:6","nodeType":"YulLiteral","src":"24630:4:6","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24640:4:6","nodeType":"YulIdentifier","src":"24640:4:6"},{"name":"lastMem","nativeSrc":"24646:7:6","nodeType":"YulIdentifier","src":"24646:7:6"}],"functionName":{"name":"sub","nativeSrc":"24636:3:6","nodeType":"YulIdentifier","src":"24636:3:6"},"nativeSrc":"24636:18:6","nodeType":"YulFunctionCall","src":"24636:18:6"}],"functionName":{"name":"mstore","nativeSrc":"24623:6:6","nodeType":"YulIdentifier","src":"24623:6:6"},"nativeSrc":"24623:32:6","nodeType":"YulFunctionCall","src":"24623:32:6"},"nativeSrc":"24623:32:6","nodeType":"YulExpressionStatement","src":"24623:32:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24675:1:6","nodeType":"YulLiteral","src":"24675:1:6","type":"","value":"0"},{"name":"isValid","nativeSrc":"24678:7:6","nodeType":"YulIdentifier","src":"24678:7:6"}],"functionName":{"name":"mstore","nativeSrc":"24668:6:6","nodeType":"YulIdentifier","src":"24668:6:6"},"nativeSrc":"24668:18:6","nodeType":"YulFunctionCall","src":"24668:18:6"},"nativeSrc":"24668:18:6","nodeType":"YulExpressionStatement","src":"24668:18:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24706:1:6","nodeType":"YulLiteral","src":"24706:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"24708:4:6","nodeType":"YulLiteral","src":"24708:4:6","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"24699:6:6","nodeType":"YulIdentifier","src":"24699:6:6"},"nativeSrc":"24699:14:6","nodeType":"YulFunctionCall","src":"24699:14:6"},"nativeSrc":"24699:14:6","nodeType":"YulExpressionStatement","src":"24699:14:6"}]},"evmVersion":"paris","externalReferences":[{"declaration":677,"isOffset":false,"isSlot":false,"src":"22872:3:6","valueSize":1},{"declaration":680,"isOffset":false,"isSlot":false,"src":"22877:3:6","valueSize":1},{"declaration":683,"isOffset":false,"isSlot":false,"src":"23897:4:6","valueSize":1},{"declaration":686,"isOffset":false,"isSlot":false,"src":"23854:4:6","valueSize":1},{"declaration":689,"isOffset":false,"isSlot":false,"src":"23983:4:6","valueSize":1},{"declaration":692,"isOffset":false,"isSlot":false,"src":"23940:4:6","valueSize":1},{"declaration":626,"isOffset":false,"isSlot":false,"src":"19516:3:6","valueSize":1},{"declaration":629,"isOffset":false,"isSlot":false,"src":"19521:3:6","valueSize":1},{"declaration":608,"isOffset":false,"isSlot":false,"src":"19034:3:6","valueSize":1},{"declaration":611,"isOffset":false,"isSlot":false,"src":"19039:3:6","valueSize":1},{"declaration":602,"isOffset":false,"isSlot":false,"src":"19158:3:6","valueSize":1},{"declaration":605,"isOffset":false,"isSlot":false,"src":"19163:3:6","valueSize":1},{"declaration":620,"isOffset":false,"isSlot":false,"src":"19430:3:6","valueSize":1},{"declaration":623,"isOffset":false,"isSlot":false,"src":"19435:3:6","valueSize":1},{"declaration":614,"isOffset":false,"isSlot":false,"src":"19286:3:6","valueSize":1},{"declaration":617,"isOffset":false,"isSlot":false,"src":"19291:3:6","valueSize":1},{"declaration":632,"isOffset":false,"isSlot":false,"src":"21931:3:6","valueSize":1},{"declaration":635,"isOffset":false,"isSlot":false,"src":"21936:3:6","valueSize":1},{"declaration":638,"isOffset":false,"isSlot":false,"src":"21994:3:6","valueSize":1},{"declaration":641,"isOffset":false,"isSlot":false,"src":"21999:3:6","valueSize":1},{"declaration":644,"isOffset":false,"isSlot":false,"src":"21387:3:6","valueSize":1},{"declaration":647,"isOffset":false,"isSlot":false,"src":"21392:3:6","valueSize":1},{"declaration":656,"isOffset":false,"isSlot":false,"src":"23528:4:6","valueSize":1},{"declaration":659,"isOffset":false,"isSlot":false,"src":"23486:4:6","valueSize":1},{"declaration":662,"isOffset":false,"isSlot":false,"src":"23614:4:6","valueSize":1},{"declaration":665,"isOffset":false,"isSlot":false,"src":"23571:4:6","valueSize":1},{"declaration":650,"isOffset":false,"isSlot":false,"src":"19706:2:6","valueSize":1},{"declaration":653,"isOffset":false,"isSlot":false,"src":"19934:2:6","valueSize":1},{"declaration":803,"isOffset":false,"isSlot":false,"src":"24254:7:6","valueSize":1},{"declaration":803,"isOffset":false,"isSlot":false,"src":"24646:7:6","valueSize":1},{"declaration":803,"isOffset":false,"isSlot":false,"src":"9544:7:6","valueSize":1},{"declaration":593,"isOffset":false,"isSlot":false,"src":"11892:1:6","valueSize":1},{"declaration":695,"isOffset":false,"isSlot":false,"src":"21735:2:6","valueSize":1},{"declaration":695,"isOffset":false,"isSlot":false,"src":"9099:2:6","valueSize":1},{"declaration":695,"isOffset":false,"isSlot":false,"src":"9170:2:6","valueSize":1},{"declaration":695,"isOffset":false,"isSlot":false,"src":"9245:2:6","valueSize":1},{"declaration":695,"isOffset":false,"isSlot":false,"src":"9320:2:6","valueSize":1},{"declaration":695,"isOffset":false,"isSlot":false,"src":"9395:2:6","valueSize":1},{"declaration":695,"isOffset":false,"isSlot":false,"src":"9471:2:6","valueSize":1},{"declaration":788,"isOffset":false,"isSlot":false,"src":"18577:3:6","valueSize":1},{"declaration":788,"isOffset":false,"isSlot":false,"src":"23375:3:6","valueSize":1},{"declaration":788,"isOffset":false,"isSlot":false,"src":"23438:3:6","valueSize":1},{"declaration":743,"isOffset":false,"isSlot":false,"src":"15154:6:6","valueSize":1},{"declaration":743,"isOffset":false,"isSlot":false,"src":"15299:6:6","valueSize":1},{"declaration":743,"isOffset":false,"isSlot":false,"src":"15442:6:6","valueSize":1},{"declaration":743,"isOffset":false,"isSlot":false,"src":"20180:6:6","valueSize":1},{"declaration":743,"isOffset":false,"isSlot":false,"src":"20323:6:6","valueSize":1},{"declaration":743,"isOffset":false,"isSlot":false,"src":"20385:6:6","valueSize":1},{"declaration":743,"isOffset":false,"isSlot":false,"src":"21125:6:6","valueSize":1},{"declaration":743,"isOffset":false,"isSlot":false,"src":"9727:6:6","valueSize":1},{"declaration":698,"isOffset":false,"isSlot":false,"src":"21804:2:6","valueSize":1},{"declaration":791,"isOffset":false,"isSlot":false,"src":"18867:3:6","valueSize":1},{"declaration":791,"isOffset":false,"isSlot":false,"src":"23673:3:6","valueSize":1},{"declaration":791,"isOffset":false,"isSlot":false,"src":"23725:3:6","valueSize":1},{"declaration":746,"isOffset":false,"isSlot":false,"src":"13942:5:6","valueSize":1},{"declaration":746,"isOffset":false,"isSlot":false,"src":"14409:5:6","valueSize":1},{"declaration":746,"isOffset":false,"isSlot":false,"src":"20661:5:6","valueSize":1},{"declaration":746,"isOffset":false,"isSlot":false,"src":"20871:5:6","valueSize":1},{"declaration":746,"isOffset":false,"isSlot":false,"src":"21242:5:6","valueSize":1},{"declaration":746,"isOffset":false,"isSlot":false,"src":"9598:5:6","valueSize":1},{"declaration":746,"isOffset":false,"isSlot":false,"src":"9676:5:6","valueSize":1},{"declaration":758,"isOffset":false,"isSlot":false,"src":"19603:7:6","valueSize":1},{"declaration":758,"isOffset":false,"isSlot":false,"src":"19726:7:6","valueSize":1},{"declaration":758,"isOffset":false,"isSlot":false,"src":"19954:7:6","valueSize":1},{"declaration":758,"isOffset":false,"isSlot":false,"src":"9932:7:6","valueSize":1},{"declaration":701,"isOffset":false,"isSlot":false,"src":"21873:2:6","valueSize":1},{"declaration":722,"isOffset":false,"isSlot":false,"src":"11071:7:6","valueSize":1},{"declaration":722,"isOffset":false,"isSlot":false,"src":"14084:7:6","valueSize":1},{"declaration":722,"isOffset":false,"isSlot":false,"src":"18967:7:6","valueSize":1},{"declaration":722,"isOffset":false,"isSlot":false,"src":"19576:7:6","valueSize":1},{"declaration":722,"isOffset":false,"isSlot":false,"src":"20752:7:6","valueSize":1},{"declaration":722,"isOffset":false,"isSlot":false,"src":"22275:7:6","valueSize":1},{"declaration":722,"isOffset":false,"isSlot":false,"src":"8344:7:6","valueSize":1},{"declaration":725,"isOffset":false,"isSlot":false,"src":"14551:7:6","valueSize":1},{"declaration":725,"isOffset":false,"isSlot":false,"src":"19098:7:6","valueSize":1},{"declaration":725,"isOffset":false,"isSlot":false,"src":"19219:7:6","valueSize":1},{"declaration":725,"isOffset":false,"isSlot":false,"src":"19791:7:6","valueSize":1},{"declaration":725,"isOffset":false,"isSlot":false,"src":"20964:7:6","valueSize":1},{"declaration":725,"isOffset":false,"isSlot":false,"src":"22372:7:6","valueSize":1},{"declaration":725,"isOffset":false,"isSlot":false,"src":"8400:7:6","valueSize":1},{"declaration":728,"isOffset":false,"isSlot":false,"src":"14901:7:6","valueSize":1},{"declaration":728,"isOffset":false,"isSlot":false,"src":"19363:7:6","valueSize":1},{"declaration":728,"isOffset":false,"isSlot":false,"src":"20019:7:6","valueSize":1},{"declaration":728,"isOffset":false,"isSlot":false,"src":"22469:7:6","valueSize":1},{"declaration":728,"isOffset":false,"isSlot":false,"src":"8456:7:6","valueSize":1},{"declaration":800,"isOffset":false,"isSlot":false,"src":"11828:8:6","valueSize":1},{"declaration":800,"isOffset":false,"isSlot":false,"src":"12597:8:6","valueSize":1},{"declaration":800,"isOffset":false,"isSlot":false,"src":"12678:8:6","valueSize":1},{"declaration":800,"isOffset":false,"isSlot":false,"src":"13174:8:6","valueSize":1},{"declaration":800,"isOffset":false,"isSlot":false,"src":"15250:8:6","valueSize":1},{"declaration":800,"isOffset":false,"isSlot":false,"src":"20295:8:6","valueSize":1},{"declaration":740,"isOffset":false,"isSlot":false,"src":"13713:7:6","valueSize":1},{"declaration":740,"isOffset":false,"isSlot":false,"src":"22178:7:6","valueSize":1},{"declaration":740,"isOffset":false,"isSlot":false,"src":"8683:7:6","valueSize":1},{"declaration":731,"isOffset":false,"isSlot":false,"src":"13894:8:6","valueSize":1},{"declaration":731,"isOffset":false,"isSlot":false,"src":"20688:8:6","valueSize":1},{"declaration":731,"isOffset":false,"isSlot":false,"src":"22566:8:6","valueSize":1},{"declaration":731,"isOffset":false,"isSlot":false,"src":"8512:8:6","valueSize":1},{"declaration":734,"isOffset":false,"isSlot":false,"src":"14361:8:6","valueSize":1},{"declaration":734,"isOffset":false,"isSlot":false,"src":"20898:8:6","valueSize":1},{"declaration":734,"isOffset":false,"isSlot":false,"src":"22664:8:6","valueSize":1},{"declaration":734,"isOffset":false,"isSlot":false,"src":"8569:8:6","valueSize":1},{"declaration":785,"isOffset":false,"isSlot":false,"src":"15710:7:6","valueSize":1},{"declaration":785,"isOffset":false,"isSlot":false,"src":"22112:7:6","valueSize":1},{"declaration":737,"isOffset":false,"isSlot":false,"src":"15090:8:6","valueSize":1},{"declaration":737,"isOffset":false,"isSlot":false,"src":"21303:8:6","valueSize":1},{"declaration":737,"isOffset":false,"isSlot":false,"src":"22762:8:6","valueSize":1},{"declaration":737,"isOffset":false,"isSlot":false,"src":"8626:8:6","valueSize":1},{"declaration":749,"isOffset":false,"isSlot":false,"src":"14242:6:6","valueSize":1},{"declaration":749,"isOffset":false,"isSlot":false,"src":"14709:6:6","valueSize":1},{"declaration":749,"isOffset":false,"isSlot":false,"src":"14948:6:6","valueSize":1},{"declaration":749,"isOffset":false,"isSlot":false,"src":"19664:6:6","valueSize":1},{"declaration":749,"isOffset":false,"isSlot":false,"src":"19854:6:6","valueSize":1},{"declaration":749,"isOffset":false,"isSlot":false,"src":"20082:6:6","valueSize":1},{"declaration":749,"isOffset":false,"isSlot":false,"src":"20813:6:6","valueSize":1},{"declaration":749,"isOffset":false,"isSlot":false,"src":"21027:6:6","valueSize":1},{"declaration":749,"isOffset":false,"isSlot":false,"src":"9643:6:6","valueSize":1},{"declaration":782,"isOffset":false,"isSlot":false,"src":"13487:3:6","valueSize":1},{"declaration":782,"isOffset":false,"isSlot":false,"src":"13761:3:6","valueSize":1},{"declaration":707,"isOffset":false,"isSlot":false,"src":"21472:3:6","valueSize":1},{"declaration":707,"isOffset":false,"isSlot":false,"src":"9840:3:6","valueSize":1},{"declaration":710,"isOffset":false,"isSlot":false,"src":"21564:3:6","valueSize":1},{"declaration":713,"isOffset":false,"isSlot":false,"src":"21668:3:6","valueSize":1},{"declaration":779,"isOffset":false,"isSlot":false,"src":"11591:2:6","valueSize":1},{"declaration":779,"isOffset":false,"isSlot":false,"src":"18692:2:6","valueSize":1},{"declaration":779,"isOffset":false,"isSlot":false,"src":"20542:2:6","valueSize":1},{"declaration":779,"isOffset":false,"isSlot":false,"src":"22790:2:6","valueSize":1},{"declaration":779,"isOffset":false,"isSlot":false,"src":"23092:2:6","valueSize":1},{"declaration":761,"isOffset":false,"isSlot":false,"src":"11124:3:6","valueSize":1},{"declaration":761,"isOffset":false,"isSlot":false,"src":"18994:3:6","valueSize":1},{"declaration":761,"isOffset":false,"isSlot":false,"src":"19246:3:6","valueSize":1},{"declaration":761,"isOffset":false,"isSlot":false,"src":"19390:3:6","valueSize":1},{"declaration":761,"isOffset":false,"isSlot":false,"src":"19480:3:6","valueSize":1},{"declaration":761,"isOffset":false,"isSlot":false,"src":"20240:3:6","valueSize":1},{"declaration":761,"isOffset":false,"isSlot":false,"src":"20447:3:6","valueSize":1},{"declaration":761,"isOffset":false,"isSlot":false,"src":"21185:3:6","valueSize":1},{"declaration":761,"isOffset":false,"isSlot":false,"src":"22205:3:6","valueSize":1},{"declaration":764,"isOffset":false,"isSlot":false,"src":"11207:3:6","valueSize":1},{"declaration":764,"isOffset":false,"isSlot":false,"src":"21756:3:6","valueSize":1},{"declaration":764,"isOffset":false,"isSlot":false,"src":"22302:3:6","valueSize":1},{"declaration":767,"isOffset":false,"isSlot":false,"src":"11288:3:6","valueSize":1},{"declaration":767,"isOffset":false,"isSlot":false,"src":"21825:3:6","valueSize":1},{"declaration":767,"isOffset":false,"isSlot":false,"src":"22399:3:6","valueSize":1},{"declaration":770,"isOffset":false,"isSlot":false,"src":"11369:3:6","valueSize":1},{"declaration":770,"isOffset":false,"isSlot":false,"src":"21894:3:6","valueSize":1},{"declaration":770,"isOffset":false,"isSlot":false,"src":"22496:3:6","valueSize":1},{"declaration":773,"isOffset":false,"isSlot":false,"src":"11450:3:6","valueSize":1},{"declaration":773,"isOffset":false,"isSlot":false,"src":"21957:3:6","valueSize":1},{"declaration":773,"isOffset":false,"isSlot":false,"src":"22594:3:6","valueSize":1},{"declaration":776,"isOffset":false,"isSlot":false,"src":"11531:3:6","valueSize":1},{"declaration":776,"isOffset":false,"isSlot":false,"src":"22020:3:6","valueSize":1},{"declaration":776,"isOffset":false,"isSlot":false,"src":"22692:3:6","valueSize":1},{"declaration":716,"isOffset":false,"isSlot":false,"src":"11622:4:6","valueSize":1},{"declaration":716,"isOffset":false,"isSlot":false,"src":"18620:4:6","valueSize":1},{"declaration":716,"isOffset":false,"isSlot":false,"src":"23037:4:6","valueSize":1},{"declaration":719,"isOffset":false,"isSlot":false,"src":"18668:5:6","valueSize":1},{"declaration":719,"isOffset":false,"isSlot":false,"src":"23203:5:6","valueSize":1},{"declaration":752,"isOffset":false,"isSlot":false,"src":"12047:3:6","valueSize":1},{"declaration":752,"isOffset":false,"isSlot":false,"src":"22990:3:6","valueSize":1},{"declaration":752,"isOffset":false,"isSlot":false,"src":"23114:3:6","valueSize":1},{"declaration":752,"isOffset":false,"isSlot":false,"src":"9889:3:6","valueSize":1},{"declaration":755,"isOffset":false,"isSlot":false,"src":"10805:4:6","valueSize":1},{"declaration":755,"isOffset":false,"isSlot":false,"src":"21516:4:6","valueSize":1},{"declaration":704,"isOffset":false,"isSlot":false,"src":"20592:2:6","valueSize":1},{"declaration":704,"isOffset":false,"isSlot":false,"src":"9762:2:6","valueSize":1},{"declaration":794,"isOffset":false,"isSlot":false,"src":"10894:3:6","valueSize":1},{"declaration":794,"isOffset":false,"isSlot":false,"src":"12480:3:6","valueSize":1},{"declaration":797,"isOffset":false,"isSlot":false,"src":"10937:6:6","valueSize":1},{"declaration":797,"isOffset":false,"isSlot":false,"src":"12408:6:6","valueSize":1},{"declaration":797,"isOffset":false,"isSlot":false,"src":"15646:6:6","valueSize":1},{"declaration":805,"isOffset":false,"isSlot":false,"src":"24300:5:6","valueSize":1},{"declaration":805,"isOffset":false,"isSlot":false,"src":"24339:5:6","valueSize":1},{"declaration":805,"isOffset":false,"isSlot":false,"src":"24465:5:6","valueSize":1},{"declaration":805,"isOffset":false,"isSlot":false,"src":"24502:5:6","valueSize":1},{"declaration":805,"isOffset":false,"isSlot":false,"src":"24539:5:6","valueSize":1},{"declaration":808,"isOffset":false,"isSlot":false,"src":"24352:10:6","valueSize":1},{"declaration":808,"isOffset":false,"isSlot":false,"src":"24430:10:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10009:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10062:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10115:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10168:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10221:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10274:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10327:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10380:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10433:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10486:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10539:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10592:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10645:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10698:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10751:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10853:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"10857:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"11087:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"11170:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"11251:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"11332:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"11413:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"11494:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"11635:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"12161:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"12222:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"12276:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"12743:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"13272:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"13355:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"13400:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"13789:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"13971:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"14115:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"14272:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"14438:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"14582:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"14739:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"14813:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"14978:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"15036:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"15102:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"15164:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"15330:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"15473:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"15531:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"15587:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"15596:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"15656:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19001:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19109:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19253:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19397:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19614:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19674:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19737:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19802:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19864:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19902:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"19965:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20030:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20092:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20130:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20190:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20247:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20333:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20395:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20454:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20492:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20548:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20700:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20763:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20823:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20910:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"20975:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"21037:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"21075:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"21135:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"21192:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"21251:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"21315:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"21347:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"21354:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"21624:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22212:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22216:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22309:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22313:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22406:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22410:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22503:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22507:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22601:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22605:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22699:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22703:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22796:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22800:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22832:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"22839:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"23121:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"23159:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"7067:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"7124:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"7694:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"7748:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"7999:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"9560:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"9689:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"9772:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"9852:1:6","valueSize":1},{"declaration":668,"isOffset":false,"isSlot":false,"src":"9955:1:6","valueSize":1},{"declaration":671,"isOffset":false,"isSlot":false,"src":"23765:2:6","valueSize":1},{"declaration":671,"isOffset":false,"isSlot":false,"src":"23773:2:6","valueSize":1},{"declaration":674,"isOffset":false,"isSlot":false,"src":"23155:2:6","valueSize":1}],"id":813,"nodeType":"InlineAssembly","src":"5291:19432:6"}]},"functionSelector":"1e8e1e13","id":815,"implemented":true,"kind":"function","modifiers":[],"name":"verifyProof","nameLocation":"5196:11:6","nodeType":"FunctionDefinition","parameters":{"id":809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":805,"mutability":"mutable","name":"proof","nameLocation":"5221:5:6","nodeType":"VariableDeclaration","scope":815,"src":"5208:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":804,"name":"bytes","nodeType":"ElementaryTypeName","src":"5208:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":808,"mutability":"mutable","name":"pubSignals","nameLocation":"5242:10:6","nodeType":"VariableDeclaration","scope":815,"src":"5228:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":806,"name":"uint","nodeType":"ElementaryTypeName","src":"5228:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":807,"nodeType":"ArrayTypeName","src":"5228:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5207:46:6"},"returnParameters":{"id":812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":811,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":815,"src":"5275:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":810,"name":"bool","nodeType":"ElementaryTypeName","src":"5275:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5274:6:6"},"scope":816,"src":"5187:19551:6","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":817,"src":"832:23908:6","usedErrors":[],"usedEvents":[]}],"src":"799:23942:6"},"id":6},"contracts/workstep2Verifier.sol":{"ast":{"absolutePath":"contracts/workstep2Verifier.sol","exportedSymbols":{"PlonkVerifier":[1044]},"id":1045,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":818,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"799:31:7"},{"abstract":false,"baseContracts":[],"canonicalName":"PlonkVerifier","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1044,"linearizedBaseContracts":[1044],"name":"PlonkVerifier","nameLocation":"841:13:7","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":821,"mutability":"constant","name":"n","nameLocation":"882:1:7","nodeType":"VariableDeclaration","scope":1044,"src":"866:27:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":819,"name":"uint32","nodeType":"ElementaryTypeName","src":"866:6:7","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"value":{"hexValue":"3332373638","id":820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"888:5:7","typeDescriptions":{"typeIdentifier":"t_rational_32768_by_1","typeString":"int_const 32768"},"value":"32768"},"visibility":"internal"},{"constant":true,"id":824,"mutability":"constant","name":"nPublic","nameLocation":"915:7:7","nodeType":"VariableDeclaration","scope":1044,"src":"899:28:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":822,"name":"uint16","nodeType":"ElementaryTypeName","src":"899:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"926:1:7","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":827,"mutability":"constant","name":"nLagrange","nameLocation":"949:9:7","nodeType":"VariableDeclaration","scope":1044,"src":"933:29:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":825,"name":"uint16","nodeType":"ElementaryTypeName","src":"933:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"961:1:7","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":830,"mutability":"constant","name":"Qmx","nameLocation":"990:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"973:99:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":828,"name":"uint256","nodeType":"ElementaryTypeName","src":"973:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39303331303134323031333334373836353938343337343734383139333333333733383937393834383337343732393632363330333234383531333335333631383434303538353435373830","id":829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"996:76:7","typeDescriptions":{"typeIdentifier":"t_rational_9031014201334786598437474819333373897984837472962630324851335361844058545780_by_1","typeString":"int_const 9031...(68 digits omitted)...5780"},"value":"9031014201334786598437474819333373897984837472962630324851335361844058545780"},"visibility":"internal"},{"constant":true,"id":833,"mutability":"constant","name":"Qmy","nameLocation":"1095:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"1078:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":831,"name":"uint256","nodeType":"ElementaryTypeName","src":"1078:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136363037323130373836303836393231393831333637323833383135303439373738373430363030393638373730363230323233303938313437353338303937313338343330353337353935","id":832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1101:77:7","typeDescriptions":{"typeIdentifier":"t_rational_16607210786086921981367283815049778740600968770620223098147538097138430537595_by_1","typeString":"int_const 1660...(69 digits omitted)...7595"},"value":"16607210786086921981367283815049778740600968770620223098147538097138430537595"},"visibility":"internal"},{"constant":true,"id":836,"mutability":"constant","name":"Qlx","nameLocation":"1201:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"1184:99:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":834,"name":"uint256","nodeType":"ElementaryTypeName","src":"1184:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36383038323738323830343835333036373539373435353438383931353336313931313632333432323336303939363937363333363530393936333435373430393134323234323230333035","id":835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1207:76:7","typeDescriptions":{"typeIdentifier":"t_rational_6808278280485306759745548891536191162342236099697633650996345740914224220305_by_1","typeString":"int_const 6808...(68 digits omitted)...0305"},"value":"6808278280485306759745548891536191162342236099697633650996345740914224220305"},"visibility":"internal"},{"constant":true,"id":839,"mutability":"constant","name":"Qly","nameLocation":"1306:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"1289:99:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":837,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33323730313730313935383030363437393536343339373330373937333339323230303430363536393137353833353938353938313333363039323630363435363138393836313233353838","id":838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1312:76:7","typeDescriptions":{"typeIdentifier":"t_rational_3270170195800647956439730797339220040656917583598598133609260645618986123588_by_1","typeString":"int_const 3270...(68 digits omitted)...3588"},"value":"3270170195800647956439730797339220040656917583598598133609260645618986123588"},"visibility":"internal"},{"constant":true,"id":842,"mutability":"constant","name":"Qrx","nameLocation":"1411:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"1394:99:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":840,"name":"uint256","nodeType":"ElementaryTypeName","src":"1394:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36313438353030393031373034353438373832353430333133303234303933333234373734373633313930383334333533323335373539373738323339303534333830313135373631313831","id":841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1417:76:7","typeDescriptions":{"typeIdentifier":"t_rational_6148500901704548782540313024093324774763190834353235759778239054380115761181_by_1","typeString":"int_const 6148...(68 digits omitted)...1181"},"value":"6148500901704548782540313024093324774763190834353235759778239054380115761181"},"visibility":"internal"},{"constant":true,"id":845,"mutability":"constant","name":"Qry","nameLocation":"1516:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"1499:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":843,"name":"uint256","nodeType":"ElementaryTypeName","src":"1499:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3137343936393238373034353437343138373837323439313133363239313030333332353937353837333930333838393237393932333032333930383930373234333637333334333235323236","id":844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1522:77:7","typeDescriptions":{"typeIdentifier":"t_rational_17496928704547418787249113629100332597587390388927992302390890724367334325226_by_1","typeString":"int_const 1749...(69 digits omitted)...5226"},"value":"17496928704547418787249113629100332597587390388927992302390890724367334325226"},"visibility":"internal"},{"constant":true,"id":848,"mutability":"constant","name":"Qox","nameLocation":"1622:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"1605:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":846,"name":"uint256","nodeType":"ElementaryTypeName","src":"1605:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231363539323738383131393531373833353536343833313235363239323732383433313834373634383835343738323133373439393933353938343434383632323738303435383834373535","id":847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1628:77:7","typeDescriptions":{"typeIdentifier":"t_rational_21659278811951783556483125629272843184764885478213749993598444862278045884755_by_1","typeString":"int_const 2165...(69 digits omitted)...4755"},"value":"21659278811951783556483125629272843184764885478213749993598444862278045884755"},"visibility":"internal"},{"constant":true,"id":851,"mutability":"constant","name":"Qoy","nameLocation":"1728:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"1711:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":849,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136363630353937343735323035363139353435323831343638313236303036323339393837353339323637333438323030333430353932373933393532313438343837353034383734333039","id":850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1734:77:7","typeDescriptions":{"typeIdentifier":"t_rational_16660597475205619545281468126006239987539267348200340592793952148487504874309_by_1","typeString":"int_const 1666...(69 digits omitted)...4309"},"value":"16660597475205619545281468126006239987539267348200340592793952148487504874309"},"visibility":"internal"},{"constant":true,"id":854,"mutability":"constant","name":"Qcx","nameLocation":"1834:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"1817:99:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":852,"name":"uint256","nodeType":"ElementaryTypeName","src":"1817:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35333035353130333439383338303837333338373833353437383735353636323934343731373731343934303330393936343337363035363632323532303236333736303337303832393538","id":853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1840:76:7","typeDescriptions":{"typeIdentifier":"t_rational_5305510349838087338783547875566294471771494030996437605662252026376037082958_by_1","typeString":"int_const 5305...(68 digits omitted)...2958"},"value":"5305510349838087338783547875566294471771494030996437605662252026376037082958"},"visibility":"internal"},{"constant":true,"id":857,"mutability":"constant","name":"Qcy","nameLocation":"1939:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"1922:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":855,"name":"uint256","nodeType":"ElementaryTypeName","src":"1922:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139333737333334303937373732333432333733393233383736353934323131353632323737373035303931333838383939343937333133313332363735353939303034313434393735333133","id":856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1945:77:7","typeDescriptions":{"typeIdentifier":"t_rational_19377334097772342373923876594211562277705091388899497313132675599004144975313_by_1","typeString":"int_const 1937...(69 digits omitted)...5313"},"value":"19377334097772342373923876594211562277705091388899497313132675599004144975313"},"visibility":"internal"},{"constant":true,"id":860,"mutability":"constant","name":"S1x","nameLocation":"2045:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"2028:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":858,"name":"uint256","nodeType":"ElementaryTypeName","src":"2028:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133353131333734353838323437313637393937343134343832373731343630333139373737353030313330313437303635323930373337383134363534353132373431373437363136333436","id":859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2051:77:7","typeDescriptions":{"typeIdentifier":"t_rational_13511374588247167997414482771460319777500130147065290737814654512741747616346_by_1","typeString":"int_const 1351...(69 digits omitted)...6346"},"value":"13511374588247167997414482771460319777500130147065290737814654512741747616346"},"visibility":"internal"},{"constant":true,"id":863,"mutability":"constant","name":"S1y","nameLocation":"2151:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"2134:99:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":861,"name":"uint256","nodeType":"ElementaryTypeName","src":"2134:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39343130343432373233323238313535383030363039303233383532303831363330333030343430323835303134343639333539353439323531353036313136333532333433383430373635","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2157:76:7","typeDescriptions":{"typeIdentifier":"t_rational_9410442723228155800609023852081630300440285014469359549251506116352343840765_by_1","typeString":"int_const 9410...(68 digits omitted)...0765"},"value":"9410442723228155800609023852081630300440285014469359549251506116352343840765"},"visibility":"internal"},{"constant":true,"id":866,"mutability":"constant","name":"S2x","nameLocation":"2256:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"2239:99:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":864,"name":"uint256","nodeType":"ElementaryTypeName","src":"2239:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36323334333433363432303332353239363736333034343735383430313339383536363039353432313833363138383933323832373934383438373232323635383339343034313231363038","id":865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2262:76:7","typeDescriptions":{"typeIdentifier":"t_rational_6234343642032529676304475840139856609542183618893282794848722265839404121608_by_1","typeString":"int_const 6234...(68 digits omitted)...1608"},"value":"6234343642032529676304475840139856609542183618893282794848722265839404121608"},"visibility":"internal"},{"constant":true,"id":869,"mutability":"constant","name":"S2y","nameLocation":"2361:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"2344:98:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":867,"name":"uint256","nodeType":"ElementaryTypeName","src":"2344:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313938303831323536363739333937343730313137303738313835333738373836363832313334313637393737373637343831393336313036373330393333363538323136343030323035","id":868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2367:75:7","typeDescriptions":{"typeIdentifier":"t_rational_198081256679397470117078185378786682134167977767481936106730933658216400205_by_1","typeString":"int_const 1980...(67 digits omitted)...0205"},"value":"198081256679397470117078185378786682134167977767481936106730933658216400205"},"visibility":"internal"},{"constant":true,"id":872,"mutability":"constant","name":"S3x","nameLocation":"2465:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"2448:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":870,"name":"uint256","nodeType":"ElementaryTypeName","src":"2448:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135363037333634343837373134393133333036313030343436323130313035363139333538373333363736303738303336353632333032313531353835303538363433373135323332323535","id":871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2471:77:7","typeDescriptions":{"typeIdentifier":"t_rational_15607364487714913306100446210105619358733676078036562302151585058643715232255_by_1","typeString":"int_const 1560...(69 digits omitted)...2255"},"value":"15607364487714913306100446210105619358733676078036562302151585058643715232255"},"visibility":"internal"},{"constant":true,"id":875,"mutability":"constant","name":"S3y","nameLocation":"2571:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"2554:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":873,"name":"uint256","nodeType":"ElementaryTypeName","src":"2554:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136343138323033383935393332313031393731363631353130333137373137373539303135353638313331393832323837323233393331313336353034383131313930323030393730343232","id":874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2577:77:7","typeDescriptions":{"typeIdentifier":"t_rational_16418203895932101971661510317717759015568131982287223931136504811190200970422_by_1","typeString":"int_const 1641...(69 digits omitted)...0422"},"value":"16418203895932101971661510317717759015568131982287223931136504811190200970422"},"visibility":"internal"},{"constant":true,"id":878,"mutability":"constant","name":"k1","nameLocation":"2677:2:7","nodeType":"VariableDeclaration","scope":1044,"src":"2660:23:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":876,"name":"uint256","nodeType":"ElementaryTypeName","src":"2660:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2682:1:7","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":881,"mutability":"constant","name":"k2","nameLocation":"2706:2:7","nodeType":"VariableDeclaration","scope":1044,"src":"2689:23:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":879,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2711:1:7","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"internal"},{"constant":true,"id":884,"mutability":"constant","name":"X2x1","nameLocation":"2735:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"2718:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":882,"name":"uint256","nodeType":"ElementaryTypeName","src":"2718:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"37353530313731313431343839363432333233333435343936363833373337323434323737303833323536343234303034373037373135393938343833343039353430303430353837343636","id":883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2742:76:7","typeDescriptions":{"typeIdentifier":"t_rational_7550171141489642323345496683737244277083256424004707715998483409540040587466_by_1","typeString":"int_const 7550...(68 digits omitted)...7466"},"value":"7550171141489642323345496683737244277083256424004707715998483409540040587466"},"visibility":"internal"},{"constant":true,"id":887,"mutability":"constant","name":"X2x2","nameLocation":"2841:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"2824:101:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":885,"name":"uint256","nodeType":"ElementaryTypeName","src":"2824:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133363734333237323831343536363030383935363037383139383438363832313539353032393536363038343739373335393735373632323138343131353939303333393831353539393638","id":886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2848:77:7","typeDescriptions":{"typeIdentifier":"t_rational_13674327281456600895607819848682159502956608479735975762218411599033981559968_by_1","typeString":"int_const 1367...(69 digits omitted)...9968"},"value":"13674327281456600895607819848682159502956608479735975762218411599033981559968"},"visibility":"internal"},{"constant":true,"id":890,"mutability":"constant","name":"X2y1","nameLocation":"2948:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"2931:101:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":888,"name":"uint256","nodeType":"ElementaryTypeName","src":"2931:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136333239343237363535393135393434393038343834393734303630383938373631363833393734363436333138303734363339313938303033313837313534353235323534313736353230","id":889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2955:77:7","typeDescriptions":{"typeIdentifier":"t_rational_16329427655915944908484974060898761683974646318074639198003187154525254176520_by_1","typeString":"int_const 1632...(69 digits omitted)...6520"},"value":"16329427655915944908484974060898761683974646318074639198003187154525254176520"},"visibility":"internal"},{"constant":true,"id":893,"mutability":"constant","name":"X2y2","nameLocation":"3055:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"3038:101:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":891,"name":"uint256","nodeType":"ElementaryTypeName","src":"3038:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139363034363331363533303430323033393131353233343934323133363738313838303035393837363232313934353435353732353239363038383335313833393336353639383230393930","id":892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3062:77:7","typeDescriptions":{"typeIdentifier":"t_rational_19604631653040203911523494213678188005987622194545572529608835183936569820990_by_1","typeString":"int_const 1960...(69 digits omitted)...0990"},"value":"19604631653040203911523494213678188005987622194545572529608835183936569820990"},"visibility":"internal"},{"constant":true,"id":896,"mutability":"constant","name":"q","nameLocation":"3167:1:7","nodeType":"VariableDeclaration","scope":1044,"src":"3150:98:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":894,"name":"uint256","nodeType":"ElementaryTypeName","src":"3150:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137","id":895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3171:77:7","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1","typeString":"int_const 2188...(69 digits omitted)...5617"},"value":"21888242871839275222246405745257275088548364400416034343698204186575808495617"},"visibility":"internal"},{"constant":true,"id":899,"mutability":"constant","name":"qf","nameLocation":"3271:2:7","nodeType":"VariableDeclaration","scope":1044,"src":"3254:99:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":897,"name":"uint256","nodeType":"ElementaryTypeName","src":"3254:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833","id":898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3276:77:7","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1","typeString":"int_const 2188...(69 digits omitted)...8583"},"value":"21888242871839275222246405745257275088696311157297823662689037894645226208583"},"visibility":"internal"},{"constant":true,"id":902,"mutability":"constant","name":"w1","nameLocation":"3376:2:7","nodeType":"VariableDeclaration","scope":1044,"src":"3359:99:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":900,"name":"uint256","nodeType":"ElementaryTypeName","src":"3359:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3230343032393331373438383433353338393835313531303031323634353330303439383734383731353732393333363934363334383336353637303730363933393636313333373833383033","id":901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3381:77:7","typeDescriptions":{"typeIdentifier":"t_rational_20402931748843538985151001264530049874871572933694634836567070693966133783803_by_1","typeString":"int_const 2040...(69 digits omitted)...3803"},"value":"20402931748843538985151001264530049874871572933694634836567070693966133783803"},"visibility":"internal"},{"constant":true,"id":905,"mutability":"constant","name":"G1x","nameLocation":"3490:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"3473:24:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":903,"name":"uint256","nodeType":"ElementaryTypeName","src":"3473:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3496:1:7","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":908,"mutability":"constant","name":"G1y","nameLocation":"3520:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"3503:24:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":906,"name":"uint256","nodeType":"ElementaryTypeName","src":"3503:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3526:1:7","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":911,"mutability":"constant","name":"G2x1","nameLocation":"3550:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"3533:101:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":909,"name":"uint256","nodeType":"ElementaryTypeName","src":"3533:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831","id":910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3557:77:7","typeDescriptions":{"typeIdentifier":"t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1","typeString":"int_const 1085...(69 digits omitted)...2781"},"value":"10857046999023057135944570762232829481370756359578518086990519993285655852781"},"visibility":"internal"},{"constant":true,"id":914,"mutability":"constant","name":"G2x2","nameLocation":"3657:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"3640:101:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":912,"name":"uint256","nodeType":"ElementaryTypeName","src":"3640:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334","id":913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3664:77:7","typeDescriptions":{"typeIdentifier":"t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1","typeString":"int_const 1155...(69 digits omitted)...5634"},"value":"11559732032986387107991004021392285783925812861821192530917403151452391805634"},"visibility":"internal"},{"constant":true,"id":917,"mutability":"constant","name":"G2y1","nameLocation":"3764:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"3747:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":915,"name":"uint256","nodeType":"ElementaryTypeName","src":"3747:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330","id":916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3771:76:7","typeDescriptions":{"typeIdentifier":"t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1","typeString":"int_const 8495...(68 digits omitted)...1930"},"value":"8495653923123431417604973247489272438418190587263600148770280649306958101930"},"visibility":"internal"},{"constant":true,"id":920,"mutability":"constant","name":"G2y2","nameLocation":"3870:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"3853:100:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":918,"name":"uint256","nodeType":"ElementaryTypeName","src":"3853:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331","id":919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3877:76:7","typeDescriptions":{"typeIdentifier":"t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1","typeString":"int_const 4082...(68 digits omitted)...3531"},"value":"4082367875863433681332203403145435568316851327593401208105741076214120093531"},"visibility":"internal"},{"constant":true,"id":923,"mutability":"constant","name":"pA","nameLocation":"3975:2:7","nodeType":"VariableDeclaration","scope":1044,"src":"3959:23:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":921,"name":"uint16","nodeType":"ElementaryTypeName","src":"3959:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3980:2:7","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":926,"mutability":"constant","name":"pB","nameLocation":"4004:2:7","nodeType":"VariableDeclaration","scope":1044,"src":"3988:23:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":924,"name":"uint16","nodeType":"ElementaryTypeName","src":"3988:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4009:2:7","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":929,"mutability":"constant","name":"pC","nameLocation":"4033:2:7","nodeType":"VariableDeclaration","scope":1044,"src":"4017:24:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":927,"name":"uint16","nodeType":"ElementaryTypeName","src":"4017:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4038:3:7","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":932,"mutability":"constant","name":"pZ","nameLocation":"4063:2:7","nodeType":"VariableDeclaration","scope":1044,"src":"4047:24:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":930,"name":"uint16","nodeType":"ElementaryTypeName","src":"4047:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4068:3:7","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":935,"mutability":"constant","name":"pT1","nameLocation":"4093:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4077:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":933,"name":"uint16","nodeType":"ElementaryTypeName","src":"4077:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4099:3:7","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":938,"mutability":"constant","name":"pT2","nameLocation":"4124:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4108:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":936,"name":"uint16","nodeType":"ElementaryTypeName","src":"4108:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4130:3:7","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":941,"mutability":"constant","name":"pT3","nameLocation":"4155:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4139:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":939,"name":"uint16","nodeType":"ElementaryTypeName","src":"4139:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4161:3:7","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":944,"mutability":"constant","name":"pWxi","nameLocation":"4186:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"4170:26:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":942,"name":"uint16","nodeType":"ElementaryTypeName","src":"4170:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4193:3:7","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":947,"mutability":"constant","name":"pWxiw","nameLocation":"4218:5:7","nodeType":"VariableDeclaration","scope":1044,"src":"4202:27:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":945,"name":"uint16","nodeType":"ElementaryTypeName","src":"4202:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4226:3:7","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":950,"mutability":"constant","name":"pEval_a","nameLocation":"4251:7:7","nodeType":"VariableDeclaration","scope":1044,"src":"4235:29:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":948,"name":"uint16","nodeType":"ElementaryTypeName","src":"4235:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4261:3:7","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":953,"mutability":"constant","name":"pEval_b","nameLocation":"4286:7:7","nodeType":"VariableDeclaration","scope":1044,"src":"4270:29:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":951,"name":"uint16","nodeType":"ElementaryTypeName","src":"4270:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4296:3:7","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":956,"mutability":"constant","name":"pEval_c","nameLocation":"4321:7:7","nodeType":"VariableDeclaration","scope":1044,"src":"4305:29:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":954,"name":"uint16","nodeType":"ElementaryTypeName","src":"4305:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4331:3:7","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":959,"mutability":"constant","name":"pEval_s1","nameLocation":"4356:8:7","nodeType":"VariableDeclaration","scope":1044,"src":"4340:30:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":957,"name":"uint16","nodeType":"ElementaryTypeName","src":"4340:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4367:3:7","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"constant":true,"id":962,"mutability":"constant","name":"pEval_s2","nameLocation":"4392:8:7","nodeType":"VariableDeclaration","scope":1044,"src":"4376:30:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":960,"name":"uint16","nodeType":"ElementaryTypeName","src":"4376:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373336","id":961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4403:3:7","typeDescriptions":{"typeIdentifier":"t_rational_736_by_1","typeString":"int_const 736"},"value":"736"},"visibility":"internal"},{"constant":true,"id":965,"mutability":"constant","name":"pEval_zw","nameLocation":"4428:8:7","nodeType":"VariableDeclaration","scope":1044,"src":"4412:30:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":963,"name":"uint16","nodeType":"ElementaryTypeName","src":"4412:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373638","id":964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4439:3:7","typeDescriptions":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"},"value":"768"},"visibility":"internal"},{"constant":true,"id":968,"mutability":"constant","name":"pEval_r","nameLocation":"4464:7:7","nodeType":"VariableDeclaration","scope":1044,"src":"4448:29:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":966,"name":"uint16","nodeType":"ElementaryTypeName","src":"4448:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"383030","id":967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4474:3:7","typeDescriptions":{"typeIdentifier":"t_rational_800_by_1","typeString":"int_const 800"},"value":"800"},"visibility":"internal"},{"constant":true,"id":971,"mutability":"constant","name":"pAlpha","nameLocation":"4504:6:7","nodeType":"VariableDeclaration","scope":1044,"src":"4488:26:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":969,"name":"uint16","nodeType":"ElementaryTypeName","src":"4488:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"30","id":970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4513:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"constant":true,"id":974,"mutability":"constant","name":"pBeta","nameLocation":"4536:5:7","nodeType":"VariableDeclaration","scope":1044,"src":"4520:26:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":972,"name":"uint16","nodeType":"ElementaryTypeName","src":"4520:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4544:2:7","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":977,"mutability":"constant","name":"pGamma","nameLocation":"4568:6:7","nodeType":"VariableDeclaration","scope":1044,"src":"4552:27:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":975,"name":"uint16","nodeType":"ElementaryTypeName","src":"4552:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3634","id":976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4577:2:7","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"visibility":"internal"},{"constant":true,"id":980,"mutability":"constant","name":"pXi","nameLocation":"4601:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4585:24:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":978,"name":"uint16","nodeType":"ElementaryTypeName","src":"4585:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4607:2:7","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":983,"mutability":"constant","name":"pXin","nameLocation":"4631:4:7","nodeType":"VariableDeclaration","scope":1044,"src":"4615:26:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":981,"name":"uint16","nodeType":"ElementaryTypeName","src":"4615:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313238","id":982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4638:3:7","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"visibility":"internal"},{"constant":true,"id":986,"mutability":"constant","name":"pBetaXi","nameLocation":"4663:7:7","nodeType":"VariableDeclaration","scope":1044,"src":"4647:29:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":984,"name":"uint16","nodeType":"ElementaryTypeName","src":"4647:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4673:3:7","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":989,"mutability":"constant","name":"pV1","nameLocation":"4698:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4682:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":987,"name":"uint16","nodeType":"ElementaryTypeName","src":"4682:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313932","id":988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4704:3:7","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"visibility":"internal"},{"constant":true,"id":992,"mutability":"constant","name":"pV2","nameLocation":"4729:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4713:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":990,"name":"uint16","nodeType":"ElementaryTypeName","src":"4713:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4735:3:7","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":995,"mutability":"constant","name":"pV3","nameLocation":"4760:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4744:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":993,"name":"uint16","nodeType":"ElementaryTypeName","src":"4744:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323536","id":994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4766:3:7","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"visibility":"internal"},{"constant":true,"id":998,"mutability":"constant","name":"pV4","nameLocation":"4791:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4775:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":996,"name":"uint16","nodeType":"ElementaryTypeName","src":"4775:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4797:3:7","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":1001,"mutability":"constant","name":"pV5","nameLocation":"4822:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4806:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":999,"name":"uint16","nodeType":"ElementaryTypeName","src":"4806:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333230","id":1000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4828:3:7","typeDescriptions":{"typeIdentifier":"t_rational_320_by_1","typeString":"int_const 320"},"value":"320"},"visibility":"internal"},{"constant":true,"id":1004,"mutability":"constant","name":"pV6","nameLocation":"4853:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4837:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1002,"name":"uint16","nodeType":"ElementaryTypeName","src":"4837:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":1003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4859:3:7","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":1007,"mutability":"constant","name":"pU","nameLocation":"4884:2:7","nodeType":"VariableDeclaration","scope":1044,"src":"4868:24:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1005,"name":"uint16","nodeType":"ElementaryTypeName","src":"4868:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333834","id":1006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4889:3:7","typeDescriptions":{"typeIdentifier":"t_rational_384_by_1","typeString":"int_const 384"},"value":"384"},"visibility":"internal"},{"constant":true,"id":1010,"mutability":"constant","name":"pPl","nameLocation":"4914:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4898:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1008,"name":"uint16","nodeType":"ElementaryTypeName","src":"4898:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":1009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4920:3:7","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":1013,"mutability":"constant","name":"pEval_t","nameLocation":"4945:7:7","nodeType":"VariableDeclaration","scope":1044,"src":"4929:29:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1011,"name":"uint16","nodeType":"ElementaryTypeName","src":"4929:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343438","id":1012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4955:3:7","typeDescriptions":{"typeIdentifier":"t_rational_448_by_1","typeString":"int_const 448"},"value":"448"},"visibility":"internal"},{"constant":true,"id":1016,"mutability":"constant","name":"pA1","nameLocation":"4980:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4964:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1014,"name":"uint16","nodeType":"ElementaryTypeName","src":"4964:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":1015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4986:3:7","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":1019,"mutability":"constant","name":"pB1","nameLocation":"5011:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"4995:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1017,"name":"uint16","nodeType":"ElementaryTypeName","src":"4995:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":1018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5017:3:7","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":1022,"mutability":"constant","name":"pZh","nameLocation":"5042:3:7","nodeType":"VariableDeclaration","scope":1044,"src":"5026:25:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1020,"name":"uint16","nodeType":"ElementaryTypeName","src":"5026:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":1021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5048:3:7","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":1025,"mutability":"constant","name":"pZhInv","nameLocation":"5073:6:7","nodeType":"VariableDeclaration","scope":1044,"src":"5057:28:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1023,"name":"uint16","nodeType":"ElementaryTypeName","src":"5057:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":1024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5082:3:7","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":1028,"mutability":"constant","name":"pEval_l1","nameLocation":"5112:8:7","nodeType":"VariableDeclaration","scope":1044,"src":"5096:30:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1026,"name":"uint16","nodeType":"ElementaryTypeName","src":"5096:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":1027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5123:3:7","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":1031,"mutability":"constant","name":"lastMem","nameLocation":"5163:7:7","nodeType":"VariableDeclaration","scope":1044,"src":"5147:29:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1029,"name":"uint16","nodeType":"ElementaryTypeName","src":"5147:6:7","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":1030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5173:3:7","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"body":{"id":1042,"nodeType":"Block","src":"5277:19457:7","statements":[{"AST":{"nativeSrc":"5296:19423:7","nodeType":"YulBlock","src":"5296:19423:7","statements":[{"body":{"nativeSrc":"5459:694:7","nodeType":"YulBlock","src":"5459:694:7","statements":[{"nativeSrc":"5477:10:7","nodeType":"YulVariableDeclaration","src":"5477:10:7","value":{"kind":"number","nativeSrc":"5486:1:7","nodeType":"YulLiteral","src":"5486:1:7","type":"","value":"0"},"variables":[{"name":"t","nativeSrc":"5481:1:7","nodeType":"YulTypedName","src":"5481:1:7","type":""}]},{"nativeSrc":"5509:13:7","nodeType":"YulVariableDeclaration","src":"5509:13:7","value":{"kind":"number","nativeSrc":"5521:1:7","nodeType":"YulLiteral","src":"5521:1:7","type":"","value":"1"},"variables":[{"name":"newt","nativeSrc":"5513:4:7","nodeType":"YulTypedName","src":"5513:4:7","type":""}]},{"nativeSrc":"5539:10:7","nodeType":"YulVariableDeclaration","src":"5539:10:7","value":{"name":"q","nativeSrc":"5548:1:7","nodeType":"YulIdentifier","src":"5548:1:7"},"variables":[{"name":"r","nativeSrc":"5543:1:7","nodeType":"YulTypedName","src":"5543:1:7","type":""}]},{"nativeSrc":"5571:13:7","nodeType":"YulVariableDeclaration","src":"5571:13:7","value":{"name":"a","nativeSrc":"5583:1:7","nodeType":"YulIdentifier","src":"5583:1:7"},"variables":[{"name":"newr","nativeSrc":"5575:4:7","nodeType":"YulTypedName","src":"5575:4:7","type":""}]},{"nativeSrc":"5601:12:7","nodeType":"YulVariableDeclaration","src":"5601:12:7","variables":[{"name":"quotient","nativeSrc":"5605:8:7","nodeType":"YulTypedName","src":"5605:8:7","type":""}]},{"nativeSrc":"5630:7:7","nodeType":"YulVariableDeclaration","src":"5630:7:7","variables":[{"name":"aux","nativeSrc":"5634:3:7","nodeType":"YulTypedName","src":"5634:3:7","type":""}]},{"body":{"nativeSrc":"5688:317:7","nodeType":"YulBlock","src":"5688:317:7","statements":[{"nativeSrc":"5710:25:7","nodeType":"YulAssignment","src":"5710:25:7","value":{"arguments":[{"name":"r","nativeSrc":"5727:1:7","nodeType":"YulIdentifier","src":"5727:1:7"},{"name":"newr","nativeSrc":"5730:4:7","nodeType":"YulIdentifier","src":"5730:4:7"}],"functionName":{"name":"sdiv","nativeSrc":"5722:4:7","nodeType":"YulIdentifier","src":"5722:4:7"},"nativeSrc":"5722:13:7","nodeType":"YulFunctionCall","src":"5722:13:7"},"variableNames":[{"name":"quotient","nativeSrc":"5710:8:7","nodeType":"YulIdentifier","src":"5710:8:7"}]},{"nativeSrc":"5756:34:7","nodeType":"YulAssignment","src":"5756:34:7","value":{"arguments":[{"name":"t","nativeSrc":"5767:1:7","nodeType":"YulIdentifier","src":"5767:1:7"},{"arguments":[{"name":"quotient","nativeSrc":"5774:8:7","nodeType":"YulIdentifier","src":"5774:8:7"},{"name":"newt","nativeSrc":"5784:4:7","nodeType":"YulIdentifier","src":"5784:4:7"}],"functionName":{"name":"mul","nativeSrc":"5770:3:7","nodeType":"YulIdentifier","src":"5770:3:7"},"nativeSrc":"5770:19:7","nodeType":"YulFunctionCall","src":"5770:19:7"}],"functionName":{"name":"sub","nativeSrc":"5763:3:7","nodeType":"YulIdentifier","src":"5763:3:7"},"nativeSrc":"5763:27:7","nodeType":"YulFunctionCall","src":"5763:27:7"},"variableNames":[{"name":"aux","nativeSrc":"5756:3:7","nodeType":"YulIdentifier","src":"5756:3:7"}]},{"nativeSrc":"5811:8:7","nodeType":"YulAssignment","src":"5811:8:7","value":{"name":"newt","nativeSrc":"5815:4:7","nodeType":"YulIdentifier","src":"5815:4:7"},"variableNames":[{"name":"t","nativeSrc":"5811:1:7","nodeType":"YulIdentifier","src":"5811:1:7"}]},{"nativeSrc":"5840:10:7","nodeType":"YulAssignment","src":"5840:10:7","value":{"name":"aux","nativeSrc":"5847:3:7","nodeType":"YulIdentifier","src":"5847:3:7"},"variableNames":[{"name":"newt","nativeSrc":"5840:4:7","nodeType":"YulIdentifier","src":"5840:4:7"}]},{"nativeSrc":"5892:33:7","nodeType":"YulAssignment","src":"5892:33:7","value":{"arguments":[{"name":"r","nativeSrc":"5903:1:7","nodeType":"YulIdentifier","src":"5903:1:7"},{"arguments":[{"name":"quotient","nativeSrc":"5909:8:7","nodeType":"YulIdentifier","src":"5909:8:7"},{"name":"newr","nativeSrc":"5919:4:7","nodeType":"YulIdentifier","src":"5919:4:7"}],"functionName":{"name":"mul","nativeSrc":"5905:3:7","nodeType":"YulIdentifier","src":"5905:3:7"},"nativeSrc":"5905:19:7","nodeType":"YulFunctionCall","src":"5905:19:7"}],"functionName":{"name":"sub","nativeSrc":"5899:3:7","nodeType":"YulIdentifier","src":"5899:3:7"},"nativeSrc":"5899:26:7","nodeType":"YulFunctionCall","src":"5899:26:7"},"variableNames":[{"name":"aux","nativeSrc":"5892:3:7","nodeType":"YulIdentifier","src":"5892:3:7"}]},{"nativeSrc":"5946:9:7","nodeType":"YulAssignment","src":"5946:9:7","value":{"name":"newr","nativeSrc":"5951:4:7","nodeType":"YulIdentifier","src":"5951:4:7"},"variableNames":[{"name":"r","nativeSrc":"5946:1:7","nodeType":"YulIdentifier","src":"5946:1:7"}]},{"nativeSrc":"5976:11:7","nodeType":"YulAssignment","src":"5976:11:7","value":{"name":"aux","nativeSrc":"5984:3:7","nodeType":"YulIdentifier","src":"5984:3:7"},"variableNames":[{"name":"newr","nativeSrc":"5976:4:7","nodeType":"YulIdentifier","src":"5976:4:7"}]}]},"condition":{"name":"newr","nativeSrc":"5679:4:7","nodeType":"YulIdentifier","src":"5679:4:7"},"nativeSrc":"5671:334:7","nodeType":"YulForLoop","post":{"nativeSrc":"5684:3:7","nodeType":"YulBlock","src":"5684:3:7","statements":[]},"pre":{"nativeSrc":"5675:3:7","nodeType":"YulBlock","src":"5675:3:7","statements":[]},"src":"5671:334:7"},{"body":{"nativeSrc":"6051:15:7","nodeType":"YulBlock","src":"6051:15:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6060:1:7","nodeType":"YulLiteral","src":"6060:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"6062:1:7","nodeType":"YulLiteral","src":"6062:1:7","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6053:6:7","nodeType":"YulIdentifier","src":"6053:6:7"},"nativeSrc":"6053:11:7","nodeType":"YulFunctionCall","src":"6053:11:7"},"nativeSrc":"6053:11:7","nodeType":"YulExpressionStatement","src":"6053:11:7"}]},"condition":{"arguments":[{"name":"r","nativeSrc":"6045:1:7","nodeType":"YulIdentifier","src":"6045:1:7"},{"kind":"number","nativeSrc":"6048:1:7","nodeType":"YulLiteral","src":"6048:1:7","type":"","value":"1"}],"functionName":{"name":"gt","nativeSrc":"6042:2:7","nodeType":"YulIdentifier","src":"6042:2:7"},"nativeSrc":"6042:8:7","nodeType":"YulFunctionCall","src":"6042:8:7"},"nativeSrc":"6039:27:7","nodeType":"YulIf","src":"6039:27:7"},{"body":{"nativeSrc":"6096:17:7","nodeType":"YulBlock","src":"6096:17:7","statements":[{"nativeSrc":"6098:13:7","nodeType":"YulAssignment","src":"6098:13:7","value":{"arguments":[{"name":"t","nativeSrc":"6106:1:7","nodeType":"YulIdentifier","src":"6106:1:7"},{"name":"q","nativeSrc":"6109:1:7","nodeType":"YulIdentifier","src":"6109:1:7"}],"functionName":{"name":"add","nativeSrc":"6102:3:7","nodeType":"YulIdentifier","src":"6102:3:7"},"nativeSrc":"6102:9:7","nodeType":"YulFunctionCall","src":"6102:9:7"},"variableNames":[{"name":"t","nativeSrc":"6098:1:7","nodeType":"YulIdentifier","src":"6098:1:7"}]}]},"condition":{"arguments":[{"name":"t","nativeSrc":"6090:1:7","nodeType":"YulIdentifier","src":"6090:1:7"},{"kind":"number","nativeSrc":"6093:1:7","nodeType":"YulLiteral","src":"6093:1:7","type":"","value":"0"}],"functionName":{"name":"slt","nativeSrc":"6086:3:7","nodeType":"YulIdentifier","src":"6086:3:7"},"nativeSrc":"6086:9:7","nodeType":"YulFunctionCall","src":"6086:9:7"},"nativeSrc":"6083:30:7","nodeType":"YulIf","src":"6083:30:7"},{"nativeSrc":"6131:8:7","nodeType":"YulAssignment","src":"6131:8:7","value":{"name":"t","nativeSrc":"6138:1:7","nodeType":"YulIdentifier","src":"6138:1:7"},"variableNames":[{"name":"inv","nativeSrc":"6131:3:7","nodeType":"YulIdentifier","src":"6131:3:7"}]}]},"name":"inverse","nativeSrc":"5429:724:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"a","nativeSrc":"5446:1:7","nodeType":"YulTypedName","src":"5446:1:7","type":""},{"name":"q","nativeSrc":"5449:1:7","nodeType":"YulTypedName","src":"5449:1:7","type":""}],"returnVariables":[{"name":"inv","nativeSrc":"5455:3:7","nodeType":"YulTypedName","src":"5455:3:7","type":""}],"src":"5429:724:7"},{"body":{"nativeSrc":"6427:1485:7","nodeType":"YulBlock","src":"6427:1485:7","statements":[{"nativeSrc":"6450:23:7","nodeType":"YulVariableDeclaration","src":"6450:23:7","value":{"arguments":[{"kind":"number","nativeSrc":"6468:4:7","nodeType":"YulLiteral","src":"6468:4:7","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6462:5:7","nodeType":"YulIdentifier","src":"6462:5:7"},"nativeSrc":"6462:11:7","nodeType":"YulFunctionCall","src":"6462:11:7"},"variables":[{"name":"pAux","nativeSrc":"6454:4:7","nodeType":"YulTypedName","src":"6454:4:7","type":""}]},{"nativeSrc":"6529:16:7","nodeType":"YulVariableDeclaration","src":"6529:16:7","value":{"name":"pVals","nativeSrc":"6540:5:7","nodeType":"YulIdentifier","src":"6540:5:7"},"variables":[{"name":"pIn","nativeSrc":"6533:3:7","nodeType":"YulTypedName","src":"6533:3:7","type":""}]},{"nativeSrc":"6562:37:7","nodeType":"YulVariableDeclaration","src":"6562:37:7","value":{"arguments":[{"name":"pVals","nativeSrc":"6581:5:7","nodeType":"YulIdentifier","src":"6581:5:7"},{"arguments":[{"name":"n","nativeSrc":"6592:1:7","nodeType":"YulIdentifier","src":"6592:1:7"},{"kind":"number","nativeSrc":"6595:2:7","nodeType":"YulLiteral","src":"6595:2:7","type":"","value":"32"}],"functionName":{"name":"mul","nativeSrc":"6588:3:7","nodeType":"YulIdentifier","src":"6588:3:7"},"nativeSrc":"6588:10:7","nodeType":"YulFunctionCall","src":"6588:10:7"}],"functionName":{"name":"add","nativeSrc":"6577:3:7","nodeType":"YulIdentifier","src":"6577:3:7"},"nativeSrc":"6577:22:7","nodeType":"YulFunctionCall","src":"6577:22:7"},"variables":[{"name":"lastPIn","nativeSrc":"6566:7:7","nodeType":"YulTypedName","src":"6566:7:7","type":""}]},{"nativeSrc":"6635:21:7","nodeType":"YulVariableDeclaration","src":"6635:21:7","value":{"arguments":[{"name":"pIn","nativeSrc":"6652:3:7","nodeType":"YulIdentifier","src":"6652:3:7"}],"functionName":{"name":"mload","nativeSrc":"6646:5:7","nodeType":"YulIdentifier","src":"6646:5:7"},"nativeSrc":"6646:10:7","nodeType":"YulFunctionCall","src":"6646:10:7"},"variables":[{"name":"acc","nativeSrc":"6639:3:7","nodeType":"YulTypedName","src":"6639:3:7","type":""}]},{"nativeSrc":"6705:19:7","nodeType":"YulAssignment","src":"6705:19:7","value":{"arguments":[{"name":"pIn","nativeSrc":"6716:3:7","nodeType":"YulIdentifier","src":"6716:3:7"},{"kind":"number","nativeSrc":"6721:2:7","nodeType":"YulLiteral","src":"6721:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6712:3:7","nodeType":"YulIdentifier","src":"6712:3:7"},"nativeSrc":"6712:12:7","nodeType":"YulFunctionCall","src":"6712:12:7"},"variableNames":[{"name":"pIn","nativeSrc":"6705:3:7","nodeType":"YulIdentifier","src":"6705:3:7"}]},{"nativeSrc":"6780:7:7","nodeType":"YulVariableDeclaration","src":"6780:7:7","variables":[{"name":"inv","nativeSrc":"6784:3:7","nodeType":"YulTypedName","src":"6784:3:7","type":""}]},{"body":{"nativeSrc":"6972:111:7","nodeType":"YulBlock","src":"6972:111:7","statements":[{"expression":{"arguments":[{"name":"pAux","nativeSrc":"7001:4:7","nodeType":"YulIdentifier","src":"7001:4:7"},{"name":"acc","nativeSrc":"7007:3:7","nodeType":"YulIdentifier","src":"7007:3:7"}],"functionName":{"name":"mstore","nativeSrc":"6994:6:7","nodeType":"YulIdentifier","src":"6994:6:7"},"nativeSrc":"6994:17:7","nodeType":"YulFunctionCall","src":"6994:17:7"},"nativeSrc":"6994:17:7","nodeType":"YulExpressionStatement","src":"6994:17:7"},{"nativeSrc":"7032:33:7","nodeType":"YulAssignment","src":"7032:33:7","value":{"arguments":[{"name":"acc","nativeSrc":"7046:3:7","nodeType":"YulIdentifier","src":"7046:3:7"},{"arguments":[{"name":"pIn","nativeSrc":"7057:3:7","nodeType":"YulIdentifier","src":"7057:3:7"}],"functionName":{"name":"mload","nativeSrc":"7051:5:7","nodeType":"YulIdentifier","src":"7051:5:7"},"nativeSrc":"7051:10:7","nodeType":"YulFunctionCall","src":"7051:10:7"},{"name":"q","nativeSrc":"7063:1:7","nodeType":"YulIdentifier","src":"7063:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"7039:6:7","nodeType":"YulIdentifier","src":"7039:6:7"},"nativeSrc":"7039:26:7","nodeType":"YulFunctionCall","src":"7039:26:7"},"variableNames":[{"name":"acc","nativeSrc":"7032:3:7","nodeType":"YulIdentifier","src":"7032:3:7"}]}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"6837:3:7","nodeType":"YulIdentifier","src":"6837:3:7"},{"name":"lastPIn","nativeSrc":"6842:7:7","nodeType":"YulIdentifier","src":"6842:7:7"}],"functionName":{"name":"lt","nativeSrc":"6834:2:7","nodeType":"YulIdentifier","src":"6834:2:7"},"nativeSrc":"6834:16:7","nodeType":"YulFunctionCall","src":"6834:16:7"},"nativeSrc":"6826:257:7","nodeType":"YulForLoop","post":{"nativeSrc":"6851:103:7","nodeType":"YulBlock","src":"6851:103:7","statements":[{"nativeSrc":"6874:21:7","nodeType":"YulAssignment","src":"6874:21:7","value":{"arguments":[{"name":"pAux","nativeSrc":"6886:4:7","nodeType":"YulIdentifier","src":"6886:4:7"},{"kind":"number","nativeSrc":"6892:2:7","nodeType":"YulLiteral","src":"6892:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6882:3:7","nodeType":"YulIdentifier","src":"6882:3:7"},"nativeSrc":"6882:13:7","nodeType":"YulFunctionCall","src":"6882:13:7"},"variableNames":[{"name":"pAux","nativeSrc":"6874:4:7","nodeType":"YulIdentifier","src":"6874:4:7"}]},{"nativeSrc":"6917:19:7","nodeType":"YulAssignment","src":"6917:19:7","value":{"arguments":[{"name":"pIn","nativeSrc":"6928:3:7","nodeType":"YulIdentifier","src":"6928:3:7"},{"kind":"number","nativeSrc":"6933:2:7","nodeType":"YulLiteral","src":"6933:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6924:3:7","nodeType":"YulIdentifier","src":"6924:3:7"},"nativeSrc":"6924:12:7","nodeType":"YulFunctionCall","src":"6924:12:7"},"variableNames":[{"name":"pIn","nativeSrc":"6917:3:7","nodeType":"YulIdentifier","src":"6917:3:7"}]}]},"pre":{"nativeSrc":"6830:3:7","nodeType":"YulBlock","src":"6830:3:7","statements":[]},"src":"6826:257:7"},{"nativeSrc":"7100:22:7","nodeType":"YulAssignment","src":"7100:22:7","value":{"arguments":[{"name":"acc","nativeSrc":"7115:3:7","nodeType":"YulIdentifier","src":"7115:3:7"},{"name":"q","nativeSrc":"7120:1:7","nodeType":"YulIdentifier","src":"7120:1:7"}],"functionName":{"name":"inverse","nativeSrc":"7107:7:7","nodeType":"YulIdentifier","src":"7107:7:7"},"nativeSrc":"7107:15:7","nodeType":"YulFunctionCall","src":"7107:15:7"},"variableNames":[{"name":"acc","nativeSrc":"7100:3:7","nodeType":"YulIdentifier","src":"7100:3:7"}]},{"nativeSrc":"7266:21:7","nodeType":"YulAssignment","src":"7266:21:7","value":{"arguments":[{"name":"pAux","nativeSrc":"7278:4:7","nodeType":"YulIdentifier","src":"7278:4:7"},{"kind":"number","nativeSrc":"7284:2:7","nodeType":"YulLiteral","src":"7284:2:7","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7274:3:7","nodeType":"YulIdentifier","src":"7274:3:7"},"nativeSrc":"7274:13:7","nodeType":"YulFunctionCall","src":"7274:13:7"},"variableNames":[{"name":"pAux","nativeSrc":"7266:4:7","nodeType":"YulIdentifier","src":"7266:4:7"}]},{"nativeSrc":"7381:19:7","nodeType":"YulAssignment","src":"7381:19:7","value":{"arguments":[{"name":"pIn","nativeSrc":"7392:3:7","nodeType":"YulIdentifier","src":"7392:3:7"},{"kind":"number","nativeSrc":"7397:2:7","nodeType":"YulLiteral","src":"7397:2:7","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7388:3:7","nodeType":"YulIdentifier","src":"7388:3:7"},"nativeSrc":"7388:12:7","nodeType":"YulFunctionCall","src":"7388:12:7"},"variableNames":[{"name":"pIn","nativeSrc":"7381:3:7","nodeType":"YulIdentifier","src":"7381:3:7"}]},{"nativeSrc":"7417:16:7","nodeType":"YulAssignment","src":"7417:16:7","value":{"name":"pVals","nativeSrc":"7428:5:7","nodeType":"YulIdentifier","src":"7428:5:7"},"variableNames":[{"name":"lastPIn","nativeSrc":"7417:7:7","nodeType":"YulIdentifier","src":"7417:7:7"}]},{"body":{"nativeSrc":"7636:165:7","nodeType":"YulBlock","src":"7636:165:7","statements":[{"nativeSrc":"7658:34:7","nodeType":"YulAssignment","src":"7658:34:7","value":{"arguments":[{"name":"acc","nativeSrc":"7672:3:7","nodeType":"YulIdentifier","src":"7672:3:7"},{"arguments":[{"name":"pAux","nativeSrc":"7683:4:7","nodeType":"YulIdentifier","src":"7683:4:7"}],"functionName":{"name":"mload","nativeSrc":"7677:5:7","nodeType":"YulIdentifier","src":"7677:5:7"},"nativeSrc":"7677:11:7","nodeType":"YulFunctionCall","src":"7677:11:7"},{"name":"q","nativeSrc":"7690:1:7","nodeType":"YulIdentifier","src":"7690:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"7665:6:7","nodeType":"YulIdentifier","src":"7665:6:7"},"nativeSrc":"7665:27:7","nodeType":"YulFunctionCall","src":"7665:27:7"},"variableNames":[{"name":"inv","nativeSrc":"7658:3:7","nodeType":"YulIdentifier","src":"7658:3:7"}]},{"nativeSrc":"7713:33:7","nodeType":"YulAssignment","src":"7713:33:7","value":{"arguments":[{"name":"acc","nativeSrc":"7727:3:7","nodeType":"YulIdentifier","src":"7727:3:7"},{"arguments":[{"name":"pIn","nativeSrc":"7738:3:7","nodeType":"YulIdentifier","src":"7738:3:7"}],"functionName":{"name":"mload","nativeSrc":"7732:5:7","nodeType":"YulIdentifier","src":"7732:5:7"},"nativeSrc":"7732:10:7","nodeType":"YulFunctionCall","src":"7732:10:7"},{"name":"q","nativeSrc":"7744:1:7","nodeType":"YulIdentifier","src":"7744:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"7720:6:7","nodeType":"YulIdentifier","src":"7720:6:7"},"nativeSrc":"7720:26:7","nodeType":"YulFunctionCall","src":"7720:26:7"},"variableNames":[{"name":"acc","nativeSrc":"7713:3:7","nodeType":"YulIdentifier","src":"7713:3:7"}]},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7774:3:7","nodeType":"YulIdentifier","src":"7774:3:7"},{"name":"inv","nativeSrc":"7779:3:7","nodeType":"YulIdentifier","src":"7779:3:7"}],"functionName":{"name":"mstore","nativeSrc":"7767:6:7","nodeType":"YulIdentifier","src":"7767:6:7"},"nativeSrc":"7767:16:7","nodeType":"YulFunctionCall","src":"7767:16:7"},"nativeSrc":"7767:16:7","nodeType":"YulExpressionStatement","src":"7767:16:7"}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"7501:3:7","nodeType":"YulIdentifier","src":"7501:3:7"},{"name":"lastPIn","nativeSrc":"7506:7:7","nodeType":"YulIdentifier","src":"7506:7:7"}],"functionName":{"name":"gt","nativeSrc":"7498:2:7","nodeType":"YulIdentifier","src":"7498:2:7"},"nativeSrc":"7498:16:7","nodeType":"YulFunctionCall","src":"7498:16:7"},"nativeSrc":"7490:311:7","nodeType":"YulForLoop","post":{"nativeSrc":"7515:103:7","nodeType":"YulBlock","src":"7515:103:7","statements":[{"nativeSrc":"7538:21:7","nodeType":"YulAssignment","src":"7538:21:7","value":{"arguments":[{"name":"pAux","nativeSrc":"7550:4:7","nodeType":"YulIdentifier","src":"7550:4:7"},{"kind":"number","nativeSrc":"7556:2:7","nodeType":"YulLiteral","src":"7556:2:7","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7546:3:7","nodeType":"YulIdentifier","src":"7546:3:7"},"nativeSrc":"7546:13:7","nodeType":"YulFunctionCall","src":"7546:13:7"},"variableNames":[{"name":"pAux","nativeSrc":"7538:4:7","nodeType":"YulIdentifier","src":"7538:4:7"}]},{"nativeSrc":"7581:19:7","nodeType":"YulAssignment","src":"7581:19:7","value":{"arguments":[{"name":"pIn","nativeSrc":"7592:3:7","nodeType":"YulIdentifier","src":"7592:3:7"},{"kind":"number","nativeSrc":"7597:2:7","nodeType":"YulLiteral","src":"7597:2:7","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7588:3:7","nodeType":"YulIdentifier","src":"7588:3:7"},"nativeSrc":"7588:12:7","nodeType":"YulFunctionCall","src":"7588:12:7"},"variableNames":[{"name":"pIn","nativeSrc":"7581:3:7","nodeType":"YulIdentifier","src":"7581:3:7"}]}]},"pre":{"nativeSrc":"7494:3:7","nodeType":"YulBlock","src":"7494:3:7","statements":[]},"src":"7490:311:7"},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7889:3:7","nodeType":"YulIdentifier","src":"7889:3:7"},{"name":"acc","nativeSrc":"7894:3:7","nodeType":"YulIdentifier","src":"7894:3:7"}],"functionName":{"name":"mstore","nativeSrc":"7882:6:7","nodeType":"YulIdentifier","src":"7882:6:7"},"nativeSrc":"7882:16:7","nodeType":"YulFunctionCall","src":"7882:16:7"},"nativeSrc":"7882:16:7","nodeType":"YulExpressionStatement","src":"7882:16:7"}]},"name":"inverseArray","nativeSrc":"6395:1517:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pVals","nativeSrc":"6417:5:7","nodeType":"YulTypedName","src":"6417:5:7","type":""},{"name":"n","nativeSrc":"6424:1:7","nodeType":"YulTypedName","src":"6424:1:7","type":""}],"src":"6395:1517:7"},{"body":{"nativeSrc":"7961:139:7","nodeType":"YulBlock","src":"7961:139:7","statements":[{"body":{"nativeSrc":"7999:87:7","nodeType":"YulBlock","src":"7999:87:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8028:1:7","nodeType":"YulLiteral","src":"8028:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"8031:1:7","nodeType":"YulLiteral","src":"8031:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8021:6:7","nodeType":"YulIdentifier","src":"8021:6:7"},"nativeSrc":"8021:12:7","nodeType":"YulFunctionCall","src":"8021:12:7"},"nativeSrc":"8021:12:7","nodeType":"YulExpressionStatement","src":"8021:12:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8061:1:7","nodeType":"YulLiteral","src":"8061:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"8063:4:7","nodeType":"YulLiteral","src":"8063:4:7","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8054:6:7","nodeType":"YulIdentifier","src":"8054:6:7"},"nativeSrc":"8054:14:7","nodeType":"YulFunctionCall","src":"8054:14:7"},"nativeSrc":"8054:14:7","nodeType":"YulExpressionStatement","src":"8054:14:7"}]},"condition":{"arguments":[{"arguments":[{"name":"v","nativeSrc":"7992:1:7","nodeType":"YulIdentifier","src":"7992:1:7"},{"name":"q","nativeSrc":"7995:1:7","nodeType":"YulIdentifier","src":"7995:1:7"}],"functionName":{"name":"lt","nativeSrc":"7989:2:7","nodeType":"YulIdentifier","src":"7989:2:7"},"nativeSrc":"7989:8:7","nodeType":"YulFunctionCall","src":"7989:8:7"}],"functionName":{"name":"iszero","nativeSrc":"7982:6:7","nodeType":"YulIdentifier","src":"7982:6:7"},"nativeSrc":"7982:16:7","nodeType":"YulFunctionCall","src":"7982:16:7"},"nativeSrc":"7979:107:7","nodeType":"YulIf","src":"7979:107:7"}]},"name":"checkField","nativeSrc":"7938:162:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"v","nativeSrc":"7958:1:7","nodeType":"YulTypedName","src":"7958:1:7","type":""}],"src":"7938:162:7"},{"body":{"nativeSrc":"8154:640:7","nodeType":"YulBlock","src":"8154:640:7","statements":[{"body":{"nativeSrc":"8207:87:7","nodeType":"YulBlock","src":"8207:87:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8236:1:7","nodeType":"YulLiteral","src":"8236:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"8239:1:7","nodeType":"YulLiteral","src":"8239:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8229:6:7","nodeType":"YulIdentifier","src":"8229:6:7"},"nativeSrc":"8229:12:7","nodeType":"YulFunctionCall","src":"8229:12:7"},"nativeSrc":"8229:12:7","nodeType":"YulExpressionStatement","src":"8229:12:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8269:1:7","nodeType":"YulLiteral","src":"8269:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"8271:4:7","nodeType":"YulLiteral","src":"8271:4:7","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8262:6:7","nodeType":"YulIdentifier","src":"8262:6:7"},"nativeSrc":"8262:14:7","nodeType":"YulFunctionCall","src":"8262:14:7"},"nativeSrc":"8262:14:7","nodeType":"YulExpressionStatement","src":"8262:14:7"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8191:6:7","nodeType":"YulIdentifier","src":"8191:6:7"}],"functionName":{"name":"mload","nativeSrc":"8185:5:7","nodeType":"YulIdentifier","src":"8185:5:7"},"nativeSrc":"8185:13:7","nodeType":"YulFunctionCall","src":"8185:13:7"},{"kind":"number","nativeSrc":"8200:3:7","nodeType":"YulLiteral","src":"8200:3:7","type":"","value":"800"}],"functionName":{"name":"eq","nativeSrc":"8182:2:7","nodeType":"YulIdentifier","src":"8182:2:7"},"nativeSrc":"8182:23:7","nodeType":"YulFunctionCall","src":"8182:23:7"}],"functionName":{"name":"iszero","nativeSrc":"8175:6:7","nodeType":"YulIdentifier","src":"8175:6:7"},"nativeSrc":"8175:31:7","nodeType":"YulFunctionCall","src":"8175:31:7"},"nativeSrc":"8172:122:7","nodeType":"YulIf","src":"8172:122:7"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8332:6:7","nodeType":"YulIdentifier","src":"8332:6:7"},{"name":"pEval_a","nativeSrc":"8340:7:7","nodeType":"YulIdentifier","src":"8340:7:7"}],"functionName":{"name":"add","nativeSrc":"8328:3:7","nodeType":"YulIdentifier","src":"8328:3:7"},"nativeSrc":"8328:20:7","nodeType":"YulFunctionCall","src":"8328:20:7"}],"functionName":{"name":"mload","nativeSrc":"8322:5:7","nodeType":"YulIdentifier","src":"8322:5:7"},"nativeSrc":"8322:27:7","nodeType":"YulFunctionCall","src":"8322:27:7"}],"functionName":{"name":"checkField","nativeSrc":"8311:10:7","nodeType":"YulIdentifier","src":"8311:10:7"},"nativeSrc":"8311:39:7","nodeType":"YulFunctionCall","src":"8311:39:7"},"nativeSrc":"8311:39:7","nodeType":"YulExpressionStatement","src":"8311:39:7"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8388:6:7","nodeType":"YulIdentifier","src":"8388:6:7"},{"name":"pEval_b","nativeSrc":"8396:7:7","nodeType":"YulIdentifier","src":"8396:7:7"}],"functionName":{"name":"add","nativeSrc":"8384:3:7","nodeType":"YulIdentifier","src":"8384:3:7"},"nativeSrc":"8384:20:7","nodeType":"YulFunctionCall","src":"8384:20:7"}],"functionName":{"name":"mload","nativeSrc":"8378:5:7","nodeType":"YulIdentifier","src":"8378:5:7"},"nativeSrc":"8378:27:7","nodeType":"YulFunctionCall","src":"8378:27:7"}],"functionName":{"name":"checkField","nativeSrc":"8367:10:7","nodeType":"YulIdentifier","src":"8367:10:7"},"nativeSrc":"8367:39:7","nodeType":"YulFunctionCall","src":"8367:39:7"},"nativeSrc":"8367:39:7","nodeType":"YulExpressionStatement","src":"8367:39:7"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8444:6:7","nodeType":"YulIdentifier","src":"8444:6:7"},{"name":"pEval_c","nativeSrc":"8452:7:7","nodeType":"YulIdentifier","src":"8452:7:7"}],"functionName":{"name":"add","nativeSrc":"8440:3:7","nodeType":"YulIdentifier","src":"8440:3:7"},"nativeSrc":"8440:20:7","nodeType":"YulFunctionCall","src":"8440:20:7"}],"functionName":{"name":"mload","nativeSrc":"8434:5:7","nodeType":"YulIdentifier","src":"8434:5:7"},"nativeSrc":"8434:27:7","nodeType":"YulFunctionCall","src":"8434:27:7"}],"functionName":{"name":"checkField","nativeSrc":"8423:10:7","nodeType":"YulIdentifier","src":"8423:10:7"},"nativeSrc":"8423:39:7","nodeType":"YulFunctionCall","src":"8423:39:7"},"nativeSrc":"8423:39:7","nodeType":"YulExpressionStatement","src":"8423:39:7"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8500:6:7","nodeType":"YulIdentifier","src":"8500:6:7"},{"name":"pEval_s1","nativeSrc":"8508:8:7","nodeType":"YulIdentifier","src":"8508:8:7"}],"functionName":{"name":"add","nativeSrc":"8496:3:7","nodeType":"YulIdentifier","src":"8496:3:7"},"nativeSrc":"8496:21:7","nodeType":"YulFunctionCall","src":"8496:21:7"}],"functionName":{"name":"mload","nativeSrc":"8490:5:7","nodeType":"YulIdentifier","src":"8490:5:7"},"nativeSrc":"8490:28:7","nodeType":"YulFunctionCall","src":"8490:28:7"}],"functionName":{"name":"checkField","nativeSrc":"8479:10:7","nodeType":"YulIdentifier","src":"8479:10:7"},"nativeSrc":"8479:40:7","nodeType":"YulFunctionCall","src":"8479:40:7"},"nativeSrc":"8479:40:7","nodeType":"YulExpressionStatement","src":"8479:40:7"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8557:6:7","nodeType":"YulIdentifier","src":"8557:6:7"},{"name":"pEval_s2","nativeSrc":"8565:8:7","nodeType":"YulIdentifier","src":"8565:8:7"}],"functionName":{"name":"add","nativeSrc":"8553:3:7","nodeType":"YulIdentifier","src":"8553:3:7"},"nativeSrc":"8553:21:7","nodeType":"YulFunctionCall","src":"8553:21:7"}],"functionName":{"name":"mload","nativeSrc":"8547:5:7","nodeType":"YulIdentifier","src":"8547:5:7"},"nativeSrc":"8547:28:7","nodeType":"YulFunctionCall","src":"8547:28:7"}],"functionName":{"name":"checkField","nativeSrc":"8536:10:7","nodeType":"YulIdentifier","src":"8536:10:7"},"nativeSrc":"8536:40:7","nodeType":"YulFunctionCall","src":"8536:40:7"},"nativeSrc":"8536:40:7","nodeType":"YulExpressionStatement","src":"8536:40:7"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8614:6:7","nodeType":"YulIdentifier","src":"8614:6:7"},{"name":"pEval_zw","nativeSrc":"8622:8:7","nodeType":"YulIdentifier","src":"8622:8:7"}],"functionName":{"name":"add","nativeSrc":"8610:3:7","nodeType":"YulIdentifier","src":"8610:3:7"},"nativeSrc":"8610:21:7","nodeType":"YulFunctionCall","src":"8610:21:7"}],"functionName":{"name":"mload","nativeSrc":"8604:5:7","nodeType":"YulIdentifier","src":"8604:5:7"},"nativeSrc":"8604:28:7","nodeType":"YulFunctionCall","src":"8604:28:7"}],"functionName":{"name":"checkField","nativeSrc":"8593:10:7","nodeType":"YulIdentifier","src":"8593:10:7"},"nativeSrc":"8593:40:7","nodeType":"YulFunctionCall","src":"8593:40:7"},"nativeSrc":"8593:40:7","nodeType":"YulExpressionStatement","src":"8593:40:7"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8671:6:7","nodeType":"YulIdentifier","src":"8671:6:7"},{"name":"pEval_r","nativeSrc":"8679:7:7","nodeType":"YulIdentifier","src":"8679:7:7"}],"functionName":{"name":"add","nativeSrc":"8667:3:7","nodeType":"YulIdentifier","src":"8667:3:7"},"nativeSrc":"8667:20:7","nodeType":"YulFunctionCall","src":"8667:20:7"}],"functionName":{"name":"mload","nativeSrc":"8661:5:7","nodeType":"YulIdentifier","src":"8661:5:7"},"nativeSrc":"8661:27:7","nodeType":"YulFunctionCall","src":"8661:27:7"}],"functionName":{"name":"checkField","nativeSrc":"8650:10:7","nodeType":"YulIdentifier","src":"8650:10:7"},"nativeSrc":"8650:39:7","nodeType":"YulFunctionCall","src":"8650:39:7"},"nativeSrc":"8650:39:7","nodeType":"YulExpressionStatement","src":"8650:39:7"}]},"name":"checkInput","nativeSrc":"8126:668:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8146:6:7","nodeType":"YulTypedName","src":"8146:6:7","type":""}],"src":"8126:668:7"},{"body":{"nativeSrc":"8872:2776:7","nodeType":"YulBlock","src":"8872:2776:7","statements":[{"nativeSrc":"8903:5:7","nodeType":"YulVariableDeclaration","src":"8903:5:7","variables":[{"name":"a","nativeSrc":"8907:1:7","nodeType":"YulTypedName","src":"8907:1:7","type":""}]},{"nativeSrc":"8925:5:7","nodeType":"YulVariableDeclaration","src":"8925:5:7","variables":[{"name":"b","nativeSrc":"8929:1:7","nodeType":"YulTypedName","src":"8929:1:7","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"8977:4:7","nodeType":"YulIdentifier","src":"8977:4:7"},{"kind":"number","nativeSrc":"8983:3:7","nodeType":"YulLiteral","src":"8983:3:7","type":"","value":"704"}],"functionName":{"name":"add","nativeSrc":"8973:3:7","nodeType":"YulIdentifier","src":"8973:3:7"},"nativeSrc":"8973:15:7","nodeType":"YulFunctionCall","src":"8973:15:7"},{"arguments":[{"arguments":[{"name":"pPublic","nativeSrc":"9002:7:7","nodeType":"YulIdentifier","src":"9002:7:7"},{"kind":"number","nativeSrc":"9011:2:7","nodeType":"YulLiteral","src":"9011:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"8997:3:7","nodeType":"YulIdentifier","src":"8997:3:7"},"nativeSrc":"8997:17:7","nodeType":"YulFunctionCall","src":"8997:17:7"}],"functionName":{"name":"mload","nativeSrc":"8990:5:7","nodeType":"YulIdentifier","src":"8990:5:7"},"nativeSrc":"8990:25:7","nodeType":"YulFunctionCall","src":"8990:25:7"}],"functionName":{"name":"mstore","nativeSrc":"8965:6:7","nodeType":"YulIdentifier","src":"8965:6:7"},"nativeSrc":"8965:51:7","nodeType":"YulFunctionCall","src":"8965:51:7"},"nativeSrc":"8965:51:7","nodeType":"YulExpressionStatement","src":"8965:51:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9062:4:7","nodeType":"YulIdentifier","src":"9062:4:7"},{"kind":"number","nativeSrc":"9068:3:7","nodeType":"YulLiteral","src":"9068:3:7","type":"","value":"736"}],"functionName":{"name":"add","nativeSrc":"9058:3:7","nodeType":"YulIdentifier","src":"9058:3:7"},"nativeSrc":"9058:15:7","nodeType":"YulFunctionCall","src":"9058:15:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9087:6:7","nodeType":"YulIdentifier","src":"9087:6:7"},{"name":"pA","nativeSrc":"9095:2:7","nodeType":"YulIdentifier","src":"9095:2:7"}],"functionName":{"name":"add","nativeSrc":"9082:3:7","nodeType":"YulIdentifier","src":"9082:3:7"},"nativeSrc":"9082:16:7","nodeType":"YulFunctionCall","src":"9082:16:7"}],"functionName":{"name":"mload","nativeSrc":"9075:5:7","nodeType":"YulIdentifier","src":"9075:5:7"},"nativeSrc":"9075:24:7","nodeType":"YulFunctionCall","src":"9075:24:7"}],"functionName":{"name":"mstore","nativeSrc":"9050:6:7","nodeType":"YulIdentifier","src":"9050:6:7"},"nativeSrc":"9050:50:7","nodeType":"YulFunctionCall","src":"9050:50:7"},"nativeSrc":"9050:50:7","nodeType":"YulExpressionStatement","src":"9050:50:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9129:4:7","nodeType":"YulIdentifier","src":"9129:4:7"},{"kind":"number","nativeSrc":"9135:3:7","nodeType":"YulLiteral","src":"9135:3:7","type":"","value":"768"}],"functionName":{"name":"add","nativeSrc":"9125:3:7","nodeType":"YulIdentifier","src":"9125:3:7"},"nativeSrc":"9125:15:7","nodeType":"YulFunctionCall","src":"9125:15:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9154:6:7","nodeType":"YulIdentifier","src":"9154:6:7"},{"arguments":[{"name":"pA","nativeSrc":"9166:2:7","nodeType":"YulIdentifier","src":"9166:2:7"},{"kind":"number","nativeSrc":"9169:2:7","nodeType":"YulLiteral","src":"9169:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9162:3:7","nodeType":"YulIdentifier","src":"9162:3:7"},"nativeSrc":"9162:10:7","nodeType":"YulFunctionCall","src":"9162:10:7"}],"functionName":{"name":"add","nativeSrc":"9149:3:7","nodeType":"YulIdentifier","src":"9149:3:7"},"nativeSrc":"9149:24:7","nodeType":"YulFunctionCall","src":"9149:24:7"}],"functionName":{"name":"mload","nativeSrc":"9142:5:7","nodeType":"YulIdentifier","src":"9142:5:7"},"nativeSrc":"9142:32:7","nodeType":"YulFunctionCall","src":"9142:32:7"}],"functionName":{"name":"mstore","nativeSrc":"9117:6:7","nodeType":"YulIdentifier","src":"9117:6:7"},"nativeSrc":"9117:58:7","nodeType":"YulFunctionCall","src":"9117:58:7"},"nativeSrc":"9117:58:7","nodeType":"YulExpressionStatement","src":"9117:58:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9204:4:7","nodeType":"YulIdentifier","src":"9204:4:7"},{"kind":"number","nativeSrc":"9210:3:7","nodeType":"YulLiteral","src":"9210:3:7","type":"","value":"800"}],"functionName":{"name":"add","nativeSrc":"9200:3:7","nodeType":"YulIdentifier","src":"9200:3:7"},"nativeSrc":"9200:15:7","nodeType":"YulFunctionCall","src":"9200:15:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9229:6:7","nodeType":"YulIdentifier","src":"9229:6:7"},{"arguments":[{"name":"pA","nativeSrc":"9241:2:7","nodeType":"YulIdentifier","src":"9241:2:7"},{"kind":"number","nativeSrc":"9244:2:7","nodeType":"YulLiteral","src":"9244:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"9237:3:7","nodeType":"YulIdentifier","src":"9237:3:7"},"nativeSrc":"9237:10:7","nodeType":"YulFunctionCall","src":"9237:10:7"}],"functionName":{"name":"add","nativeSrc":"9224:3:7","nodeType":"YulIdentifier","src":"9224:3:7"},"nativeSrc":"9224:24:7","nodeType":"YulFunctionCall","src":"9224:24:7"}],"functionName":{"name":"mload","nativeSrc":"9217:5:7","nodeType":"YulIdentifier","src":"9217:5:7"},"nativeSrc":"9217:32:7","nodeType":"YulFunctionCall","src":"9217:32:7"}],"functionName":{"name":"mstore","nativeSrc":"9192:6:7","nodeType":"YulIdentifier","src":"9192:6:7"},"nativeSrc":"9192:58:7","nodeType":"YulFunctionCall","src":"9192:58:7"},"nativeSrc":"9192:58:7","nodeType":"YulExpressionStatement","src":"9192:58:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9279:4:7","nodeType":"YulIdentifier","src":"9279:4:7"},{"kind":"number","nativeSrc":"9285:3:7","nodeType":"YulLiteral","src":"9285:3:7","type":"","value":"832"}],"functionName":{"name":"add","nativeSrc":"9275:3:7","nodeType":"YulIdentifier","src":"9275:3:7"},"nativeSrc":"9275:15:7","nodeType":"YulFunctionCall","src":"9275:15:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9304:6:7","nodeType":"YulIdentifier","src":"9304:6:7"},{"arguments":[{"name":"pA","nativeSrc":"9316:2:7","nodeType":"YulIdentifier","src":"9316:2:7"},{"kind":"number","nativeSrc":"9319:2:7","nodeType":"YulLiteral","src":"9319:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"9312:3:7","nodeType":"YulIdentifier","src":"9312:3:7"},"nativeSrc":"9312:10:7","nodeType":"YulFunctionCall","src":"9312:10:7"}],"functionName":{"name":"add","nativeSrc":"9299:3:7","nodeType":"YulIdentifier","src":"9299:3:7"},"nativeSrc":"9299:24:7","nodeType":"YulFunctionCall","src":"9299:24:7"}],"functionName":{"name":"mload","nativeSrc":"9292:5:7","nodeType":"YulIdentifier","src":"9292:5:7"},"nativeSrc":"9292:32:7","nodeType":"YulFunctionCall","src":"9292:32:7"}],"functionName":{"name":"mstore","nativeSrc":"9267:6:7","nodeType":"YulIdentifier","src":"9267:6:7"},"nativeSrc":"9267:58:7","nodeType":"YulFunctionCall","src":"9267:58:7"},"nativeSrc":"9267:58:7","nodeType":"YulExpressionStatement","src":"9267:58:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9354:4:7","nodeType":"YulIdentifier","src":"9354:4:7"},{"kind":"number","nativeSrc":"9360:3:7","nodeType":"YulLiteral","src":"9360:3:7","type":"","value":"864"}],"functionName":{"name":"add","nativeSrc":"9350:3:7","nodeType":"YulIdentifier","src":"9350:3:7"},"nativeSrc":"9350:15:7","nodeType":"YulFunctionCall","src":"9350:15:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9379:6:7","nodeType":"YulIdentifier","src":"9379:6:7"},{"arguments":[{"name":"pA","nativeSrc":"9391:2:7","nodeType":"YulIdentifier","src":"9391:2:7"},{"kind":"number","nativeSrc":"9394:3:7","nodeType":"YulLiteral","src":"9394:3:7","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"9387:3:7","nodeType":"YulIdentifier","src":"9387:3:7"},"nativeSrc":"9387:11:7","nodeType":"YulFunctionCall","src":"9387:11:7"}],"functionName":{"name":"add","nativeSrc":"9374:3:7","nodeType":"YulIdentifier","src":"9374:3:7"},"nativeSrc":"9374:25:7","nodeType":"YulFunctionCall","src":"9374:25:7"}],"functionName":{"name":"mload","nativeSrc":"9367:5:7","nodeType":"YulIdentifier","src":"9367:5:7"},"nativeSrc":"9367:33:7","nodeType":"YulFunctionCall","src":"9367:33:7"}],"functionName":{"name":"mstore","nativeSrc":"9342:6:7","nodeType":"YulIdentifier","src":"9342:6:7"},"nativeSrc":"9342:59:7","nodeType":"YulFunctionCall","src":"9342:59:7"},"nativeSrc":"9342:59:7","nodeType":"YulExpressionStatement","src":"9342:59:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9430:4:7","nodeType":"YulIdentifier","src":"9430:4:7"},{"kind":"number","nativeSrc":"9436:3:7","nodeType":"YulLiteral","src":"9436:3:7","type":"","value":"896"}],"functionName":{"name":"add","nativeSrc":"9426:3:7","nodeType":"YulIdentifier","src":"9426:3:7"},"nativeSrc":"9426:15:7","nodeType":"YulFunctionCall","src":"9426:15:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9455:6:7","nodeType":"YulIdentifier","src":"9455:6:7"},{"arguments":[{"name":"pA","nativeSrc":"9467:2:7","nodeType":"YulIdentifier","src":"9467:2:7"},{"kind":"number","nativeSrc":"9470:3:7","nodeType":"YulLiteral","src":"9470:3:7","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"9463:3:7","nodeType":"YulIdentifier","src":"9463:3:7"},"nativeSrc":"9463:11:7","nodeType":"YulFunctionCall","src":"9463:11:7"}],"functionName":{"name":"add","nativeSrc":"9450:3:7","nodeType":"YulIdentifier","src":"9450:3:7"},"nativeSrc":"9450:25:7","nodeType":"YulFunctionCall","src":"9450:25:7"}],"functionName":{"name":"mload","nativeSrc":"9443:5:7","nodeType":"YulIdentifier","src":"9443:5:7"},"nativeSrc":"9443:33:7","nodeType":"YulFunctionCall","src":"9443:33:7"}],"functionName":{"name":"mstore","nativeSrc":"9418:6:7","nodeType":"YulIdentifier","src":"9418:6:7"},"nativeSrc":"9418:59:7","nodeType":"YulFunctionCall","src":"9418:59:7"},"nativeSrc":"9418:59:7","nodeType":"YulExpressionStatement","src":"9418:59:7"},{"nativeSrc":"9511:47:7","nodeType":"YulAssignment","src":"9511:47:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9534:4:7","nodeType":"YulIdentifier","src":"9534:4:7"},{"name":"lastMem","nativeSrc":"9540:7:7","nodeType":"YulIdentifier","src":"9540:7:7"}],"functionName":{"name":"add","nativeSrc":"9530:3:7","nodeType":"YulIdentifier","src":"9530:3:7"},"nativeSrc":"9530:18:7","nodeType":"YulFunctionCall","src":"9530:18:7"},{"kind":"number","nativeSrc":"9550:3:7","nodeType":"YulLiteral","src":"9550:3:7","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"9520:9:7","nodeType":"YulIdentifier","src":"9520:9:7"},"nativeSrc":"9520:34:7","nodeType":"YulFunctionCall","src":"9520:34:7"},{"name":"q","nativeSrc":"9556:1:7","nodeType":"YulIdentifier","src":"9556:1:7"}],"functionName":{"name":"mod","nativeSrc":"9516:3:7","nodeType":"YulIdentifier","src":"9516:3:7"},"nativeSrc":"9516:42:7","nodeType":"YulFunctionCall","src":"9516:42:7"},"variableNames":[{"name":"b","nativeSrc":"9511:1:7","nodeType":"YulIdentifier","src":"9511:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9588:4:7","nodeType":"YulIdentifier","src":"9588:4:7"},{"name":"pBeta","nativeSrc":"9594:5:7","nodeType":"YulIdentifier","src":"9594:5:7"}],"functionName":{"name":"add","nativeSrc":"9584:3:7","nodeType":"YulIdentifier","src":"9584:3:7"},"nativeSrc":"9584:16:7","nodeType":"YulFunctionCall","src":"9584:16:7"},{"name":"b","nativeSrc":"9602:1:7","nodeType":"YulIdentifier","src":"9602:1:7"}],"functionName":{"name":"mstore","nativeSrc":"9576:6:7","nodeType":"YulIdentifier","src":"9576:6:7"},"nativeSrc":"9576:28:7","nodeType":"YulFunctionCall","src":"9576:28:7"},"nativeSrc":"9576:28:7","nodeType":"YulExpressionStatement","src":"9576:28:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9633:4:7","nodeType":"YulIdentifier","src":"9633:4:7"},{"name":"pGamma","nativeSrc":"9639:6:7","nodeType":"YulIdentifier","src":"9639:6:7"}],"functionName":{"name":"add","nativeSrc":"9629:3:7","nodeType":"YulIdentifier","src":"9629:3:7"},"nativeSrc":"9629:17:7","nodeType":"YulFunctionCall","src":"9629:17:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9666:4:7","nodeType":"YulIdentifier","src":"9666:4:7"},{"name":"pBeta","nativeSrc":"9672:5:7","nodeType":"YulIdentifier","src":"9672:5:7"}],"functionName":{"name":"add","nativeSrc":"9662:3:7","nodeType":"YulIdentifier","src":"9662:3:7"},"nativeSrc":"9662:16:7","nodeType":"YulFunctionCall","src":"9662:16:7"},{"kind":"number","nativeSrc":"9680:2:7","nodeType":"YulLiteral","src":"9680:2:7","type":"","value":"32"}],"functionName":{"name":"keccak256","nativeSrc":"9652:9:7","nodeType":"YulIdentifier","src":"9652:9:7"},"nativeSrc":"9652:31:7","nodeType":"YulFunctionCall","src":"9652:31:7"},{"name":"q","nativeSrc":"9685:1:7","nodeType":"YulIdentifier","src":"9685:1:7"}],"functionName":{"name":"mod","nativeSrc":"9648:3:7","nodeType":"YulIdentifier","src":"9648:3:7"},"nativeSrc":"9648:39:7","nodeType":"YulFunctionCall","src":"9648:39:7"}],"functionName":{"name":"mstore","nativeSrc":"9621:6:7","nodeType":"YulIdentifier","src":"9621:6:7"},"nativeSrc":"9621:67:7","nodeType":"YulFunctionCall","src":"9621:67:7"},"nativeSrc":"9621:67:7","nodeType":"YulExpressionStatement","src":"9621:67:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9717:4:7","nodeType":"YulIdentifier","src":"9717:4:7"},{"name":"pAlpha","nativeSrc":"9723:6:7","nodeType":"YulIdentifier","src":"9723:6:7"}],"functionName":{"name":"add","nativeSrc":"9713:3:7","nodeType":"YulIdentifier","src":"9713:3:7"},"nativeSrc":"9713:17:7","nodeType":"YulFunctionCall","src":"9713:17:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9750:6:7","nodeType":"YulIdentifier","src":"9750:6:7"},{"name":"pZ","nativeSrc":"9758:2:7","nodeType":"YulIdentifier","src":"9758:2:7"}],"functionName":{"name":"add","nativeSrc":"9746:3:7","nodeType":"YulIdentifier","src":"9746:3:7"},"nativeSrc":"9746:15:7","nodeType":"YulFunctionCall","src":"9746:15:7"},{"kind":"number","nativeSrc":"9763:2:7","nodeType":"YulLiteral","src":"9763:2:7","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"9736:9:7","nodeType":"YulIdentifier","src":"9736:9:7"},"nativeSrc":"9736:30:7","nodeType":"YulFunctionCall","src":"9736:30:7"},{"name":"q","nativeSrc":"9768:1:7","nodeType":"YulIdentifier","src":"9768:1:7"}],"functionName":{"name":"mod","nativeSrc":"9732:3:7","nodeType":"YulIdentifier","src":"9732:3:7"},"nativeSrc":"9732:38:7","nodeType":"YulFunctionCall","src":"9732:38:7"}],"functionName":{"name":"mstore","nativeSrc":"9705:6:7","nodeType":"YulIdentifier","src":"9705:6:7"},"nativeSrc":"9705:66:7","nodeType":"YulFunctionCall","src":"9705:66:7"},"nativeSrc":"9705:66:7","nodeType":"YulExpressionStatement","src":"9705:66:7"},{"nativeSrc":"9805:45:7","nodeType":"YulAssignment","src":"9805:45:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9828:6:7","nodeType":"YulIdentifier","src":"9828:6:7"},{"name":"pT1","nativeSrc":"9836:3:7","nodeType":"YulIdentifier","src":"9836:3:7"}],"functionName":{"name":"add","nativeSrc":"9824:3:7","nodeType":"YulIdentifier","src":"9824:3:7"},"nativeSrc":"9824:16:7","nodeType":"YulFunctionCall","src":"9824:16:7"},{"kind":"number","nativeSrc":"9842:3:7","nodeType":"YulLiteral","src":"9842:3:7","type":"","value":"192"}],"functionName":{"name":"keccak256","nativeSrc":"9814:9:7","nodeType":"YulIdentifier","src":"9814:9:7"},"nativeSrc":"9814:32:7","nodeType":"YulFunctionCall","src":"9814:32:7"},{"name":"q","nativeSrc":"9848:1:7","nodeType":"YulIdentifier","src":"9848:1:7"}],"functionName":{"name":"mod","nativeSrc":"9810:3:7","nodeType":"YulIdentifier","src":"9810:3:7"},"nativeSrc":"9810:40:7","nodeType":"YulFunctionCall","src":"9810:40:7"},"variableNames":[{"name":"a","nativeSrc":"9805:1:7","nodeType":"YulIdentifier","src":"9805:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9879:4:7","nodeType":"YulIdentifier","src":"9879:4:7"},{"name":"pXi","nativeSrc":"9885:3:7","nodeType":"YulIdentifier","src":"9885:3:7"}],"functionName":{"name":"add","nativeSrc":"9875:3:7","nodeType":"YulIdentifier","src":"9875:3:7"},"nativeSrc":"9875:14:7","nodeType":"YulFunctionCall","src":"9875:14:7"},{"name":"a","nativeSrc":"9891:1:7","nodeType":"YulIdentifier","src":"9891:1:7"}],"functionName":{"name":"mstore","nativeSrc":"9867:6:7","nodeType":"YulIdentifier","src":"9867:6:7"},"nativeSrc":"9867:26:7","nodeType":"YulFunctionCall","src":"9867:26:7"},"nativeSrc":"9867:26:7","nodeType":"YulExpressionStatement","src":"9867:26:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9922:4:7","nodeType":"YulIdentifier","src":"9922:4:7"},{"name":"pBetaXi","nativeSrc":"9928:7:7","nodeType":"YulIdentifier","src":"9928:7:7"}],"functionName":{"name":"add","nativeSrc":"9918:3:7","nodeType":"YulIdentifier","src":"9918:3:7"},"nativeSrc":"9918:18:7","nodeType":"YulFunctionCall","src":"9918:18:7"},{"arguments":[{"name":"b","nativeSrc":"9945:1:7","nodeType":"YulIdentifier","src":"9945:1:7"},{"name":"a","nativeSrc":"9948:1:7","nodeType":"YulIdentifier","src":"9948:1:7"},{"name":"q","nativeSrc":"9951:1:7","nodeType":"YulIdentifier","src":"9951:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"9938:6:7","nodeType":"YulIdentifier","src":"9938:6:7"},"nativeSrc":"9938:15:7","nodeType":"YulFunctionCall","src":"9938:15:7"}],"functionName":{"name":"mstore","nativeSrc":"9910:6:7","nodeType":"YulIdentifier","src":"9910:6:7"},"nativeSrc":"9910:44:7","nodeType":"YulFunctionCall","src":"9910:44:7"},"nativeSrc":"9910:44:7","nodeType":"YulExpressionStatement","src":"9910:44:7"},{"nativeSrc":"9988:19:7","nodeType":"YulAssignment","src":"9988:19:7","value":{"arguments":[{"name":"a","nativeSrc":"9999:1:7","nodeType":"YulIdentifier","src":"9999:1:7"},{"name":"a","nativeSrc":"10002:1:7","nodeType":"YulIdentifier","src":"10002:1:7"},{"name":"q","nativeSrc":"10005:1:7","nodeType":"YulIdentifier","src":"10005:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"9992:6:7","nodeType":"YulIdentifier","src":"9992:6:7"},"nativeSrc":"9992:15:7","nodeType":"YulFunctionCall","src":"9992:15:7"},"variableNames":[{"name":"a","nativeSrc":"9988:1:7","nodeType":"YulIdentifier","src":"9988:1:7"}]},{"nativeSrc":"10041:19:7","nodeType":"YulAssignment","src":"10041:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10052:1:7","nodeType":"YulIdentifier","src":"10052:1:7"},{"name":"a","nativeSrc":"10055:1:7","nodeType":"YulIdentifier","src":"10055:1:7"},{"name":"q","nativeSrc":"10058:1:7","nodeType":"YulIdentifier","src":"10058:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10045:6:7","nodeType":"YulIdentifier","src":"10045:6:7"},"nativeSrc":"10045:15:7","nodeType":"YulFunctionCall","src":"10045:15:7"},"variableNames":[{"name":"a","nativeSrc":"10041:1:7","nodeType":"YulIdentifier","src":"10041:1:7"}]},{"nativeSrc":"10094:19:7","nodeType":"YulAssignment","src":"10094:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10105:1:7","nodeType":"YulIdentifier","src":"10105:1:7"},{"name":"a","nativeSrc":"10108:1:7","nodeType":"YulIdentifier","src":"10108:1:7"},{"name":"q","nativeSrc":"10111:1:7","nodeType":"YulIdentifier","src":"10111:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10098:6:7","nodeType":"YulIdentifier","src":"10098:6:7"},"nativeSrc":"10098:15:7","nodeType":"YulFunctionCall","src":"10098:15:7"},"variableNames":[{"name":"a","nativeSrc":"10094:1:7","nodeType":"YulIdentifier","src":"10094:1:7"}]},{"nativeSrc":"10147:19:7","nodeType":"YulAssignment","src":"10147:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10158:1:7","nodeType":"YulIdentifier","src":"10158:1:7"},{"name":"a","nativeSrc":"10161:1:7","nodeType":"YulIdentifier","src":"10161:1:7"},{"name":"q","nativeSrc":"10164:1:7","nodeType":"YulIdentifier","src":"10164:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10151:6:7","nodeType":"YulIdentifier","src":"10151:6:7"},"nativeSrc":"10151:15:7","nodeType":"YulFunctionCall","src":"10151:15:7"},"variableNames":[{"name":"a","nativeSrc":"10147:1:7","nodeType":"YulIdentifier","src":"10147:1:7"}]},{"nativeSrc":"10200:19:7","nodeType":"YulAssignment","src":"10200:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10211:1:7","nodeType":"YulIdentifier","src":"10211:1:7"},{"name":"a","nativeSrc":"10214:1:7","nodeType":"YulIdentifier","src":"10214:1:7"},{"name":"q","nativeSrc":"10217:1:7","nodeType":"YulIdentifier","src":"10217:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10204:6:7","nodeType":"YulIdentifier","src":"10204:6:7"},"nativeSrc":"10204:15:7","nodeType":"YulFunctionCall","src":"10204:15:7"},"variableNames":[{"name":"a","nativeSrc":"10200:1:7","nodeType":"YulIdentifier","src":"10200:1:7"}]},{"nativeSrc":"10253:19:7","nodeType":"YulAssignment","src":"10253:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10264:1:7","nodeType":"YulIdentifier","src":"10264:1:7"},{"name":"a","nativeSrc":"10267:1:7","nodeType":"YulIdentifier","src":"10267:1:7"},{"name":"q","nativeSrc":"10270:1:7","nodeType":"YulIdentifier","src":"10270:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10257:6:7","nodeType":"YulIdentifier","src":"10257:6:7"},"nativeSrc":"10257:15:7","nodeType":"YulFunctionCall","src":"10257:15:7"},"variableNames":[{"name":"a","nativeSrc":"10253:1:7","nodeType":"YulIdentifier","src":"10253:1:7"}]},{"nativeSrc":"10306:19:7","nodeType":"YulAssignment","src":"10306:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10317:1:7","nodeType":"YulIdentifier","src":"10317:1:7"},{"name":"a","nativeSrc":"10320:1:7","nodeType":"YulIdentifier","src":"10320:1:7"},{"name":"q","nativeSrc":"10323:1:7","nodeType":"YulIdentifier","src":"10323:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10310:6:7","nodeType":"YulIdentifier","src":"10310:6:7"},"nativeSrc":"10310:15:7","nodeType":"YulFunctionCall","src":"10310:15:7"},"variableNames":[{"name":"a","nativeSrc":"10306:1:7","nodeType":"YulIdentifier","src":"10306:1:7"}]},{"nativeSrc":"10359:19:7","nodeType":"YulAssignment","src":"10359:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10370:1:7","nodeType":"YulIdentifier","src":"10370:1:7"},{"name":"a","nativeSrc":"10373:1:7","nodeType":"YulIdentifier","src":"10373:1:7"},{"name":"q","nativeSrc":"10376:1:7","nodeType":"YulIdentifier","src":"10376:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10363:6:7","nodeType":"YulIdentifier","src":"10363:6:7"},"nativeSrc":"10363:15:7","nodeType":"YulFunctionCall","src":"10363:15:7"},"variableNames":[{"name":"a","nativeSrc":"10359:1:7","nodeType":"YulIdentifier","src":"10359:1:7"}]},{"nativeSrc":"10412:19:7","nodeType":"YulAssignment","src":"10412:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10423:1:7","nodeType":"YulIdentifier","src":"10423:1:7"},{"name":"a","nativeSrc":"10426:1:7","nodeType":"YulIdentifier","src":"10426:1:7"},{"name":"q","nativeSrc":"10429:1:7","nodeType":"YulIdentifier","src":"10429:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10416:6:7","nodeType":"YulIdentifier","src":"10416:6:7"},"nativeSrc":"10416:15:7","nodeType":"YulFunctionCall","src":"10416:15:7"},"variableNames":[{"name":"a","nativeSrc":"10412:1:7","nodeType":"YulIdentifier","src":"10412:1:7"}]},{"nativeSrc":"10465:19:7","nodeType":"YulAssignment","src":"10465:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10476:1:7","nodeType":"YulIdentifier","src":"10476:1:7"},{"name":"a","nativeSrc":"10479:1:7","nodeType":"YulIdentifier","src":"10479:1:7"},{"name":"q","nativeSrc":"10482:1:7","nodeType":"YulIdentifier","src":"10482:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10469:6:7","nodeType":"YulIdentifier","src":"10469:6:7"},"nativeSrc":"10469:15:7","nodeType":"YulFunctionCall","src":"10469:15:7"},"variableNames":[{"name":"a","nativeSrc":"10465:1:7","nodeType":"YulIdentifier","src":"10465:1:7"}]},{"nativeSrc":"10518:19:7","nodeType":"YulAssignment","src":"10518:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10529:1:7","nodeType":"YulIdentifier","src":"10529:1:7"},{"name":"a","nativeSrc":"10532:1:7","nodeType":"YulIdentifier","src":"10532:1:7"},{"name":"q","nativeSrc":"10535:1:7","nodeType":"YulIdentifier","src":"10535:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10522:6:7","nodeType":"YulIdentifier","src":"10522:6:7"},"nativeSrc":"10522:15:7","nodeType":"YulFunctionCall","src":"10522:15:7"},"variableNames":[{"name":"a","nativeSrc":"10518:1:7","nodeType":"YulIdentifier","src":"10518:1:7"}]},{"nativeSrc":"10571:19:7","nodeType":"YulAssignment","src":"10571:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10582:1:7","nodeType":"YulIdentifier","src":"10582:1:7"},{"name":"a","nativeSrc":"10585:1:7","nodeType":"YulIdentifier","src":"10585:1:7"},{"name":"q","nativeSrc":"10588:1:7","nodeType":"YulIdentifier","src":"10588:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10575:6:7","nodeType":"YulIdentifier","src":"10575:6:7"},"nativeSrc":"10575:15:7","nodeType":"YulFunctionCall","src":"10575:15:7"},"variableNames":[{"name":"a","nativeSrc":"10571:1:7","nodeType":"YulIdentifier","src":"10571:1:7"}]},{"nativeSrc":"10624:19:7","nodeType":"YulAssignment","src":"10624:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10635:1:7","nodeType":"YulIdentifier","src":"10635:1:7"},{"name":"a","nativeSrc":"10638:1:7","nodeType":"YulIdentifier","src":"10638:1:7"},{"name":"q","nativeSrc":"10641:1:7","nodeType":"YulIdentifier","src":"10641:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10628:6:7","nodeType":"YulIdentifier","src":"10628:6:7"},"nativeSrc":"10628:15:7","nodeType":"YulFunctionCall","src":"10628:15:7"},"variableNames":[{"name":"a","nativeSrc":"10624:1:7","nodeType":"YulIdentifier","src":"10624:1:7"}]},{"nativeSrc":"10677:19:7","nodeType":"YulAssignment","src":"10677:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10688:1:7","nodeType":"YulIdentifier","src":"10688:1:7"},{"name":"a","nativeSrc":"10691:1:7","nodeType":"YulIdentifier","src":"10691:1:7"},{"name":"q","nativeSrc":"10694:1:7","nodeType":"YulIdentifier","src":"10694:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10681:6:7","nodeType":"YulIdentifier","src":"10681:6:7"},"nativeSrc":"10681:15:7","nodeType":"YulFunctionCall","src":"10681:15:7"},"variableNames":[{"name":"a","nativeSrc":"10677:1:7","nodeType":"YulIdentifier","src":"10677:1:7"}]},{"nativeSrc":"10730:19:7","nodeType":"YulAssignment","src":"10730:19:7","value":{"arguments":[{"name":"a","nativeSrc":"10741:1:7","nodeType":"YulIdentifier","src":"10741:1:7"},{"name":"a","nativeSrc":"10744:1:7","nodeType":"YulIdentifier","src":"10744:1:7"},{"name":"q","nativeSrc":"10747:1:7","nodeType":"YulIdentifier","src":"10747:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"10734:6:7","nodeType":"YulIdentifier","src":"10734:6:7"},"nativeSrc":"10734:15:7","nodeType":"YulFunctionCall","src":"10734:15:7"},"variableNames":[{"name":"a","nativeSrc":"10730:1:7","nodeType":"YulIdentifier","src":"10730:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10795:4:7","nodeType":"YulIdentifier","src":"10795:4:7"},{"name":"pXin","nativeSrc":"10801:4:7","nodeType":"YulIdentifier","src":"10801:4:7"}],"functionName":{"name":"add","nativeSrc":"10791:3:7","nodeType":"YulIdentifier","src":"10791:3:7"},"nativeSrc":"10791:15:7","nodeType":"YulFunctionCall","src":"10791:15:7"},{"name":"a","nativeSrc":"10808:1:7","nodeType":"YulIdentifier","src":"10808:1:7"}],"functionName":{"name":"mstore","nativeSrc":"10783:6:7","nodeType":"YulIdentifier","src":"10783:6:7"},"nativeSrc":"10783:27:7","nodeType":"YulFunctionCall","src":"10783:27:7"},"nativeSrc":"10783:27:7","nodeType":"YulExpressionStatement","src":"10783:27:7"},{"nativeSrc":"10827:28:7","nodeType":"YulAssignment","src":"10827:28:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"10843:1:7","nodeType":"YulIdentifier","src":"10843:1:7"},{"kind":"number","nativeSrc":"10846:1:7","nodeType":"YulLiteral","src":"10846:1:7","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"10839:3:7","nodeType":"YulIdentifier","src":"10839:3:7"},"nativeSrc":"10839:9:7","nodeType":"YulFunctionCall","src":"10839:9:7"},{"name":"q","nativeSrc":"10849:1:7","nodeType":"YulIdentifier","src":"10849:1:7"}],"functionName":{"name":"add","nativeSrc":"10835:3:7","nodeType":"YulIdentifier","src":"10835:3:7"},"nativeSrc":"10835:16:7","nodeType":"YulFunctionCall","src":"10835:16:7"},{"name":"q","nativeSrc":"10853:1:7","nodeType":"YulIdentifier","src":"10853:1:7"}],"functionName":{"name":"mod","nativeSrc":"10831:3:7","nodeType":"YulIdentifier","src":"10831:3:7"},"nativeSrc":"10831:24:7","nodeType":"YulFunctionCall","src":"10831:24:7"},"variableNames":[{"name":"a","nativeSrc":"10827:1:7","nodeType":"YulIdentifier","src":"10827:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10884:4:7","nodeType":"YulIdentifier","src":"10884:4:7"},{"name":"pZh","nativeSrc":"10890:3:7","nodeType":"YulIdentifier","src":"10890:3:7"}],"functionName":{"name":"add","nativeSrc":"10880:3:7","nodeType":"YulIdentifier","src":"10880:3:7"},"nativeSrc":"10880:14:7","nodeType":"YulFunctionCall","src":"10880:14:7"},{"name":"a","nativeSrc":"10896:1:7","nodeType":"YulIdentifier","src":"10896:1:7"}],"functionName":{"name":"mstore","nativeSrc":"10872:6:7","nodeType":"YulIdentifier","src":"10872:6:7"},"nativeSrc":"10872:26:7","nodeType":"YulFunctionCall","src":"10872:26:7"},"nativeSrc":"10872:26:7","nodeType":"YulExpressionStatement","src":"10872:26:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10927:4:7","nodeType":"YulIdentifier","src":"10927:4:7"},{"name":"pZhInv","nativeSrc":"10933:6:7","nodeType":"YulIdentifier","src":"10933:6:7"}],"functionName":{"name":"add","nativeSrc":"10923:3:7","nodeType":"YulIdentifier","src":"10923:3:7"},"nativeSrc":"10923:17:7","nodeType":"YulFunctionCall","src":"10923:17:7"},{"name":"a","nativeSrc":"10942:1:7","nodeType":"YulIdentifier","src":"10942:1:7"}],"functionName":{"name":"mstore","nativeSrc":"10915:6:7","nodeType":"YulIdentifier","src":"10915:6:7"},"nativeSrc":"10915:29:7","nodeType":"YulFunctionCall","src":"10915:29:7"},"nativeSrc":"10915:29:7","nodeType":"YulExpressionStatement","src":"10915:29:7"},{"nativeSrc":"11031:54:7","nodeType":"YulVariableDeclaration","src":"11031:54:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11059:6:7","nodeType":"YulIdentifier","src":"11059:6:7"},{"name":"pEval_a","nativeSrc":"11067:7:7","nodeType":"YulIdentifier","src":"11067:7:7"}],"functionName":{"name":"add","nativeSrc":"11055:3:7","nodeType":"YulIdentifier","src":"11055:3:7"},"nativeSrc":"11055:20:7","nodeType":"YulFunctionCall","src":"11055:20:7"},{"kind":"number","nativeSrc":"11077:3:7","nodeType":"YulLiteral","src":"11077:3:7","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"11045:9:7","nodeType":"YulIdentifier","src":"11045:9:7"},"nativeSrc":"11045:36:7","nodeType":"YulFunctionCall","src":"11045:36:7"},{"name":"q","nativeSrc":"11083:1:7","nodeType":"YulIdentifier","src":"11083:1:7"}],"functionName":{"name":"mod","nativeSrc":"11041:3:7","nodeType":"YulIdentifier","src":"11041:3:7"},"nativeSrc":"11041:44:7","nodeType":"YulFunctionCall","src":"11041:44:7"},"variables":[{"name":"v1","nativeSrc":"11035:2:7","nodeType":"YulTypedName","src":"11035:2:7","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11114:4:7","nodeType":"YulIdentifier","src":"11114:4:7"},{"name":"pV1","nativeSrc":"11120:3:7","nodeType":"YulIdentifier","src":"11120:3:7"}],"functionName":{"name":"add","nativeSrc":"11110:3:7","nodeType":"YulIdentifier","src":"11110:3:7"},"nativeSrc":"11110:14:7","nodeType":"YulFunctionCall","src":"11110:14:7"},{"name":"v1","nativeSrc":"11126:2:7","nodeType":"YulIdentifier","src":"11126:2:7"}],"functionName":{"name":"mstore","nativeSrc":"11102:6:7","nodeType":"YulIdentifier","src":"11102:6:7"},"nativeSrc":"11102:27:7","nodeType":"YulFunctionCall","src":"11102:27:7"},"nativeSrc":"11102:27:7","nodeType":"YulExpressionStatement","src":"11102:27:7"},{"nativeSrc":"11146:22:7","nodeType":"YulAssignment","src":"11146:22:7","value":{"arguments":[{"name":"v1","nativeSrc":"11158:2:7","nodeType":"YulIdentifier","src":"11158:2:7"},{"name":"v1","nativeSrc":"11162:2:7","nodeType":"YulIdentifier","src":"11162:2:7"},{"name":"q","nativeSrc":"11166:1:7","nodeType":"YulIdentifier","src":"11166:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"11151:6:7","nodeType":"YulIdentifier","src":"11151:6:7"},"nativeSrc":"11151:17:7","nodeType":"YulFunctionCall","src":"11151:17:7"},"variableNames":[{"name":"a","nativeSrc":"11146:1:7","nodeType":"YulIdentifier","src":"11146:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11197:4:7","nodeType":"YulIdentifier","src":"11197:4:7"},{"name":"pV2","nativeSrc":"11203:3:7","nodeType":"YulIdentifier","src":"11203:3:7"}],"functionName":{"name":"add","nativeSrc":"11193:3:7","nodeType":"YulIdentifier","src":"11193:3:7"},"nativeSrc":"11193:14:7","nodeType":"YulFunctionCall","src":"11193:14:7"},{"name":"a","nativeSrc":"11209:1:7","nodeType":"YulIdentifier","src":"11209:1:7"}],"functionName":{"name":"mstore","nativeSrc":"11185:6:7","nodeType":"YulIdentifier","src":"11185:6:7"},"nativeSrc":"11185:26:7","nodeType":"YulFunctionCall","src":"11185:26:7"},"nativeSrc":"11185:26:7","nodeType":"YulExpressionStatement","src":"11185:26:7"},{"nativeSrc":"11228:21:7","nodeType":"YulAssignment","src":"11228:21:7","value":{"arguments":[{"name":"a","nativeSrc":"11240:1:7","nodeType":"YulIdentifier","src":"11240:1:7"},{"name":"v1","nativeSrc":"11243:2:7","nodeType":"YulIdentifier","src":"11243:2:7"},{"name":"q","nativeSrc":"11247:1:7","nodeType":"YulIdentifier","src":"11247:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"11233:6:7","nodeType":"YulIdentifier","src":"11233:6:7"},"nativeSrc":"11233:16:7","nodeType":"YulFunctionCall","src":"11233:16:7"},"variableNames":[{"name":"a","nativeSrc":"11228:1:7","nodeType":"YulIdentifier","src":"11228:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11278:4:7","nodeType":"YulIdentifier","src":"11278:4:7"},{"name":"pV3","nativeSrc":"11284:3:7","nodeType":"YulIdentifier","src":"11284:3:7"}],"functionName":{"name":"add","nativeSrc":"11274:3:7","nodeType":"YulIdentifier","src":"11274:3:7"},"nativeSrc":"11274:14:7","nodeType":"YulFunctionCall","src":"11274:14:7"},{"name":"a","nativeSrc":"11290:1:7","nodeType":"YulIdentifier","src":"11290:1:7"}],"functionName":{"name":"mstore","nativeSrc":"11266:6:7","nodeType":"YulIdentifier","src":"11266:6:7"},"nativeSrc":"11266:26:7","nodeType":"YulFunctionCall","src":"11266:26:7"},"nativeSrc":"11266:26:7","nodeType":"YulExpressionStatement","src":"11266:26:7"},{"nativeSrc":"11309:21:7","nodeType":"YulAssignment","src":"11309:21:7","value":{"arguments":[{"name":"a","nativeSrc":"11321:1:7","nodeType":"YulIdentifier","src":"11321:1:7"},{"name":"v1","nativeSrc":"11324:2:7","nodeType":"YulIdentifier","src":"11324:2:7"},{"name":"q","nativeSrc":"11328:1:7","nodeType":"YulIdentifier","src":"11328:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"11314:6:7","nodeType":"YulIdentifier","src":"11314:6:7"},"nativeSrc":"11314:16:7","nodeType":"YulFunctionCall","src":"11314:16:7"},"variableNames":[{"name":"a","nativeSrc":"11309:1:7","nodeType":"YulIdentifier","src":"11309:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11359:4:7","nodeType":"YulIdentifier","src":"11359:4:7"},{"name":"pV4","nativeSrc":"11365:3:7","nodeType":"YulIdentifier","src":"11365:3:7"}],"functionName":{"name":"add","nativeSrc":"11355:3:7","nodeType":"YulIdentifier","src":"11355:3:7"},"nativeSrc":"11355:14:7","nodeType":"YulFunctionCall","src":"11355:14:7"},{"name":"a","nativeSrc":"11371:1:7","nodeType":"YulIdentifier","src":"11371:1:7"}],"functionName":{"name":"mstore","nativeSrc":"11347:6:7","nodeType":"YulIdentifier","src":"11347:6:7"},"nativeSrc":"11347:26:7","nodeType":"YulFunctionCall","src":"11347:26:7"},"nativeSrc":"11347:26:7","nodeType":"YulExpressionStatement","src":"11347:26:7"},{"nativeSrc":"11390:21:7","nodeType":"YulAssignment","src":"11390:21:7","value":{"arguments":[{"name":"a","nativeSrc":"11402:1:7","nodeType":"YulIdentifier","src":"11402:1:7"},{"name":"v1","nativeSrc":"11405:2:7","nodeType":"YulIdentifier","src":"11405:2:7"},{"name":"q","nativeSrc":"11409:1:7","nodeType":"YulIdentifier","src":"11409:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"11395:6:7","nodeType":"YulIdentifier","src":"11395:6:7"},"nativeSrc":"11395:16:7","nodeType":"YulFunctionCall","src":"11395:16:7"},"variableNames":[{"name":"a","nativeSrc":"11390:1:7","nodeType":"YulIdentifier","src":"11390:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11440:4:7","nodeType":"YulIdentifier","src":"11440:4:7"},{"name":"pV5","nativeSrc":"11446:3:7","nodeType":"YulIdentifier","src":"11446:3:7"}],"functionName":{"name":"add","nativeSrc":"11436:3:7","nodeType":"YulIdentifier","src":"11436:3:7"},"nativeSrc":"11436:14:7","nodeType":"YulFunctionCall","src":"11436:14:7"},{"name":"a","nativeSrc":"11452:1:7","nodeType":"YulIdentifier","src":"11452:1:7"}],"functionName":{"name":"mstore","nativeSrc":"11428:6:7","nodeType":"YulIdentifier","src":"11428:6:7"},"nativeSrc":"11428:26:7","nodeType":"YulFunctionCall","src":"11428:26:7"},"nativeSrc":"11428:26:7","nodeType":"YulExpressionStatement","src":"11428:26:7"},{"nativeSrc":"11471:21:7","nodeType":"YulAssignment","src":"11471:21:7","value":{"arguments":[{"name":"a","nativeSrc":"11483:1:7","nodeType":"YulIdentifier","src":"11483:1:7"},{"name":"v1","nativeSrc":"11486:2:7","nodeType":"YulIdentifier","src":"11486:2:7"},{"name":"q","nativeSrc":"11490:1:7","nodeType":"YulIdentifier","src":"11490:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"11476:6:7","nodeType":"YulIdentifier","src":"11476:6:7"},"nativeSrc":"11476:16:7","nodeType":"YulFunctionCall","src":"11476:16:7"},"variableNames":[{"name":"a","nativeSrc":"11471:1:7","nodeType":"YulIdentifier","src":"11471:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11521:4:7","nodeType":"YulIdentifier","src":"11521:4:7"},{"name":"pV6","nativeSrc":"11527:3:7","nodeType":"YulIdentifier","src":"11527:3:7"}],"functionName":{"name":"add","nativeSrc":"11517:3:7","nodeType":"YulIdentifier","src":"11517:3:7"},"nativeSrc":"11517:14:7","nodeType":"YulFunctionCall","src":"11517:14:7"},{"name":"a","nativeSrc":"11533:1:7","nodeType":"YulIdentifier","src":"11533:1:7"}],"functionName":{"name":"mstore","nativeSrc":"11509:6:7","nodeType":"YulIdentifier","src":"11509:6:7"},"nativeSrc":"11509:26:7","nodeType":"YulFunctionCall","src":"11509:26:7"},"nativeSrc":"11509:26:7","nodeType":"YulExpressionStatement","src":"11509:26:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11581:4:7","nodeType":"YulIdentifier","src":"11581:4:7"},{"name":"pU","nativeSrc":"11587:2:7","nodeType":"YulIdentifier","src":"11587:2:7"}],"functionName":{"name":"add","nativeSrc":"11577:3:7","nodeType":"YulIdentifier","src":"11577:3:7"},"nativeSrc":"11577:13:7","nodeType":"YulFunctionCall","src":"11577:13:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11610:6:7","nodeType":"YulIdentifier","src":"11610:6:7"},{"name":"pWxi","nativeSrc":"11618:4:7","nodeType":"YulIdentifier","src":"11618:4:7"}],"functionName":{"name":"add","nativeSrc":"11606:3:7","nodeType":"YulIdentifier","src":"11606:3:7"},"nativeSrc":"11606:17:7","nodeType":"YulFunctionCall","src":"11606:17:7"},{"kind":"number","nativeSrc":"11625:3:7","nodeType":"YulLiteral","src":"11625:3:7","type":"","value":"128"}],"functionName":{"name":"keccak256","nativeSrc":"11596:9:7","nodeType":"YulIdentifier","src":"11596:9:7"},"nativeSrc":"11596:33:7","nodeType":"YulFunctionCall","src":"11596:33:7"},{"name":"q","nativeSrc":"11631:1:7","nodeType":"YulIdentifier","src":"11631:1:7"}],"functionName":{"name":"mod","nativeSrc":"11592:3:7","nodeType":"YulIdentifier","src":"11592:3:7"},"nativeSrc":"11592:41:7","nodeType":"YulFunctionCall","src":"11592:41:7"}],"functionName":{"name":"mstore","nativeSrc":"11569:6:7","nodeType":"YulIdentifier","src":"11569:6:7"},"nativeSrc":"11569:65:7","nodeType":"YulFunctionCall","src":"11569:65:7"},"nativeSrc":"11569:65:7","nodeType":"YulExpressionStatement","src":"11569:65:7"}]},"name":"calculateChallanges","nativeSrc":"8820:2828:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8849:6:7","nodeType":"YulTypedName","src":"8849:6:7","type":""},{"name":"pMem","nativeSrc":"8857:4:7","nodeType":"YulTypedName","src":"8857:4:7","type":""},{"name":"pPublic","nativeSrc":"8863:7:7","nodeType":"YulTypedName","src":"8863:7:7","type":""}],"src":"8820:2828:7"},{"body":{"nativeSrc":"11707:1140:7","nodeType":"YulBlock","src":"11707:1140:7","statements":[{"nativeSrc":"11726:10:7","nodeType":"YulVariableDeclaration","src":"11726:10:7","value":{"kind":"number","nativeSrc":"11735:1:7","nodeType":"YulLiteral","src":"11735:1:7","type":"","value":"1"},"variables":[{"name":"w","nativeSrc":"11730:1:7","nodeType":"YulTypedName","src":"11730:1:7","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11818:4:7","nodeType":"YulIdentifier","src":"11818:4:7"},{"name":"pEval_l1","nativeSrc":"11824:8:7","nodeType":"YulIdentifier","src":"11824:8:7"}],"functionName":{"name":"add","nativeSrc":"11814:3:7","nodeType":"YulIdentifier","src":"11814:3:7"},"nativeSrc":"11814:19:7","nodeType":"YulFunctionCall","src":"11814:19:7"},{"arguments":[{"name":"n","nativeSrc":"11888:1:7","nodeType":"YulIdentifier","src":"11888:1:7"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12037:4:7","nodeType":"YulIdentifier","src":"12037:4:7"},{"name":"pXi","nativeSrc":"12043:3:7","nodeType":"YulIdentifier","src":"12043:3:7"}],"functionName":{"name":"add","nativeSrc":"12033:3:7","nodeType":"YulIdentifier","src":"12033:3:7"},"nativeSrc":"12033:14:7","nodeType":"YulFunctionCall","src":"12033:14:7"}],"functionName":{"name":"mload","nativeSrc":"12027:5:7","nodeType":"YulIdentifier","src":"12027:5:7"},"nativeSrc":"12027:21:7","nodeType":"YulFunctionCall","src":"12027:21:7"},{"name":"w","nativeSrc":"12087:1:7","nodeType":"YulIdentifier","src":"12087:1:7"}],"functionName":{"name":"sub","nativeSrc":"11986:3:7","nodeType":"YulIdentifier","src":"11986:3:7"},"nativeSrc":"11986:136:7","nodeType":"YulFunctionCall","src":"11986:136:7"},{"name":"q","nativeSrc":"12157:1:7","nodeType":"YulIdentifier","src":"12157:1:7"}],"functionName":{"name":"add","nativeSrc":"11949:3:7","nodeType":"YulIdentifier","src":"11949:3:7"},"nativeSrc":"11949:239:7","nodeType":"YulFunctionCall","src":"11949:239:7"},{"name":"q","nativeSrc":"12218:1:7","nodeType":"YulIdentifier","src":"12218:1:7"}],"functionName":{"name":"mod","nativeSrc":"11916:3:7","nodeType":"YulIdentifier","src":"11916:3:7"},"nativeSrc":"11916:329:7","nodeType":"YulFunctionCall","src":"11916:329:7"},{"name":"q","nativeSrc":"12272:1:7","nodeType":"YulIdentifier","src":"12272:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"11856:6:7","nodeType":"YulIdentifier","src":"11856:6:7"},"nativeSrc":"11856:439:7","nodeType":"YulFunctionCall","src":"11856:439:7"}],"functionName":{"name":"mstore","nativeSrc":"11786:6:7","nodeType":"YulIdentifier","src":"11786:6:7"},"nativeSrc":"11786:527:7","nodeType":"YulFunctionCall","src":"11786:527:7"},"nativeSrc":"11786:527:7","nodeType":"YulExpressionStatement","src":"11786:527:7"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12398:4:7","nodeType":"YulIdentifier","src":"12398:4:7"},{"name":"pZhInv","nativeSrc":"12404:6:7","nodeType":"YulIdentifier","src":"12404:6:7"}],"functionName":{"name":"add","nativeSrc":"12394:3:7","nodeType":"YulIdentifier","src":"12394:3:7"},"nativeSrc":"12394:17:7","nodeType":"YulFunctionCall","src":"12394:17:7"},{"kind":"number","nativeSrc":"12413:1:7","nodeType":"YulLiteral","src":"12413:1:7","type":"","value":"2"}],"functionName":{"name":"inverseArray","nativeSrc":"12381:12:7","nodeType":"YulIdentifier","src":"12381:12:7"},"nativeSrc":"12381:35:7","nodeType":"YulFunctionCall","src":"12381:35:7"},"nativeSrc":"12381:35:7","nodeType":"YulExpressionStatement","src":"12381:35:7"},{"nativeSrc":"12450:31:7","nodeType":"YulVariableDeclaration","src":"12450:31:7","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12470:4:7","nodeType":"YulIdentifier","src":"12470:4:7"},{"name":"pZh","nativeSrc":"12476:3:7","nodeType":"YulIdentifier","src":"12476:3:7"}],"functionName":{"name":"add","nativeSrc":"12466:3:7","nodeType":"YulIdentifier","src":"12466:3:7"},"nativeSrc":"12466:14:7","nodeType":"YulFunctionCall","src":"12466:14:7"}],"functionName":{"name":"mload","nativeSrc":"12460:5:7","nodeType":"YulIdentifier","src":"12460:5:7"},"nativeSrc":"12460:21:7","nodeType":"YulFunctionCall","src":"12460:21:7"},"variables":[{"name":"zh","nativeSrc":"12454:2:7","nodeType":"YulTypedName","src":"12454:2:7","type":""}]},{"nativeSrc":"12498:6:7","nodeType":"YulAssignment","src":"12498:6:7","value":{"kind":"number","nativeSrc":"12503:1:7","nodeType":"YulLiteral","src":"12503:1:7","type":"","value":"1"},"variableNames":[{"name":"w","nativeSrc":"12498:1:7","nodeType":"YulIdentifier","src":"12498:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12587:4:7","nodeType":"YulIdentifier","src":"12587:4:7"},{"name":"pEval_l1","nativeSrc":"12593:8:7","nodeType":"YulIdentifier","src":"12593:8:7"}],"functionName":{"name":"add","nativeSrc":"12583:3:7","nodeType":"YulIdentifier","src":"12583:3:7"},"nativeSrc":"12583:20:7","nodeType":"YulFunctionCall","src":"12583:20:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12668:4:7","nodeType":"YulIdentifier","src":"12668:4:7"},{"name":"pEval_l1","nativeSrc":"12674:8:7","nodeType":"YulIdentifier","src":"12674:8:7"}],"functionName":{"name":"add","nativeSrc":"12664:3:7","nodeType":"YulIdentifier","src":"12664:3:7"},"nativeSrc":"12664:20:7","nodeType":"YulFunctionCall","src":"12664:20:7"}],"functionName":{"name":"mload","nativeSrc":"12658:5:7","nodeType":"YulIdentifier","src":"12658:5:7"},"nativeSrc":"12658:27:7","nodeType":"YulFunctionCall","src":"12658:27:7"},{"name":"zh","nativeSrc":"12711:2:7","nodeType":"YulIdentifier","src":"12711:2:7"},{"name":"q","nativeSrc":"12739:1:7","nodeType":"YulIdentifier","src":"12739:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"12626:6:7","nodeType":"YulIdentifier","src":"12626:6:7"},"nativeSrc":"12626:136:7","nodeType":"YulFunctionCall","src":"12626:136:7"}],"functionName":{"name":"mstore","nativeSrc":"12555:6:7","nodeType":"YulIdentifier","src":"12555:6:7"},"nativeSrc":"12555:225:7","nodeType":"YulFunctionCall","src":"12555:225:7"},"nativeSrc":"12555:225:7","nodeType":"YulExpressionStatement","src":"12555:225:7"}]},"name":"calculateLagrange","nativeSrc":"11674:1173:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"11701:4:7","nodeType":"YulTypedName","src":"11701:4:7","type":""}],"src":"11674:1173:7"},{"body":{"nativeSrc":"12906:618:7","nodeType":"YulBlock","src":"12906:618:7","statements":[{"nativeSrc":"12924:11:7","nodeType":"YulVariableDeclaration","src":"12924:11:7","value":{"kind":"number","nativeSrc":"12934:1:7","nodeType":"YulLiteral","src":"12934:1:7","type":"","value":"0"},"variables":[{"name":"pl","nativeSrc":"12928:2:7","nodeType":"YulTypedName","src":"12928:2:7","type":""}]},{"nativeSrc":"12987:428:7","nodeType":"YulAssignment","src":"12987:428:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pl","nativeSrc":"13080:2:7","nodeType":"YulIdentifier","src":"13080:2:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13164:4:7","nodeType":"YulIdentifier","src":"13164:4:7"},{"name":"pEval_l1","nativeSrc":"13170:8:7","nodeType":"YulIdentifier","src":"13170:8:7"}],"functionName":{"name":"add","nativeSrc":"13160:3:7","nodeType":"YulIdentifier","src":"13160:3:7"},"nativeSrc":"13160:19:7","nodeType":"YulFunctionCall","src":"13160:19:7"}],"functionName":{"name":"mload","nativeSrc":"13154:5:7","nodeType":"YulIdentifier","src":"13154:5:7"},"nativeSrc":"13154:26:7","nodeType":"YulFunctionCall","src":"13154:26:7"},{"arguments":[{"arguments":[{"name":"pPub","nativeSrc":"13224:4:7","nodeType":"YulIdentifier","src":"13224:4:7"},{"kind":"number","nativeSrc":"13230:2:7","nodeType":"YulLiteral","src":"13230:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13220:3:7","nodeType":"YulIdentifier","src":"13220:3:7"},"nativeSrc":"13220:13:7","nodeType":"YulFunctionCall","src":"13220:13:7"}],"functionName":{"name":"mload","nativeSrc":"13214:5:7","nodeType":"YulIdentifier","src":"13214:5:7"},"nativeSrc":"13214:20:7","nodeType":"YulFunctionCall","src":"13214:20:7"},{"name":"q","nativeSrc":"13268:1:7","nodeType":"YulIdentifier","src":"13268:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"13114:6:7","nodeType":"YulIdentifier","src":"13114:6:7"},"nativeSrc":"13114:185:7","nodeType":"YulFunctionCall","src":"13114:185:7"}],"functionName":{"name":"sub","nativeSrc":"13047:3:7","nodeType":"YulIdentifier","src":"13047:3:7"},"nativeSrc":"13047:278:7","nodeType":"YulFunctionCall","src":"13047:278:7"},{"name":"q","nativeSrc":"13351:1:7","nodeType":"YulIdentifier","src":"13351:1:7"}],"functionName":{"name":"add","nativeSrc":"13018:3:7","nodeType":"YulIdentifier","src":"13018:3:7"},"nativeSrc":"13018:356:7","nodeType":"YulFunctionCall","src":"13018:356:7"},{"name":"q","nativeSrc":"13396:1:7","nodeType":"YulIdentifier","src":"13396:1:7"}],"functionName":{"name":"mod","nativeSrc":"12993:3:7","nodeType":"YulIdentifier","src":"12993:3:7"},"nativeSrc":"12993:422:7","nodeType":"YulFunctionCall","src":"12993:422:7"},"variableNames":[{"name":"pl","nativeSrc":"12987:2:7","nodeType":"YulIdentifier","src":"12987:2:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13477:4:7","nodeType":"YulIdentifier","src":"13477:4:7"},{"name":"pPl","nativeSrc":"13483:3:7","nodeType":"YulIdentifier","src":"13483:3:7"}],"functionName":{"name":"add","nativeSrc":"13473:3:7","nodeType":"YulIdentifier","src":"13473:3:7"},"nativeSrc":"13473:14:7","nodeType":"YulFunctionCall","src":"13473:14:7"},{"name":"pl","nativeSrc":"13489:2:7","nodeType":"YulIdentifier","src":"13489:2:7"}],"functionName":{"name":"mstore","nativeSrc":"13466:6:7","nodeType":"YulIdentifier","src":"13466:6:7"},"nativeSrc":"13466:26:7","nodeType":"YulFunctionCall","src":"13466:26:7"},"nativeSrc":"13466:26:7","nodeType":"YulExpressionStatement","src":"13466:26:7"}]},"name":"calculatePl","nativeSrc":"12873:651:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"12894:4:7","nodeType":"YulTypedName","src":"12894:4:7","type":""},{"name":"pPub","nativeSrc":"12900:4:7","nodeType":"YulTypedName","src":"12900:4:7","type":""}],"src":"12873:651:7"},{"body":{"nativeSrc":"13572:2162:7","nodeType":"YulBlock","src":"13572:2162:7","statements":[{"nativeSrc":"13590:5:7","nodeType":"YulVariableDeclaration","src":"13590:5:7","variables":[{"name":"t","nativeSrc":"13594:1:7","nodeType":"YulTypedName","src":"13594:1:7","type":""}]},{"nativeSrc":"13612:6:7","nodeType":"YulVariableDeclaration","src":"13612:6:7","variables":[{"name":"t1","nativeSrc":"13616:2:7","nodeType":"YulTypedName","src":"13616:2:7","type":""}]},{"nativeSrc":"13635:6:7","nodeType":"YulVariableDeclaration","src":"13635:6:7","variables":[{"name":"t2","nativeSrc":"13639:2:7","nodeType":"YulTypedName","src":"13639:2:7","type":""}]},{"nativeSrc":"13658:146:7","nodeType":"YulAssignment","src":"13658:146:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13701:6:7","nodeType":"YulIdentifier","src":"13701:6:7"},{"name":"pEval_r","nativeSrc":"13709:7:7","nodeType":"YulIdentifier","src":"13709:7:7"}],"functionName":{"name":"add","nativeSrc":"13697:3:7","nodeType":"YulIdentifier","src":"13697:3:7"},"nativeSrc":"13697:20:7","nodeType":"YulFunctionCall","src":"13697:20:7"}],"functionName":{"name":"mload","nativeSrc":"13691:5:7","nodeType":"YulIdentifier","src":"13691:5:7"},"nativeSrc":"13691:27:7","nodeType":"YulFunctionCall","src":"13691:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13751:4:7","nodeType":"YulIdentifier","src":"13751:4:7"},{"name":"pPl","nativeSrc":"13757:3:7","nodeType":"YulIdentifier","src":"13757:3:7"}],"functionName":{"name":"add","nativeSrc":"13747:3:7","nodeType":"YulIdentifier","src":"13747:3:7"},"nativeSrc":"13747:14:7","nodeType":"YulFunctionCall","src":"13747:14:7"}],"functionName":{"name":"mload","nativeSrc":"13741:5:7","nodeType":"YulIdentifier","src":"13741:5:7"},"nativeSrc":"13741:21:7","nodeType":"YulFunctionCall","src":"13741:21:7"},{"name":"q","nativeSrc":"13785:1:7","nodeType":"YulIdentifier","src":"13785:1:7"}],"functionName":{"name":"addmod","nativeSrc":"13663:6:7","nodeType":"YulIdentifier","src":"13663:6:7"},"nativeSrc":"13663:141:7","nodeType":"YulFunctionCall","src":"13663:141:7"},"variableNames":[{"name":"t","nativeSrc":"13658:1:7","nodeType":"YulIdentifier","src":"13658:1:7"}]},{"nativeSrc":"13838:148:7","nodeType":"YulAssignment","src":"13838:148:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13882:6:7","nodeType":"YulIdentifier","src":"13882:6:7"},{"name":"pEval_s1","nativeSrc":"13890:8:7","nodeType":"YulIdentifier","src":"13890:8:7"}],"functionName":{"name":"add","nativeSrc":"13878:3:7","nodeType":"YulIdentifier","src":"13878:3:7"},"nativeSrc":"13878:21:7","nodeType":"YulFunctionCall","src":"13878:21:7"}],"functionName":{"name":"mload","nativeSrc":"13872:5:7","nodeType":"YulIdentifier","src":"13872:5:7"},"nativeSrc":"13872:28:7","nodeType":"YulFunctionCall","src":"13872:28:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13932:4:7","nodeType":"YulIdentifier","src":"13932:4:7"},{"name":"pBeta","nativeSrc":"13938:5:7","nodeType":"YulIdentifier","src":"13938:5:7"}],"functionName":{"name":"add","nativeSrc":"13928:3:7","nodeType":"YulIdentifier","src":"13928:3:7"},"nativeSrc":"13928:16:7","nodeType":"YulFunctionCall","src":"13928:16:7"}],"functionName":{"name":"mload","nativeSrc":"13922:5:7","nodeType":"YulIdentifier","src":"13922:5:7"},"nativeSrc":"13922:23:7","nodeType":"YulFunctionCall","src":"13922:23:7"},{"name":"q","nativeSrc":"13967:1:7","nodeType":"YulIdentifier","src":"13967:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"13844:6:7","nodeType":"YulIdentifier","src":"13844:6:7"},"nativeSrc":"13844:142:7","nodeType":"YulFunctionCall","src":"13844:142:7"},"variableNames":[{"name":"t1","nativeSrc":"13838:2:7","nodeType":"YulIdentifier","src":"13838:2:7"}]},{"nativeSrc":"14004:126:7","nodeType":"YulAssignment","src":"14004:126:7","value":{"arguments":[{"name":"t1","nativeSrc":"14038:2:7","nodeType":"YulIdentifier","src":"14038:2:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14072:6:7","nodeType":"YulIdentifier","src":"14072:6:7"},{"name":"pEval_a","nativeSrc":"14080:7:7","nodeType":"YulIdentifier","src":"14080:7:7"}],"functionName":{"name":"add","nativeSrc":"14068:3:7","nodeType":"YulIdentifier","src":"14068:3:7"},"nativeSrc":"14068:20:7","nodeType":"YulFunctionCall","src":"14068:20:7"}],"functionName":{"name":"mload","nativeSrc":"14062:5:7","nodeType":"YulIdentifier","src":"14062:5:7"},"nativeSrc":"14062:27:7","nodeType":"YulFunctionCall","src":"14062:27:7"},{"name":"q","nativeSrc":"14111:1:7","nodeType":"YulIdentifier","src":"14111:1:7"}],"functionName":{"name":"addmod","nativeSrc":"14010:6:7","nodeType":"YulIdentifier","src":"14010:6:7"},"nativeSrc":"14010:120:7","nodeType":"YulFunctionCall","src":"14010:120:7"},"variableNames":[{"name":"t1","nativeSrc":"14004:2:7","nodeType":"YulIdentifier","src":"14004:2:7"}]},{"nativeSrc":"14164:123:7","nodeType":"YulAssignment","src":"14164:123:7","value":{"arguments":[{"name":"t1","nativeSrc":"14198:2:7","nodeType":"YulIdentifier","src":"14198:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14232:4:7","nodeType":"YulIdentifier","src":"14232:4:7"},{"name":"pGamma","nativeSrc":"14238:6:7","nodeType":"YulIdentifier","src":"14238:6:7"}],"functionName":{"name":"add","nativeSrc":"14228:3:7","nodeType":"YulIdentifier","src":"14228:3:7"},"nativeSrc":"14228:17:7","nodeType":"YulFunctionCall","src":"14228:17:7"}],"functionName":{"name":"mload","nativeSrc":"14222:5:7","nodeType":"YulIdentifier","src":"14222:5:7"},"nativeSrc":"14222:24:7","nodeType":"YulFunctionCall","src":"14222:24:7"},{"name":"q","nativeSrc":"14268:1:7","nodeType":"YulIdentifier","src":"14268:1:7"}],"functionName":{"name":"addmod","nativeSrc":"14170:6:7","nodeType":"YulIdentifier","src":"14170:6:7"},"nativeSrc":"14170:117:7","nodeType":"YulFunctionCall","src":"14170:117:7"},"variableNames":[{"name":"t1","nativeSrc":"14164:2:7","nodeType":"YulIdentifier","src":"14164:2:7"}]},{"nativeSrc":"14305:148:7","nodeType":"YulAssignment","src":"14305:148:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14349:6:7","nodeType":"YulIdentifier","src":"14349:6:7"},{"name":"pEval_s2","nativeSrc":"14357:8:7","nodeType":"YulIdentifier","src":"14357:8:7"}],"functionName":{"name":"add","nativeSrc":"14345:3:7","nodeType":"YulIdentifier","src":"14345:3:7"},"nativeSrc":"14345:21:7","nodeType":"YulFunctionCall","src":"14345:21:7"}],"functionName":{"name":"mload","nativeSrc":"14339:5:7","nodeType":"YulIdentifier","src":"14339:5:7"},"nativeSrc":"14339:28:7","nodeType":"YulFunctionCall","src":"14339:28:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14399:4:7","nodeType":"YulIdentifier","src":"14399:4:7"},{"name":"pBeta","nativeSrc":"14405:5:7","nodeType":"YulIdentifier","src":"14405:5:7"}],"functionName":{"name":"add","nativeSrc":"14395:3:7","nodeType":"YulIdentifier","src":"14395:3:7"},"nativeSrc":"14395:16:7","nodeType":"YulFunctionCall","src":"14395:16:7"}],"functionName":{"name":"mload","nativeSrc":"14389:5:7","nodeType":"YulIdentifier","src":"14389:5:7"},"nativeSrc":"14389:23:7","nodeType":"YulFunctionCall","src":"14389:23:7"},{"name":"q","nativeSrc":"14434:1:7","nodeType":"YulIdentifier","src":"14434:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"14311:6:7","nodeType":"YulIdentifier","src":"14311:6:7"},"nativeSrc":"14311:142:7","nodeType":"YulFunctionCall","src":"14311:142:7"},"variableNames":[{"name":"t2","nativeSrc":"14305:2:7","nodeType":"YulIdentifier","src":"14305:2:7"}]},{"nativeSrc":"14471:126:7","nodeType":"YulAssignment","src":"14471:126:7","value":{"arguments":[{"name":"t2","nativeSrc":"14505:2:7","nodeType":"YulIdentifier","src":"14505:2:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14539:6:7","nodeType":"YulIdentifier","src":"14539:6:7"},{"name":"pEval_b","nativeSrc":"14547:7:7","nodeType":"YulIdentifier","src":"14547:7:7"}],"functionName":{"name":"add","nativeSrc":"14535:3:7","nodeType":"YulIdentifier","src":"14535:3:7"},"nativeSrc":"14535:20:7","nodeType":"YulFunctionCall","src":"14535:20:7"}],"functionName":{"name":"mload","nativeSrc":"14529:5:7","nodeType":"YulIdentifier","src":"14529:5:7"},"nativeSrc":"14529:27:7","nodeType":"YulFunctionCall","src":"14529:27:7"},{"name":"q","nativeSrc":"14578:1:7","nodeType":"YulIdentifier","src":"14578:1:7"}],"functionName":{"name":"addmod","nativeSrc":"14477:6:7","nodeType":"YulIdentifier","src":"14477:6:7"},"nativeSrc":"14477:120:7","nodeType":"YulFunctionCall","src":"14477:120:7"},"variableNames":[{"name":"t2","nativeSrc":"14471:2:7","nodeType":"YulIdentifier","src":"14471:2:7"}]},{"nativeSrc":"14631:123:7","nodeType":"YulAssignment","src":"14631:123:7","value":{"arguments":[{"name":"t2","nativeSrc":"14665:2:7","nodeType":"YulIdentifier","src":"14665:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14699:4:7","nodeType":"YulIdentifier","src":"14699:4:7"},{"name":"pGamma","nativeSrc":"14705:6:7","nodeType":"YulIdentifier","src":"14705:6:7"}],"functionName":{"name":"add","nativeSrc":"14695:3:7","nodeType":"YulIdentifier","src":"14695:3:7"},"nativeSrc":"14695:17:7","nodeType":"YulFunctionCall","src":"14695:17:7"}],"functionName":{"name":"mload","nativeSrc":"14689:5:7","nodeType":"YulIdentifier","src":"14689:5:7"},"nativeSrc":"14689:24:7","nodeType":"YulFunctionCall","src":"14689:24:7"},{"name":"q","nativeSrc":"14735:1:7","nodeType":"YulIdentifier","src":"14735:1:7"}],"functionName":{"name":"addmod","nativeSrc":"14637:6:7","nodeType":"YulIdentifier","src":"14637:6:7"},"nativeSrc":"14637:117:7","nodeType":"YulFunctionCall","src":"14637:117:7"},"variableNames":[{"name":"t2","nativeSrc":"14631:2:7","nodeType":"YulIdentifier","src":"14631:2:7"}]},{"nativeSrc":"14788:23:7","nodeType":"YulAssignment","src":"14788:23:7","value":{"arguments":[{"name":"t1","nativeSrc":"14801:2:7","nodeType":"YulIdentifier","src":"14801:2:7"},{"name":"t2","nativeSrc":"14805:2:7","nodeType":"YulIdentifier","src":"14805:2:7"},{"name":"q","nativeSrc":"14809:1:7","nodeType":"YulIdentifier","src":"14809:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"14794:6:7","nodeType":"YulIdentifier","src":"14794:6:7"},"nativeSrc":"14794:17:7","nodeType":"YulFunctionCall","src":"14794:17:7"},"variableNames":[{"name":"t1","nativeSrc":"14788:2:7","nodeType":"YulIdentifier","src":"14788:2:7"}]},{"nativeSrc":"14845:148:7","nodeType":"YulAssignment","src":"14845:148:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14889:6:7","nodeType":"YulIdentifier","src":"14889:6:7"},{"name":"pEval_c","nativeSrc":"14897:7:7","nodeType":"YulIdentifier","src":"14897:7:7"}],"functionName":{"name":"add","nativeSrc":"14885:3:7","nodeType":"YulIdentifier","src":"14885:3:7"},"nativeSrc":"14885:20:7","nodeType":"YulFunctionCall","src":"14885:20:7"}],"functionName":{"name":"mload","nativeSrc":"14879:5:7","nodeType":"YulIdentifier","src":"14879:5:7"},"nativeSrc":"14879:27:7","nodeType":"YulFunctionCall","src":"14879:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14938:4:7","nodeType":"YulIdentifier","src":"14938:4:7"},{"name":"pGamma","nativeSrc":"14944:6:7","nodeType":"YulIdentifier","src":"14944:6:7"}],"functionName":{"name":"add","nativeSrc":"14934:3:7","nodeType":"YulIdentifier","src":"14934:3:7"},"nativeSrc":"14934:17:7","nodeType":"YulFunctionCall","src":"14934:17:7"}],"functionName":{"name":"mload","nativeSrc":"14928:5:7","nodeType":"YulIdentifier","src":"14928:5:7"},"nativeSrc":"14928:24:7","nodeType":"YulFunctionCall","src":"14928:24:7"},{"name":"q","nativeSrc":"14974:1:7","nodeType":"YulIdentifier","src":"14974:1:7"}],"functionName":{"name":"addmod","nativeSrc":"14851:6:7","nodeType":"YulIdentifier","src":"14851:6:7"},"nativeSrc":"14851:142:7","nodeType":"YulFunctionCall","src":"14851:142:7"},"variableNames":[{"name":"t2","nativeSrc":"14845:2:7","nodeType":"YulIdentifier","src":"14845:2:7"}]},{"nativeSrc":"15011:23:7","nodeType":"YulAssignment","src":"15011:23:7","value":{"arguments":[{"name":"t1","nativeSrc":"15024:2:7","nodeType":"YulIdentifier","src":"15024:2:7"},{"name":"t2","nativeSrc":"15028:2:7","nodeType":"YulIdentifier","src":"15028:2:7"},{"name":"q","nativeSrc":"15032:1:7","nodeType":"YulIdentifier","src":"15032:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"15017:6:7","nodeType":"YulIdentifier","src":"15017:6:7"},"nativeSrc":"15017:17:7","nodeType":"YulFunctionCall","src":"15017:17:7"},"variableNames":[{"name":"t1","nativeSrc":"15011:2:7","nodeType":"YulIdentifier","src":"15011:2:7"}]},{"nativeSrc":"15051:49:7","nodeType":"YulAssignment","src":"15051:49:7","value":{"arguments":[{"name":"t1","nativeSrc":"15064:2:7","nodeType":"YulIdentifier","src":"15064:2:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"15078:6:7","nodeType":"YulIdentifier","src":"15078:6:7"},{"name":"pEval_zw","nativeSrc":"15086:8:7","nodeType":"YulIdentifier","src":"15086:8:7"}],"functionName":{"name":"add","nativeSrc":"15074:3:7","nodeType":"YulIdentifier","src":"15074:3:7"},"nativeSrc":"15074:21:7","nodeType":"YulFunctionCall","src":"15074:21:7"}],"functionName":{"name":"mload","nativeSrc":"15068:5:7","nodeType":"YulIdentifier","src":"15068:5:7"},"nativeSrc":"15068:28:7","nodeType":"YulFunctionCall","src":"15068:28:7"},{"name":"q","nativeSrc":"15098:1:7","nodeType":"YulIdentifier","src":"15098:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"15057:6:7","nodeType":"YulIdentifier","src":"15057:6:7"},"nativeSrc":"15057:43:7","nodeType":"YulFunctionCall","src":"15057:43:7"},"variableNames":[{"name":"t1","nativeSrc":"15051:2:7","nodeType":"YulIdentifier","src":"15051:2:7"}]},{"nativeSrc":"15117:45:7","nodeType":"YulAssignment","src":"15117:45:7","value":{"arguments":[{"name":"t1","nativeSrc":"15130:2:7","nodeType":"YulIdentifier","src":"15130:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15144:4:7","nodeType":"YulIdentifier","src":"15144:4:7"},{"name":"pAlpha","nativeSrc":"15150:6:7","nodeType":"YulIdentifier","src":"15150:6:7"}],"functionName":{"name":"add","nativeSrc":"15140:3:7","nodeType":"YulIdentifier","src":"15140:3:7"},"nativeSrc":"15140:17:7","nodeType":"YulFunctionCall","src":"15140:17:7"}],"functionName":{"name":"mload","nativeSrc":"15134:5:7","nodeType":"YulIdentifier","src":"15134:5:7"},"nativeSrc":"15134:24:7","nodeType":"YulFunctionCall","src":"15134:24:7"},{"name":"q","nativeSrc":"15160:1:7","nodeType":"YulIdentifier","src":"15160:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"15123:6:7","nodeType":"YulIdentifier","src":"15123:6:7"},"nativeSrc":"15123:39:7","nodeType":"YulFunctionCall","src":"15123:39:7"},"variableNames":[{"name":"t1","nativeSrc":"15117:2:7","nodeType":"YulIdentifier","src":"15117:2:7"}]},{"nativeSrc":"15196:149:7","nodeType":"YulAssignment","src":"15196:149:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15240:4:7","nodeType":"YulIdentifier","src":"15240:4:7"},{"name":"pEval_l1","nativeSrc":"15246:8:7","nodeType":"YulIdentifier","src":"15246:8:7"}],"functionName":{"name":"add","nativeSrc":"15236:3:7","nodeType":"YulIdentifier","src":"15236:3:7"},"nativeSrc":"15236:19:7","nodeType":"YulFunctionCall","src":"15236:19:7"}],"functionName":{"name":"mload","nativeSrc":"15230:5:7","nodeType":"YulIdentifier","src":"15230:5:7"},"nativeSrc":"15230:26:7","nodeType":"YulFunctionCall","src":"15230:26:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15289:4:7","nodeType":"YulIdentifier","src":"15289:4:7"},{"name":"pAlpha","nativeSrc":"15295:6:7","nodeType":"YulIdentifier","src":"15295:6:7"}],"functionName":{"name":"add","nativeSrc":"15285:3:7","nodeType":"YulIdentifier","src":"15285:3:7"},"nativeSrc":"15285:17:7","nodeType":"YulFunctionCall","src":"15285:17:7"}],"functionName":{"name":"mload","nativeSrc":"15279:5:7","nodeType":"YulIdentifier","src":"15279:5:7"},"nativeSrc":"15279:24:7","nodeType":"YulFunctionCall","src":"15279:24:7"},{"name":"q","nativeSrc":"15326:1:7","nodeType":"YulIdentifier","src":"15326:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"15202:6:7","nodeType":"YulIdentifier","src":"15202:6:7"},"nativeSrc":"15202:143:7","nodeType":"YulFunctionCall","src":"15202:143:7"},"variableNames":[{"name":"t2","nativeSrc":"15196:2:7","nodeType":"YulIdentifier","src":"15196:2:7"}]},{"nativeSrc":"15363:125:7","nodeType":"YulAssignment","src":"15363:125:7","value":{"arguments":[{"name":"t2","nativeSrc":"15397:2:7","nodeType":"YulIdentifier","src":"15397:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15432:4:7","nodeType":"YulIdentifier","src":"15432:4:7"},{"name":"pAlpha","nativeSrc":"15438:6:7","nodeType":"YulIdentifier","src":"15438:6:7"}],"functionName":{"name":"add","nativeSrc":"15428:3:7","nodeType":"YulIdentifier","src":"15428:3:7"},"nativeSrc":"15428:17:7","nodeType":"YulFunctionCall","src":"15428:17:7"}],"functionName":{"name":"mload","nativeSrc":"15422:5:7","nodeType":"YulIdentifier","src":"15422:5:7"},"nativeSrc":"15422:24:7","nodeType":"YulFunctionCall","src":"15422:24:7"},{"name":"q","nativeSrc":"15469:1:7","nodeType":"YulIdentifier","src":"15469:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"15369:6:7","nodeType":"YulIdentifier","src":"15369:6:7"},"nativeSrc":"15369:119:7","nodeType":"YulFunctionCall","src":"15369:119:7"},"variableNames":[{"name":"t2","nativeSrc":"15363:2:7","nodeType":"YulIdentifier","src":"15363:2:7"}]},{"nativeSrc":"15506:23:7","nodeType":"YulAssignment","src":"15506:23:7","value":{"arguments":[{"name":"t1","nativeSrc":"15519:2:7","nodeType":"YulIdentifier","src":"15519:2:7"},{"name":"t2","nativeSrc":"15523:2:7","nodeType":"YulIdentifier","src":"15523:2:7"},{"name":"q","nativeSrc":"15527:1:7","nodeType":"YulIdentifier","src":"15527:1:7"}],"functionName":{"name":"addmod","nativeSrc":"15512:6:7","nodeType":"YulIdentifier","src":"15512:6:7"},"nativeSrc":"15512:17:7","nodeType":"YulFunctionCall","src":"15512:17:7"},"variableNames":[{"name":"t1","nativeSrc":"15506:2:7","nodeType":"YulIdentifier","src":"15506:2:7"}]},{"nativeSrc":"15563:31:7","nodeType":"YulAssignment","src":"15563:31:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"t","nativeSrc":"15580:1:7","nodeType":"YulIdentifier","src":"15580:1:7"},{"name":"q","nativeSrc":"15583:1:7","nodeType":"YulIdentifier","src":"15583:1:7"}],"functionName":{"name":"add","nativeSrc":"15576:3:7","nodeType":"YulIdentifier","src":"15576:3:7"},"nativeSrc":"15576:9:7","nodeType":"YulFunctionCall","src":"15576:9:7"},{"name":"t1","nativeSrc":"15587:2:7","nodeType":"YulIdentifier","src":"15587:2:7"}],"functionName":{"name":"sub","nativeSrc":"15572:3:7","nodeType":"YulIdentifier","src":"15572:3:7"},"nativeSrc":"15572:18:7","nodeType":"YulFunctionCall","src":"15572:18:7"},{"name":"q","nativeSrc":"15592:1:7","nodeType":"YulIdentifier","src":"15592:1:7"}],"functionName":{"name":"mod","nativeSrc":"15568:3:7","nodeType":"YulIdentifier","src":"15568:3:7"},"nativeSrc":"15568:26:7","nodeType":"YulFunctionCall","src":"15568:26:7"},"variableNames":[{"name":"t","nativeSrc":"15563:1:7","nodeType":"YulIdentifier","src":"15563:1:7"}]},{"nativeSrc":"15611:43:7","nodeType":"YulAssignment","src":"15611:43:7","value":{"arguments":[{"name":"t","nativeSrc":"15623:1:7","nodeType":"YulIdentifier","src":"15623:1:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15636:4:7","nodeType":"YulIdentifier","src":"15636:4:7"},{"name":"pZhInv","nativeSrc":"15642:6:7","nodeType":"YulIdentifier","src":"15642:6:7"}],"functionName":{"name":"add","nativeSrc":"15632:3:7","nodeType":"YulIdentifier","src":"15632:3:7"},"nativeSrc":"15632:17:7","nodeType":"YulFunctionCall","src":"15632:17:7"}],"functionName":{"name":"mload","nativeSrc":"15626:5:7","nodeType":"YulIdentifier","src":"15626:5:7"},"nativeSrc":"15626:24:7","nodeType":"YulFunctionCall","src":"15626:24:7"},{"name":"q","nativeSrc":"15652:1:7","nodeType":"YulIdentifier","src":"15652:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"15616:6:7","nodeType":"YulIdentifier","src":"15616:6:7"},"nativeSrc":"15616:38:7","nodeType":"YulFunctionCall","src":"15616:38:7"},"variableNames":[{"name":"t","nativeSrc":"15611:1:7","nodeType":"YulIdentifier","src":"15611:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15700:4:7","nodeType":"YulIdentifier","src":"15700:4:7"},{"name":"pEval_t","nativeSrc":"15706:7:7","nodeType":"YulIdentifier","src":"15706:7:7"}],"functionName":{"name":"add","nativeSrc":"15696:3:7","nodeType":"YulIdentifier","src":"15696:3:7"},"nativeSrc":"15696:18:7","nodeType":"YulFunctionCall","src":"15696:18:7"},{"name":"t","nativeSrc":"15717:1:7","nodeType":"YulIdentifier","src":"15717:1:7"}],"functionName":{"name":"mstore","nativeSrc":"15688:6:7","nodeType":"YulIdentifier","src":"15688:6:7"},"nativeSrc":"15688:31:7","nodeType":"YulFunctionCall","src":"15688:31:7"},"nativeSrc":"15688:31:7","nodeType":"YulExpressionStatement","src":"15688:31:7"}]},"name":"calculateT","nativeSrc":"13538:2196:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"13558:6:7","nodeType":"YulTypedName","src":"13558:6:7","type":""},{"name":"pMem","nativeSrc":"13566:4:7","nodeType":"YulTypedName","src":"13566:4:7","type":""}],"src":"13538:2196:7"},{"body":{"nativeSrc":"15784:108:7","nodeType":"YulBlock","src":"15784:108:7","statements":[{"expression":{"arguments":[{"name":"pR","nativeSrc":"15809:2:7","nodeType":"YulIdentifier","src":"15809:2:7"},{"arguments":[{"name":"pP","nativeSrc":"15819:2:7","nodeType":"YulIdentifier","src":"15819:2:7"}],"functionName":{"name":"mload","nativeSrc":"15813:5:7","nodeType":"YulIdentifier","src":"15813:5:7"},"nativeSrc":"15813:9:7","nodeType":"YulFunctionCall","src":"15813:9:7"}],"functionName":{"name":"mstore","nativeSrc":"15802:6:7","nodeType":"YulIdentifier","src":"15802:6:7"},"nativeSrc":"15802:21:7","nodeType":"YulFunctionCall","src":"15802:21:7"},"nativeSrc":"15802:21:7","nodeType":"YulExpressionStatement","src":"15802:21:7"},{"expression":{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"15851:2:7","nodeType":"YulIdentifier","src":"15851:2:7"},{"kind":"number","nativeSrc":"15855:2:7","nodeType":"YulLiteral","src":"15855:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15847:3:7","nodeType":"YulIdentifier","src":"15847:3:7"},"nativeSrc":"15847:11:7","nodeType":"YulFunctionCall","src":"15847:11:7"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"15870:2:7","nodeType":"YulIdentifier","src":"15870:2:7"},{"kind":"number","nativeSrc":"15873:2:7","nodeType":"YulLiteral","src":"15873:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15866:3:7","nodeType":"YulIdentifier","src":"15866:3:7"},"nativeSrc":"15866:10:7","nodeType":"YulFunctionCall","src":"15866:10:7"}],"functionName":{"name":"mload","nativeSrc":"15860:5:7","nodeType":"YulIdentifier","src":"15860:5:7"},"nativeSrc":"15860:17:7","nodeType":"YulFunctionCall","src":"15860:17:7"}],"functionName":{"name":"mstore","nativeSrc":"15840:6:7","nodeType":"YulIdentifier","src":"15840:6:7"},"nativeSrc":"15840:38:7","nodeType":"YulFunctionCall","src":"15840:38:7"},"nativeSrc":"15840:38:7","nodeType":"YulExpressionStatement","src":"15840:38:7"}]},"name":"g1_set","nativeSrc":"15760:132:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15776:2:7","nodeType":"YulTypedName","src":"15776:2:7","type":""},{"name":"pP","nativeSrc":"15780:2:7","nodeType":"YulTypedName","src":"15780:2:7","type":""}],"src":"15760:132:7"},{"body":{"nativeSrc":"15930:474:7","nodeType":"YulBlock","src":"15930:474:7","statements":[{"nativeSrc":"15948:22:7","nodeType":"YulVariableDeclaration","src":"15948:22:7","value":{"arguments":[{"kind":"number","nativeSrc":"15965:4:7","nodeType":"YulLiteral","src":"15965:4:7","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"15959:5:7","nodeType":"YulIdentifier","src":"15959:5:7"},"nativeSrc":"15959:11:7","nodeType":"YulFunctionCall","src":"15959:11:7"},"variables":[{"name":"mIn","nativeSrc":"15952:3:7","nodeType":"YulTypedName","src":"15952:3:7","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"15994:3:7","nodeType":"YulIdentifier","src":"15994:3:7"},{"arguments":[{"name":"pR","nativeSrc":"16005:2:7","nodeType":"YulIdentifier","src":"16005:2:7"}],"functionName":{"name":"mload","nativeSrc":"15999:5:7","nodeType":"YulIdentifier","src":"15999:5:7"},"nativeSrc":"15999:9:7","nodeType":"YulFunctionCall","src":"15999:9:7"}],"functionName":{"name":"mstore","nativeSrc":"15987:6:7","nodeType":"YulIdentifier","src":"15987:6:7"},"nativeSrc":"15987:22:7","nodeType":"YulFunctionCall","src":"15987:22:7"},"nativeSrc":"15987:22:7","nodeType":"YulExpressionStatement","src":"15987:22:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16037:3:7","nodeType":"YulIdentifier","src":"16037:3:7"},{"kind":"number","nativeSrc":"16041:2:7","nodeType":"YulLiteral","src":"16041:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16033:3:7","nodeType":"YulIdentifier","src":"16033:3:7"},"nativeSrc":"16033:11:7","nodeType":"YulFunctionCall","src":"16033:11:7"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16056:2:7","nodeType":"YulIdentifier","src":"16056:2:7"},{"kind":"number","nativeSrc":"16060:2:7","nodeType":"YulLiteral","src":"16060:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16052:3:7","nodeType":"YulIdentifier","src":"16052:3:7"},"nativeSrc":"16052:11:7","nodeType":"YulFunctionCall","src":"16052:11:7"}],"functionName":{"name":"mload","nativeSrc":"16046:5:7","nodeType":"YulIdentifier","src":"16046:5:7"},"nativeSrc":"16046:18:7","nodeType":"YulFunctionCall","src":"16046:18:7"}],"functionName":{"name":"mstore","nativeSrc":"16026:6:7","nodeType":"YulIdentifier","src":"16026:6:7"},"nativeSrc":"16026:39:7","nodeType":"YulFunctionCall","src":"16026:39:7"},"nativeSrc":"16026:39:7","nodeType":"YulExpressionStatement","src":"16026:39:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16093:3:7","nodeType":"YulIdentifier","src":"16093:3:7"},{"kind":"number","nativeSrc":"16097:2:7","nodeType":"YulLiteral","src":"16097:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16089:3:7","nodeType":"YulIdentifier","src":"16089:3:7"},"nativeSrc":"16089:11:7","nodeType":"YulFunctionCall","src":"16089:11:7"},{"arguments":[{"name":"pP","nativeSrc":"16108:2:7","nodeType":"YulIdentifier","src":"16108:2:7"}],"functionName":{"name":"mload","nativeSrc":"16102:5:7","nodeType":"YulIdentifier","src":"16102:5:7"},"nativeSrc":"16102:9:7","nodeType":"YulFunctionCall","src":"16102:9:7"}],"functionName":{"name":"mstore","nativeSrc":"16082:6:7","nodeType":"YulIdentifier","src":"16082:6:7"},"nativeSrc":"16082:30:7","nodeType":"YulFunctionCall","src":"16082:30:7"},"nativeSrc":"16082:30:7","nodeType":"YulExpressionStatement","src":"16082:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16140:3:7","nodeType":"YulIdentifier","src":"16140:3:7"},{"kind":"number","nativeSrc":"16144:2:7","nodeType":"YulLiteral","src":"16144:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16136:3:7","nodeType":"YulIdentifier","src":"16136:3:7"},"nativeSrc":"16136:11:7","nodeType":"YulFunctionCall","src":"16136:11:7"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16159:2:7","nodeType":"YulIdentifier","src":"16159:2:7"},{"kind":"number","nativeSrc":"16163:2:7","nodeType":"YulLiteral","src":"16163:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16155:3:7","nodeType":"YulIdentifier","src":"16155:3:7"},"nativeSrc":"16155:11:7","nodeType":"YulFunctionCall","src":"16155:11:7"}],"functionName":{"name":"mload","nativeSrc":"16149:5:7","nodeType":"YulIdentifier","src":"16149:5:7"},"nativeSrc":"16149:18:7","nodeType":"YulFunctionCall","src":"16149:18:7"}],"functionName":{"name":"mstore","nativeSrc":"16129:6:7","nodeType":"YulIdentifier","src":"16129:6:7"},"nativeSrc":"16129:39:7","nodeType":"YulFunctionCall","src":"16129:39:7"},"nativeSrc":"16129:39:7","nodeType":"YulExpressionStatement","src":"16129:39:7"},{"nativeSrc":"16186:64:7","nodeType":"YulVariableDeclaration","src":"16186:64:7","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16216:3:7","nodeType":"YulIdentifier","src":"16216:3:7"},"nativeSrc":"16216:5:7","nodeType":"YulFunctionCall","src":"16216:5:7"},{"kind":"number","nativeSrc":"16223:4:7","nodeType":"YulLiteral","src":"16223:4:7","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16212:3:7","nodeType":"YulIdentifier","src":"16212:3:7"},"nativeSrc":"16212:16:7","nodeType":"YulFunctionCall","src":"16212:16:7"},{"kind":"number","nativeSrc":"16230:1:7","nodeType":"YulLiteral","src":"16230:1:7","type":"","value":"6"},{"name":"mIn","nativeSrc":"16233:3:7","nodeType":"YulIdentifier","src":"16233:3:7"},{"kind":"number","nativeSrc":"16238:3:7","nodeType":"YulLiteral","src":"16238:3:7","type":"","value":"128"},{"name":"pR","nativeSrc":"16243:2:7","nodeType":"YulIdentifier","src":"16243:2:7"},{"kind":"number","nativeSrc":"16247:2:7","nodeType":"YulLiteral","src":"16247:2:7","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16201:10:7","nodeType":"YulIdentifier","src":"16201:10:7"},"nativeSrc":"16201:49:7","nodeType":"YulFunctionCall","src":"16201:49:7"},"variables":[{"name":"success","nativeSrc":"16190:7:7","nodeType":"YulTypedName","src":"16190:7:7","type":""}]},{"body":{"nativeSrc":"16303:87:7","nodeType":"YulBlock","src":"16303:87:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16332:1:7","nodeType":"YulLiteral","src":"16332:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"16335:1:7","nodeType":"YulLiteral","src":"16335:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16325:6:7","nodeType":"YulIdentifier","src":"16325:6:7"},"nativeSrc":"16325:12:7","nodeType":"YulFunctionCall","src":"16325:12:7"},"nativeSrc":"16325:12:7","nodeType":"YulExpressionStatement","src":"16325:12:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16365:1:7","nodeType":"YulLiteral","src":"16365:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"16367:4:7","nodeType":"YulLiteral","src":"16367:4:7","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16358:6:7","nodeType":"YulIdentifier","src":"16358:6:7"},"nativeSrc":"16358:14:7","nodeType":"YulFunctionCall","src":"16358:14:7"},"nativeSrc":"16358:14:7","nodeType":"YulExpressionStatement","src":"16358:14:7"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16294:7:7","nodeType":"YulIdentifier","src":"16294:7:7"}],"functionName":{"name":"iszero","nativeSrc":"16287:6:7","nodeType":"YulIdentifier","src":"16287:6:7"},"nativeSrc":"16287:15:7","nodeType":"YulFunctionCall","src":"16287:15:7"},"nativeSrc":"16284:106:7","nodeType":"YulIf","src":"16284:106:7"}]},"name":"g1_acc","nativeSrc":"15906:498:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15922:2:7","nodeType":"YulTypedName","src":"15922:2:7","type":""},{"name":"pP","nativeSrc":"15926:2:7","nodeType":"YulTypedName","src":"15926:2:7","type":""}],"src":"15906:498:7"},{"body":{"nativeSrc":"16448:789:7","nodeType":"YulBlock","src":"16448:789:7","statements":[{"nativeSrc":"16466:11:7","nodeType":"YulVariableDeclaration","src":"16466:11:7","variables":[{"name":"success","nativeSrc":"16470:7:7","nodeType":"YulTypedName","src":"16470:7:7","type":""}]},{"nativeSrc":"16494:22:7","nodeType":"YulVariableDeclaration","src":"16494:22:7","value":{"arguments":[{"kind":"number","nativeSrc":"16511:4:7","nodeType":"YulLiteral","src":"16511:4:7","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"16505:5:7","nodeType":"YulIdentifier","src":"16505:5:7"},"nativeSrc":"16505:11:7","nodeType":"YulFunctionCall","src":"16505:11:7"},"variables":[{"name":"mIn","nativeSrc":"16498:3:7","nodeType":"YulTypedName","src":"16498:3:7","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"16540:3:7","nodeType":"YulIdentifier","src":"16540:3:7"},{"arguments":[{"name":"pP","nativeSrc":"16551:2:7","nodeType":"YulIdentifier","src":"16551:2:7"}],"functionName":{"name":"mload","nativeSrc":"16545:5:7","nodeType":"YulIdentifier","src":"16545:5:7"},"nativeSrc":"16545:9:7","nodeType":"YulFunctionCall","src":"16545:9:7"}],"functionName":{"name":"mstore","nativeSrc":"16533:6:7","nodeType":"YulIdentifier","src":"16533:6:7"},"nativeSrc":"16533:22:7","nodeType":"YulFunctionCall","src":"16533:22:7"},"nativeSrc":"16533:22:7","nodeType":"YulExpressionStatement","src":"16533:22:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16583:3:7","nodeType":"YulIdentifier","src":"16583:3:7"},{"kind":"number","nativeSrc":"16587:2:7","nodeType":"YulLiteral","src":"16587:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16579:3:7","nodeType":"YulIdentifier","src":"16579:3:7"},"nativeSrc":"16579:11:7","nodeType":"YulFunctionCall","src":"16579:11:7"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16602:2:7","nodeType":"YulIdentifier","src":"16602:2:7"},{"kind":"number","nativeSrc":"16606:2:7","nodeType":"YulLiteral","src":"16606:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16598:3:7","nodeType":"YulIdentifier","src":"16598:3:7"},"nativeSrc":"16598:11:7","nodeType":"YulFunctionCall","src":"16598:11:7"}],"functionName":{"name":"mload","nativeSrc":"16592:5:7","nodeType":"YulIdentifier","src":"16592:5:7"},"nativeSrc":"16592:18:7","nodeType":"YulFunctionCall","src":"16592:18:7"}],"functionName":{"name":"mstore","nativeSrc":"16572:6:7","nodeType":"YulIdentifier","src":"16572:6:7"},"nativeSrc":"16572:39:7","nodeType":"YulFunctionCall","src":"16572:39:7"},"nativeSrc":"16572:39:7","nodeType":"YulExpressionStatement","src":"16572:39:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16639:3:7","nodeType":"YulIdentifier","src":"16639:3:7"},{"kind":"number","nativeSrc":"16643:2:7","nodeType":"YulLiteral","src":"16643:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16635:3:7","nodeType":"YulIdentifier","src":"16635:3:7"},"nativeSrc":"16635:11:7","nodeType":"YulFunctionCall","src":"16635:11:7"},{"name":"s","nativeSrc":"16648:1:7","nodeType":"YulIdentifier","src":"16648:1:7"}],"functionName":{"name":"mstore","nativeSrc":"16628:6:7","nodeType":"YulIdentifier","src":"16628:6:7"},"nativeSrc":"16628:22:7","nodeType":"YulFunctionCall","src":"16628:22:7"},"nativeSrc":"16628:22:7","nodeType":"YulExpressionStatement","src":"16628:22:7"},{"nativeSrc":"16668:60:7","nodeType":"YulAssignment","src":"16668:60:7","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16694:3:7","nodeType":"YulIdentifier","src":"16694:3:7"},"nativeSrc":"16694:5:7","nodeType":"YulFunctionCall","src":"16694:5:7"},{"kind":"number","nativeSrc":"16701:4:7","nodeType":"YulLiteral","src":"16701:4:7","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16690:3:7","nodeType":"YulIdentifier","src":"16690:3:7"},"nativeSrc":"16690:16:7","nodeType":"YulFunctionCall","src":"16690:16:7"},{"kind":"number","nativeSrc":"16708:1:7","nodeType":"YulLiteral","src":"16708:1:7","type":"","value":"7"},{"name":"mIn","nativeSrc":"16711:3:7","nodeType":"YulIdentifier","src":"16711:3:7"},{"kind":"number","nativeSrc":"16716:2:7","nodeType":"YulLiteral","src":"16716:2:7","type":"","value":"96"},{"name":"mIn","nativeSrc":"16720:3:7","nodeType":"YulIdentifier","src":"16720:3:7"},{"kind":"number","nativeSrc":"16725:2:7","nodeType":"YulLiteral","src":"16725:2:7","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16679:10:7","nodeType":"YulIdentifier","src":"16679:10:7"},"nativeSrc":"16679:49:7","nodeType":"YulFunctionCall","src":"16679:49:7"},"variableNames":[{"name":"success","nativeSrc":"16668:7:7","nodeType":"YulIdentifier","src":"16668:7:7"}]},{"body":{"nativeSrc":"16781:87:7","nodeType":"YulBlock","src":"16781:87:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16810:1:7","nodeType":"YulLiteral","src":"16810:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"16813:1:7","nodeType":"YulLiteral","src":"16813:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16803:6:7","nodeType":"YulIdentifier","src":"16803:6:7"},"nativeSrc":"16803:12:7","nodeType":"YulFunctionCall","src":"16803:12:7"},"nativeSrc":"16803:12:7","nodeType":"YulExpressionStatement","src":"16803:12:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16843:1:7","nodeType":"YulLiteral","src":"16843:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"16845:4:7","nodeType":"YulLiteral","src":"16845:4:7","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16836:6:7","nodeType":"YulIdentifier","src":"16836:6:7"},"nativeSrc":"16836:14:7","nodeType":"YulFunctionCall","src":"16836:14:7"},"nativeSrc":"16836:14:7","nodeType":"YulExpressionStatement","src":"16836:14:7"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16772:7:7","nodeType":"YulIdentifier","src":"16772:7:7"}],"functionName":{"name":"iszero","nativeSrc":"16765:6:7","nodeType":"YulIdentifier","src":"16765:6:7"},"nativeSrc":"16765:15:7","nodeType":"YulFunctionCall","src":"16765:15:7"},"nativeSrc":"16762:106:7","nodeType":"YulIf","src":"16762:106:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16913:3:7","nodeType":"YulIdentifier","src":"16913:3:7"},{"kind":"number","nativeSrc":"16917:2:7","nodeType":"YulLiteral","src":"16917:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16909:3:7","nodeType":"YulIdentifier","src":"16909:3:7"},"nativeSrc":"16909:11:7","nodeType":"YulFunctionCall","src":"16909:11:7"},{"arguments":[{"name":"pR","nativeSrc":"16928:2:7","nodeType":"YulIdentifier","src":"16928:2:7"}],"functionName":{"name":"mload","nativeSrc":"16922:5:7","nodeType":"YulIdentifier","src":"16922:5:7"},"nativeSrc":"16922:9:7","nodeType":"YulFunctionCall","src":"16922:9:7"}],"functionName":{"name":"mstore","nativeSrc":"16902:6:7","nodeType":"YulIdentifier","src":"16902:6:7"},"nativeSrc":"16902:30:7","nodeType":"YulFunctionCall","src":"16902:30:7"},"nativeSrc":"16902:30:7","nodeType":"YulExpressionStatement","src":"16902:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16960:3:7","nodeType":"YulIdentifier","src":"16960:3:7"},{"kind":"number","nativeSrc":"16964:2:7","nodeType":"YulLiteral","src":"16964:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16956:3:7","nodeType":"YulIdentifier","src":"16956:3:7"},"nativeSrc":"16956:11:7","nodeType":"YulFunctionCall","src":"16956:11:7"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16979:2:7","nodeType":"YulIdentifier","src":"16979:2:7"},{"kind":"number","nativeSrc":"16983:2:7","nodeType":"YulLiteral","src":"16983:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16975:3:7","nodeType":"YulIdentifier","src":"16975:3:7"},"nativeSrc":"16975:11:7","nodeType":"YulFunctionCall","src":"16975:11:7"}],"functionName":{"name":"mload","nativeSrc":"16969:5:7","nodeType":"YulIdentifier","src":"16969:5:7"},"nativeSrc":"16969:18:7","nodeType":"YulFunctionCall","src":"16969:18:7"}],"functionName":{"name":"mstore","nativeSrc":"16949:6:7","nodeType":"YulIdentifier","src":"16949:6:7"},"nativeSrc":"16949:39:7","nodeType":"YulFunctionCall","src":"16949:39:7"},"nativeSrc":"16949:39:7","nodeType":"YulExpressionStatement","src":"16949:39:7"},{"nativeSrc":"17006:60:7","nodeType":"YulAssignment","src":"17006:60:7","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17032:3:7","nodeType":"YulIdentifier","src":"17032:3:7"},"nativeSrc":"17032:5:7","nodeType":"YulFunctionCall","src":"17032:5:7"},{"kind":"number","nativeSrc":"17039:4:7","nodeType":"YulLiteral","src":"17039:4:7","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17028:3:7","nodeType":"YulIdentifier","src":"17028:3:7"},"nativeSrc":"17028:16:7","nodeType":"YulFunctionCall","src":"17028:16:7"},{"kind":"number","nativeSrc":"17046:1:7","nodeType":"YulLiteral","src":"17046:1:7","type":"","value":"6"},{"name":"mIn","nativeSrc":"17049:3:7","nodeType":"YulIdentifier","src":"17049:3:7"},{"kind":"number","nativeSrc":"17054:3:7","nodeType":"YulLiteral","src":"17054:3:7","type":"","value":"128"},{"name":"pR","nativeSrc":"17059:2:7","nodeType":"YulIdentifier","src":"17059:2:7"},{"kind":"number","nativeSrc":"17063:2:7","nodeType":"YulLiteral","src":"17063:2:7","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17017:10:7","nodeType":"YulIdentifier","src":"17017:10:7"},"nativeSrc":"17017:49:7","nodeType":"YulFunctionCall","src":"17017:49:7"},"variableNames":[{"name":"success","nativeSrc":"17006:7:7","nodeType":"YulIdentifier","src":"17006:7:7"}]},{"body":{"nativeSrc":"17119:87:7","nodeType":"YulBlock","src":"17119:87:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17148:1:7","nodeType":"YulLiteral","src":"17148:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"17151:1:7","nodeType":"YulLiteral","src":"17151:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17141:6:7","nodeType":"YulIdentifier","src":"17141:6:7"},"nativeSrc":"17141:12:7","nodeType":"YulFunctionCall","src":"17141:12:7"},"nativeSrc":"17141:12:7","nodeType":"YulExpressionStatement","src":"17141:12:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17181:1:7","nodeType":"YulLiteral","src":"17181:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"17183:4:7","nodeType":"YulLiteral","src":"17183:4:7","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17174:6:7","nodeType":"YulIdentifier","src":"17174:6:7"},"nativeSrc":"17174:14:7","nodeType":"YulFunctionCall","src":"17174:14:7"},"nativeSrc":"17174:14:7","nodeType":"YulExpressionStatement","src":"17174:14:7"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17110:7:7","nodeType":"YulIdentifier","src":"17110:7:7"}],"functionName":{"name":"iszero","nativeSrc":"17103:6:7","nodeType":"YulIdentifier","src":"17103:6:7"},"nativeSrc":"17103:15:7","nodeType":"YulFunctionCall","src":"17103:15:7"},"nativeSrc":"17100:106:7","nodeType":"YulIf","src":"17100:106:7"}]},"name":"g1_mulAcc","nativeSrc":"16418:819:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"16437:2:7","nodeType":"YulTypedName","src":"16437:2:7","type":""},{"name":"pP","nativeSrc":"16441:2:7","nodeType":"YulTypedName","src":"16441:2:7","type":""},{"name":"s","nativeSrc":"16445:1:7","nodeType":"YulTypedName","src":"16445:1:7","type":""}],"src":"16418:819:7"},{"body":{"nativeSrc":"17284:747:7","nodeType":"YulBlock","src":"17284:747:7","statements":[{"nativeSrc":"17302:11:7","nodeType":"YulVariableDeclaration","src":"17302:11:7","variables":[{"name":"success","nativeSrc":"17306:7:7","nodeType":"YulTypedName","src":"17306:7:7","type":""}]},{"nativeSrc":"17330:22:7","nodeType":"YulVariableDeclaration","src":"17330:22:7","value":{"arguments":[{"kind":"number","nativeSrc":"17347:4:7","nodeType":"YulLiteral","src":"17347:4:7","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17341:5:7","nodeType":"YulIdentifier","src":"17341:5:7"},"nativeSrc":"17341:11:7","nodeType":"YulFunctionCall","src":"17341:11:7"},"variables":[{"name":"mIn","nativeSrc":"17334:3:7","nodeType":"YulTypedName","src":"17334:3:7","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"17376:3:7","nodeType":"YulIdentifier","src":"17376:3:7"},{"name":"x","nativeSrc":"17381:1:7","nodeType":"YulIdentifier","src":"17381:1:7"}],"functionName":{"name":"mstore","nativeSrc":"17369:6:7","nodeType":"YulIdentifier","src":"17369:6:7"},"nativeSrc":"17369:14:7","nodeType":"YulFunctionCall","src":"17369:14:7"},"nativeSrc":"17369:14:7","nodeType":"YulExpressionStatement","src":"17369:14:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17411:3:7","nodeType":"YulIdentifier","src":"17411:3:7"},{"kind":"number","nativeSrc":"17415:2:7","nodeType":"YulLiteral","src":"17415:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17407:3:7","nodeType":"YulIdentifier","src":"17407:3:7"},"nativeSrc":"17407:11:7","nodeType":"YulFunctionCall","src":"17407:11:7"},{"name":"y","nativeSrc":"17420:1:7","nodeType":"YulIdentifier","src":"17420:1:7"}],"functionName":{"name":"mstore","nativeSrc":"17400:6:7","nodeType":"YulIdentifier","src":"17400:6:7"},"nativeSrc":"17400:22:7","nodeType":"YulFunctionCall","src":"17400:22:7"},"nativeSrc":"17400:22:7","nodeType":"YulExpressionStatement","src":"17400:22:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17450:3:7","nodeType":"YulIdentifier","src":"17450:3:7"},{"kind":"number","nativeSrc":"17454:2:7","nodeType":"YulLiteral","src":"17454:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17446:3:7","nodeType":"YulIdentifier","src":"17446:3:7"},"nativeSrc":"17446:11:7","nodeType":"YulFunctionCall","src":"17446:11:7"},{"name":"s","nativeSrc":"17459:1:7","nodeType":"YulIdentifier","src":"17459:1:7"}],"functionName":{"name":"mstore","nativeSrc":"17439:6:7","nodeType":"YulIdentifier","src":"17439:6:7"},"nativeSrc":"17439:22:7","nodeType":"YulFunctionCall","src":"17439:22:7"},"nativeSrc":"17439:22:7","nodeType":"YulExpressionStatement","src":"17439:22:7"},{"nativeSrc":"17479:60:7","nodeType":"YulAssignment","src":"17479:60:7","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17505:3:7","nodeType":"YulIdentifier","src":"17505:3:7"},"nativeSrc":"17505:5:7","nodeType":"YulFunctionCall","src":"17505:5:7"},{"kind":"number","nativeSrc":"17512:4:7","nodeType":"YulLiteral","src":"17512:4:7","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17501:3:7","nodeType":"YulIdentifier","src":"17501:3:7"},"nativeSrc":"17501:16:7","nodeType":"YulFunctionCall","src":"17501:16:7"},{"kind":"number","nativeSrc":"17519:1:7","nodeType":"YulLiteral","src":"17519:1:7","type":"","value":"7"},{"name":"mIn","nativeSrc":"17522:3:7","nodeType":"YulIdentifier","src":"17522:3:7"},{"kind":"number","nativeSrc":"17527:2:7","nodeType":"YulLiteral","src":"17527:2:7","type":"","value":"96"},{"name":"mIn","nativeSrc":"17531:3:7","nodeType":"YulIdentifier","src":"17531:3:7"},{"kind":"number","nativeSrc":"17536:2:7","nodeType":"YulLiteral","src":"17536:2:7","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17490:10:7","nodeType":"YulIdentifier","src":"17490:10:7"},"nativeSrc":"17490:49:7","nodeType":"YulFunctionCall","src":"17490:49:7"},"variableNames":[{"name":"success","nativeSrc":"17479:7:7","nodeType":"YulIdentifier","src":"17479:7:7"}]},{"body":{"nativeSrc":"17592:87:7","nodeType":"YulBlock","src":"17592:87:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17621:1:7","nodeType":"YulLiteral","src":"17621:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"17624:1:7","nodeType":"YulLiteral","src":"17624:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17614:6:7","nodeType":"YulIdentifier","src":"17614:6:7"},"nativeSrc":"17614:12:7","nodeType":"YulFunctionCall","src":"17614:12:7"},"nativeSrc":"17614:12:7","nodeType":"YulExpressionStatement","src":"17614:12:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17654:1:7","nodeType":"YulLiteral","src":"17654:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"17656:4:7","nodeType":"YulLiteral","src":"17656:4:7","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17647:6:7","nodeType":"YulIdentifier","src":"17647:6:7"},"nativeSrc":"17647:14:7","nodeType":"YulFunctionCall","src":"17647:14:7"},"nativeSrc":"17647:14:7","nodeType":"YulExpressionStatement","src":"17647:14:7"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17583:7:7","nodeType":"YulIdentifier","src":"17583:7:7"}],"functionName":{"name":"iszero","nativeSrc":"17576:6:7","nodeType":"YulIdentifier","src":"17576:6:7"},"nativeSrc":"17576:15:7","nodeType":"YulFunctionCall","src":"17576:15:7"},"nativeSrc":"17573:106:7","nodeType":"YulIf","src":"17573:106:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17724:3:7","nodeType":"YulIdentifier","src":"17724:3:7"},{"kind":"number","nativeSrc":"17728:2:7","nodeType":"YulLiteral","src":"17728:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17720:3:7","nodeType":"YulIdentifier","src":"17720:3:7"},"nativeSrc":"17720:11:7","nodeType":"YulFunctionCall","src":"17720:11:7"},{"arguments":[{"name":"pR","nativeSrc":"17739:2:7","nodeType":"YulIdentifier","src":"17739:2:7"}],"functionName":{"name":"mload","nativeSrc":"17733:5:7","nodeType":"YulIdentifier","src":"17733:5:7"},"nativeSrc":"17733:9:7","nodeType":"YulFunctionCall","src":"17733:9:7"}],"functionName":{"name":"mstore","nativeSrc":"17713:6:7","nodeType":"YulIdentifier","src":"17713:6:7"},"nativeSrc":"17713:30:7","nodeType":"YulFunctionCall","src":"17713:30:7"},"nativeSrc":"17713:30:7","nodeType":"YulExpressionStatement","src":"17713:30:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17771:3:7","nodeType":"YulIdentifier","src":"17771:3:7"},{"kind":"number","nativeSrc":"17775:2:7","nodeType":"YulLiteral","src":"17775:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"17767:3:7","nodeType":"YulIdentifier","src":"17767:3:7"},"nativeSrc":"17767:11:7","nodeType":"YulFunctionCall","src":"17767:11:7"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"17790:2:7","nodeType":"YulIdentifier","src":"17790:2:7"},{"kind":"number","nativeSrc":"17794:2:7","nodeType":"YulLiteral","src":"17794:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17786:3:7","nodeType":"YulIdentifier","src":"17786:3:7"},"nativeSrc":"17786:11:7","nodeType":"YulFunctionCall","src":"17786:11:7"}],"functionName":{"name":"mload","nativeSrc":"17780:5:7","nodeType":"YulIdentifier","src":"17780:5:7"},"nativeSrc":"17780:18:7","nodeType":"YulFunctionCall","src":"17780:18:7"}],"functionName":{"name":"mstore","nativeSrc":"17760:6:7","nodeType":"YulIdentifier","src":"17760:6:7"},"nativeSrc":"17760:39:7","nodeType":"YulFunctionCall","src":"17760:39:7"},"nativeSrc":"17760:39:7","nodeType":"YulExpressionStatement","src":"17760:39:7"},{"nativeSrc":"17817:60:7","nodeType":"YulAssignment","src":"17817:60:7","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17843:3:7","nodeType":"YulIdentifier","src":"17843:3:7"},"nativeSrc":"17843:5:7","nodeType":"YulFunctionCall","src":"17843:5:7"},{"kind":"number","nativeSrc":"17850:4:7","nodeType":"YulLiteral","src":"17850:4:7","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17839:3:7","nodeType":"YulIdentifier","src":"17839:3:7"},"nativeSrc":"17839:16:7","nodeType":"YulFunctionCall","src":"17839:16:7"},{"kind":"number","nativeSrc":"17857:1:7","nodeType":"YulLiteral","src":"17857:1:7","type":"","value":"6"},{"name":"mIn","nativeSrc":"17860:3:7","nodeType":"YulIdentifier","src":"17860:3:7"},{"kind":"number","nativeSrc":"17865:3:7","nodeType":"YulLiteral","src":"17865:3:7","type":"","value":"128"},{"name":"pR","nativeSrc":"17870:2:7","nodeType":"YulIdentifier","src":"17870:2:7"},{"kind":"number","nativeSrc":"17874:2:7","nodeType":"YulLiteral","src":"17874:2:7","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17828:10:7","nodeType":"YulIdentifier","src":"17828:10:7"},"nativeSrc":"17828:49:7","nodeType":"YulFunctionCall","src":"17828:49:7"},"variableNames":[{"name":"success","nativeSrc":"17817:7:7","nodeType":"YulIdentifier","src":"17817:7:7"}]},{"body":{"nativeSrc":"17930:87:7","nodeType":"YulBlock","src":"17930:87:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17959:1:7","nodeType":"YulLiteral","src":"17959:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"17962:1:7","nodeType":"YulLiteral","src":"17962:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17952:6:7","nodeType":"YulIdentifier","src":"17952:6:7"},"nativeSrc":"17952:12:7","nodeType":"YulFunctionCall","src":"17952:12:7"},"nativeSrc":"17952:12:7","nodeType":"YulExpressionStatement","src":"17952:12:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17992:1:7","nodeType":"YulLiteral","src":"17992:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"17994:4:7","nodeType":"YulLiteral","src":"17994:4:7","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17985:6:7","nodeType":"YulIdentifier","src":"17985:6:7"},"nativeSrc":"17985:14:7","nodeType":"YulFunctionCall","src":"17985:14:7"},"nativeSrc":"17985:14:7","nodeType":"YulExpressionStatement","src":"17985:14:7"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17921:7:7","nodeType":"YulIdentifier","src":"17921:7:7"}],"functionName":{"name":"iszero","nativeSrc":"17914:6:7","nodeType":"YulIdentifier","src":"17914:6:7"},"nativeSrc":"17914:15:7","nodeType":"YulFunctionCall","src":"17914:15:7"},"nativeSrc":"17911:106:7","nodeType":"YulIf","src":"17911:106:7"}]},"name":"g1_mulAccC","nativeSrc":"17251:780:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"17271:2:7","nodeType":"YulTypedName","src":"17271:2:7","type":""},{"name":"x","nativeSrc":"17275:1:7","nodeType":"YulTypedName","src":"17275:1:7","type":""},{"name":"y","nativeSrc":"17278:1:7","nodeType":"YulTypedName","src":"17278:1:7","type":""},{"name":"s","nativeSrc":"17281:1:7","nodeType":"YulTypedName","src":"17281:1:7","type":""}],"src":"17251:780:7"},{"body":{"nativeSrc":"18078:408:7","nodeType":"YulBlock","src":"18078:408:7","statements":[{"nativeSrc":"18096:11:7","nodeType":"YulVariableDeclaration","src":"18096:11:7","variables":[{"name":"success","nativeSrc":"18100:7:7","nodeType":"YulTypedName","src":"18100:7:7","type":""}]},{"nativeSrc":"18124:22:7","nodeType":"YulVariableDeclaration","src":"18124:22:7","value":{"arguments":[{"kind":"number","nativeSrc":"18141:4:7","nodeType":"YulLiteral","src":"18141:4:7","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"18135:5:7","nodeType":"YulIdentifier","src":"18135:5:7"},"nativeSrc":"18135:11:7","nodeType":"YulFunctionCall","src":"18135:11:7"},"variables":[{"name":"mIn","nativeSrc":"18128:3:7","nodeType":"YulTypedName","src":"18128:3:7","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"18170:3:7","nodeType":"YulIdentifier","src":"18170:3:7"},{"name":"x","nativeSrc":"18175:1:7","nodeType":"YulIdentifier","src":"18175:1:7"}],"functionName":{"name":"mstore","nativeSrc":"18163:6:7","nodeType":"YulIdentifier","src":"18163:6:7"},"nativeSrc":"18163:14:7","nodeType":"YulFunctionCall","src":"18163:14:7"},"nativeSrc":"18163:14:7","nodeType":"YulExpressionStatement","src":"18163:14:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18205:3:7","nodeType":"YulIdentifier","src":"18205:3:7"},{"kind":"number","nativeSrc":"18209:2:7","nodeType":"YulLiteral","src":"18209:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"18201:3:7","nodeType":"YulIdentifier","src":"18201:3:7"},"nativeSrc":"18201:11:7","nodeType":"YulFunctionCall","src":"18201:11:7"},{"name":"y","nativeSrc":"18214:1:7","nodeType":"YulIdentifier","src":"18214:1:7"}],"functionName":{"name":"mstore","nativeSrc":"18194:6:7","nodeType":"YulIdentifier","src":"18194:6:7"},"nativeSrc":"18194:22:7","nodeType":"YulFunctionCall","src":"18194:22:7"},"nativeSrc":"18194:22:7","nodeType":"YulExpressionStatement","src":"18194:22:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18244:3:7","nodeType":"YulIdentifier","src":"18244:3:7"},{"kind":"number","nativeSrc":"18248:2:7","nodeType":"YulLiteral","src":"18248:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"18240:3:7","nodeType":"YulIdentifier","src":"18240:3:7"},"nativeSrc":"18240:11:7","nodeType":"YulFunctionCall","src":"18240:11:7"},{"name":"s","nativeSrc":"18253:1:7","nodeType":"YulIdentifier","src":"18253:1:7"}],"functionName":{"name":"mstore","nativeSrc":"18233:6:7","nodeType":"YulIdentifier","src":"18233:6:7"},"nativeSrc":"18233:22:7","nodeType":"YulFunctionCall","src":"18233:22:7"},"nativeSrc":"18233:22:7","nodeType":"YulExpressionStatement","src":"18233:22:7"},{"nativeSrc":"18273:59:7","nodeType":"YulAssignment","src":"18273:59:7","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"18299:3:7","nodeType":"YulIdentifier","src":"18299:3:7"},"nativeSrc":"18299:5:7","nodeType":"YulFunctionCall","src":"18299:5:7"},{"kind":"number","nativeSrc":"18306:4:7","nodeType":"YulLiteral","src":"18306:4:7","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"18295:3:7","nodeType":"YulIdentifier","src":"18295:3:7"},"nativeSrc":"18295:16:7","nodeType":"YulFunctionCall","src":"18295:16:7"},{"kind":"number","nativeSrc":"18313:1:7","nodeType":"YulLiteral","src":"18313:1:7","type":"","value":"7"},{"name":"mIn","nativeSrc":"18316:3:7","nodeType":"YulIdentifier","src":"18316:3:7"},{"kind":"number","nativeSrc":"18321:2:7","nodeType":"YulLiteral","src":"18321:2:7","type":"","value":"96"},{"name":"pR","nativeSrc":"18325:2:7","nodeType":"YulIdentifier","src":"18325:2:7"},{"kind":"number","nativeSrc":"18329:2:7","nodeType":"YulLiteral","src":"18329:2:7","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"18284:10:7","nodeType":"YulIdentifier","src":"18284:10:7"},"nativeSrc":"18284:48:7","nodeType":"YulFunctionCall","src":"18284:48:7"},"variableNames":[{"name":"success","nativeSrc":"18273:7:7","nodeType":"YulIdentifier","src":"18273:7:7"}]},{"body":{"nativeSrc":"18385:87:7","nodeType":"YulBlock","src":"18385:87:7","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"18414:1:7","nodeType":"YulLiteral","src":"18414:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"18417:1:7","nodeType":"YulLiteral","src":"18417:1:7","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"18407:6:7","nodeType":"YulIdentifier","src":"18407:6:7"},"nativeSrc":"18407:12:7","nodeType":"YulFunctionCall","src":"18407:12:7"},"nativeSrc":"18407:12:7","nodeType":"YulExpressionStatement","src":"18407:12:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18447:1:7","nodeType":"YulLiteral","src":"18447:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"18449:4:7","nodeType":"YulLiteral","src":"18449:4:7","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"18440:6:7","nodeType":"YulIdentifier","src":"18440:6:7"},"nativeSrc":"18440:14:7","nodeType":"YulFunctionCall","src":"18440:14:7"},"nativeSrc":"18440:14:7","nodeType":"YulExpressionStatement","src":"18440:14:7"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"18376:7:7","nodeType":"YulIdentifier","src":"18376:7:7"}],"functionName":{"name":"iszero","nativeSrc":"18369:6:7","nodeType":"YulIdentifier","src":"18369:6:7"},"nativeSrc":"18369:15:7","nodeType":"YulFunctionCall","src":"18369:15:7"},"nativeSrc":"18366:106:7","nodeType":"YulIf","src":"18366:106:7"}]},"name":"g1_mulSetC","nativeSrc":"18045:441:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"18065:2:7","nodeType":"YulTypedName","src":"18065:2:7","type":""},{"name":"x","nativeSrc":"18069:1:7","nodeType":"YulTypedName","src":"18069:1:7","type":""},{"name":"y","nativeSrc":"18072:1:7","nodeType":"YulTypedName","src":"18072:1:7","type":""},{"name":"s","nativeSrc":"18075:1:7","nodeType":"YulTypedName","src":"18075:1:7","type":""}],"src":"18045:441:7"},{"body":{"nativeSrc":"18536:171:7","nodeType":"YulBlock","src":"18536:171:7","statements":[{"nativeSrc":"18554:23:7","nodeType":"YulVariableDeclaration","src":"18554:23:7","value":{"arguments":[{"name":"pMem","nativeSrc":"18567:4:7","nodeType":"YulIdentifier","src":"18567:4:7"},{"name":"pA1","nativeSrc":"18573:3:7","nodeType":"YulIdentifier","src":"18573:3:7"}],"functionName":{"name":"add","nativeSrc":"18563:3:7","nodeType":"YulIdentifier","src":"18563:3:7"},"nativeSrc":"18563:14:7","nodeType":"YulFunctionCall","src":"18563:14:7"},"variables":[{"name":"p","nativeSrc":"18558:1:7","nodeType":"YulTypedName","src":"18558:1:7","type":""}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"18601:1:7","nodeType":"YulIdentifier","src":"18601:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"18608:6:7","nodeType":"YulIdentifier","src":"18608:6:7"},{"name":"pWxi","nativeSrc":"18616:4:7","nodeType":"YulIdentifier","src":"18616:4:7"}],"functionName":{"name":"add","nativeSrc":"18604:3:7","nodeType":"YulIdentifier","src":"18604:3:7"},"nativeSrc":"18604:17:7","nodeType":"YulFunctionCall","src":"18604:17:7"}],"functionName":{"name":"g1_set","nativeSrc":"18594:6:7","nodeType":"YulIdentifier","src":"18594:6:7"},"nativeSrc":"18594:28:7","nodeType":"YulFunctionCall","src":"18594:28:7"},"nativeSrc":"18594:28:7","nodeType":"YulExpressionStatement","src":"18594:28:7"},{"expression":{"arguments":[{"name":"p","nativeSrc":"18649:1:7","nodeType":"YulIdentifier","src":"18649:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"18656:6:7","nodeType":"YulIdentifier","src":"18656:6:7"},{"name":"pWxiw","nativeSrc":"18664:5:7","nodeType":"YulIdentifier","src":"18664:5:7"}],"functionName":{"name":"add","nativeSrc":"18652:3:7","nodeType":"YulIdentifier","src":"18652:3:7"},"nativeSrc":"18652:18:7","nodeType":"YulFunctionCall","src":"18652:18:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18682:4:7","nodeType":"YulIdentifier","src":"18682:4:7"},{"name":"pU","nativeSrc":"18688:2:7","nodeType":"YulIdentifier","src":"18688:2:7"}],"functionName":{"name":"add","nativeSrc":"18678:3:7","nodeType":"YulIdentifier","src":"18678:3:7"},"nativeSrc":"18678:13:7","nodeType":"YulFunctionCall","src":"18678:13:7"}],"functionName":{"name":"mload","nativeSrc":"18672:5:7","nodeType":"YulIdentifier","src":"18672:5:7"},"nativeSrc":"18672:20:7","nodeType":"YulFunctionCall","src":"18672:20:7"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"18639:9:7","nodeType":"YulIdentifier","src":"18639:9:7"},"nativeSrc":"18639:54:7","nodeType":"YulFunctionCall","src":"18639:54:7"},"nativeSrc":"18639:54:7","nodeType":"YulExpressionStatement","src":"18639:54:7"}]},"name":"calculateA1","nativeSrc":"18501:206:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18522:6:7","nodeType":"YulTypedName","src":"18522:6:7","type":""},{"name":"pMem","nativeSrc":"18530:4:7","nodeType":"YulTypedName","src":"18530:4:7","type":""}],"src":"18501:206:7"},{"body":{"nativeSrc":"18781:4443:7","nodeType":"YulBlock","src":"18781:4443:7","statements":[{"nativeSrc":"18799:5:7","nodeType":"YulVariableDeclaration","src":"18799:5:7","variables":[{"name":"s","nativeSrc":"18803:1:7","nodeType":"YulTypedName","src":"18803:1:7","type":""}]},{"nativeSrc":"18821:6:7","nodeType":"YulVariableDeclaration","src":"18821:6:7","variables":[{"name":"s1","nativeSrc":"18825:2:7","nodeType":"YulTypedName","src":"18825:2:7","type":""}]},{"nativeSrc":"18844:23:7","nodeType":"YulVariableDeclaration","src":"18844:23:7","value":{"arguments":[{"name":"pMem","nativeSrc":"18857:4:7","nodeType":"YulIdentifier","src":"18857:4:7"},{"name":"pB1","nativeSrc":"18863:3:7","nodeType":"YulIdentifier","src":"18863:3:7"}],"functionName":{"name":"add","nativeSrc":"18853:3:7","nodeType":"YulIdentifier","src":"18853:3:7"},"nativeSrc":"18853:14:7","nodeType":"YulFunctionCall","src":"18853:14:7"},"variables":[{"name":"p","nativeSrc":"18848:1:7","nodeType":"YulTypedName","src":"18848:1:7","type":""}]},{"nativeSrc":"18932:67:7","nodeType":"YulAssignment","src":"18932:67:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"18955:6:7","nodeType":"YulIdentifier","src":"18955:6:7"},{"name":"pEval_a","nativeSrc":"18963:7:7","nodeType":"YulIdentifier","src":"18963:7:7"}],"functionName":{"name":"add","nativeSrc":"18951:3:7","nodeType":"YulIdentifier","src":"18951:3:7"},"nativeSrc":"18951:20:7","nodeType":"YulFunctionCall","src":"18951:20:7"}],"functionName":{"name":"mload","nativeSrc":"18945:5:7","nodeType":"YulIdentifier","src":"18945:5:7"},"nativeSrc":"18945:27:7","nodeType":"YulFunctionCall","src":"18945:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18984:4:7","nodeType":"YulIdentifier","src":"18984:4:7"},{"name":"pV1","nativeSrc":"18990:3:7","nodeType":"YulIdentifier","src":"18990:3:7"}],"functionName":{"name":"add","nativeSrc":"18980:3:7","nodeType":"YulIdentifier","src":"18980:3:7"},"nativeSrc":"18980:14:7","nodeType":"YulFunctionCall","src":"18980:14:7"}],"functionName":{"name":"mload","nativeSrc":"18974:5:7","nodeType":"YulIdentifier","src":"18974:5:7"},"nativeSrc":"18974:21:7","nodeType":"YulFunctionCall","src":"18974:21:7"},{"name":"q","nativeSrc":"18997:1:7","nodeType":"YulIdentifier","src":"18997:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"18937:6:7","nodeType":"YulIdentifier","src":"18937:6:7"},"nativeSrc":"18937:62:7","nodeType":"YulFunctionCall","src":"18937:62:7"},"variableNames":[{"name":"s","nativeSrc":"18932:1:7","nodeType":"YulIdentifier","src":"18932:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19027:1:7","nodeType":"YulIdentifier","src":"19027:1:7"},{"name":"Qlx","nativeSrc":"19030:3:7","nodeType":"YulIdentifier","src":"19030:3:7"},{"name":"Qly","nativeSrc":"19035:3:7","nodeType":"YulIdentifier","src":"19035:3:7"},{"name":"s","nativeSrc":"19040:1:7","nodeType":"YulIdentifier","src":"19040:1:7"}],"functionName":{"name":"g1_mulSetC","nativeSrc":"19016:10:7","nodeType":"YulIdentifier","src":"19016:10:7"},"nativeSrc":"19016:26:7","nodeType":"YulFunctionCall","src":"19016:26:7"},"nativeSrc":"19016:26:7","nodeType":"YulExpressionStatement","src":"19016:26:7"},{"nativeSrc":"19060:47:7","nodeType":"YulAssignment","src":"19060:47:7","value":{"arguments":[{"name":"s","nativeSrc":"19073:1:7","nodeType":"YulIdentifier","src":"19073:1:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19086:6:7","nodeType":"YulIdentifier","src":"19086:6:7"},{"name":"pEval_b","nativeSrc":"19094:7:7","nodeType":"YulIdentifier","src":"19094:7:7"}],"functionName":{"name":"add","nativeSrc":"19082:3:7","nodeType":"YulIdentifier","src":"19082:3:7"},"nativeSrc":"19082:20:7","nodeType":"YulFunctionCall","src":"19082:20:7"}],"functionName":{"name":"mload","nativeSrc":"19076:5:7","nodeType":"YulIdentifier","src":"19076:5:7"},"nativeSrc":"19076:27:7","nodeType":"YulFunctionCall","src":"19076:27:7"},{"name":"q","nativeSrc":"19105:1:7","nodeType":"YulIdentifier","src":"19105:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"19065:6:7","nodeType":"YulIdentifier","src":"19065:6:7"},"nativeSrc":"19065:42:7","nodeType":"YulFunctionCall","src":"19065:42:7"},"variableNames":[{"name":"s","nativeSrc":"19060:1:7","nodeType":"YulIdentifier","src":"19060:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19151:1:7","nodeType":"YulIdentifier","src":"19151:1:7"},{"name":"Qmx","nativeSrc":"19154:3:7","nodeType":"YulIdentifier","src":"19154:3:7"},{"name":"Qmy","nativeSrc":"19159:3:7","nodeType":"YulIdentifier","src":"19159:3:7"},{"name":"s","nativeSrc":"19164:1:7","nodeType":"YulIdentifier","src":"19164:1:7"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19140:10:7","nodeType":"YulIdentifier","src":"19140:10:7"},"nativeSrc":"19140:26:7","nodeType":"YulFunctionCall","src":"19140:26:7"},"nativeSrc":"19140:26:7","nodeType":"YulExpressionStatement","src":"19140:26:7"},{"nativeSrc":"19184:67:7","nodeType":"YulAssignment","src":"19184:67:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19207:6:7","nodeType":"YulIdentifier","src":"19207:6:7"},{"name":"pEval_b","nativeSrc":"19215:7:7","nodeType":"YulIdentifier","src":"19215:7:7"}],"functionName":{"name":"add","nativeSrc":"19203:3:7","nodeType":"YulIdentifier","src":"19203:3:7"},"nativeSrc":"19203:20:7","nodeType":"YulFunctionCall","src":"19203:20:7"}],"functionName":{"name":"mload","nativeSrc":"19197:5:7","nodeType":"YulIdentifier","src":"19197:5:7"},"nativeSrc":"19197:27:7","nodeType":"YulFunctionCall","src":"19197:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19236:4:7","nodeType":"YulIdentifier","src":"19236:4:7"},{"name":"pV1","nativeSrc":"19242:3:7","nodeType":"YulIdentifier","src":"19242:3:7"}],"functionName":{"name":"add","nativeSrc":"19232:3:7","nodeType":"YulIdentifier","src":"19232:3:7"},"nativeSrc":"19232:14:7","nodeType":"YulFunctionCall","src":"19232:14:7"}],"functionName":{"name":"mload","nativeSrc":"19226:5:7","nodeType":"YulIdentifier","src":"19226:5:7"},"nativeSrc":"19226:21:7","nodeType":"YulFunctionCall","src":"19226:21:7"},{"name":"q","nativeSrc":"19249:1:7","nodeType":"YulIdentifier","src":"19249:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"19189:6:7","nodeType":"YulIdentifier","src":"19189:6:7"},"nativeSrc":"19189:62:7","nodeType":"YulFunctionCall","src":"19189:62:7"},"variableNames":[{"name":"s","nativeSrc":"19184:1:7","nodeType":"YulIdentifier","src":"19184:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19279:1:7","nodeType":"YulIdentifier","src":"19279:1:7"},{"name":"Qrx","nativeSrc":"19282:3:7","nodeType":"YulIdentifier","src":"19282:3:7"},{"name":"Qry","nativeSrc":"19287:3:7","nodeType":"YulIdentifier","src":"19287:3:7"},{"name":"s","nativeSrc":"19292:1:7","nodeType":"YulIdentifier","src":"19292:1:7"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19268:10:7","nodeType":"YulIdentifier","src":"19268:10:7"},"nativeSrc":"19268:26:7","nodeType":"YulFunctionCall","src":"19268:26:7"},"nativeSrc":"19268:26:7","nodeType":"YulExpressionStatement","src":"19268:26:7"},{"nativeSrc":"19328:67:7","nodeType":"YulAssignment","src":"19328:67:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19351:6:7","nodeType":"YulIdentifier","src":"19351:6:7"},{"name":"pEval_c","nativeSrc":"19359:7:7","nodeType":"YulIdentifier","src":"19359:7:7"}],"functionName":{"name":"add","nativeSrc":"19347:3:7","nodeType":"YulIdentifier","src":"19347:3:7"},"nativeSrc":"19347:20:7","nodeType":"YulFunctionCall","src":"19347:20:7"}],"functionName":{"name":"mload","nativeSrc":"19341:5:7","nodeType":"YulIdentifier","src":"19341:5:7"},"nativeSrc":"19341:27:7","nodeType":"YulFunctionCall","src":"19341:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19380:4:7","nodeType":"YulIdentifier","src":"19380:4:7"},{"name":"pV1","nativeSrc":"19386:3:7","nodeType":"YulIdentifier","src":"19386:3:7"}],"functionName":{"name":"add","nativeSrc":"19376:3:7","nodeType":"YulIdentifier","src":"19376:3:7"},"nativeSrc":"19376:14:7","nodeType":"YulFunctionCall","src":"19376:14:7"}],"functionName":{"name":"mload","nativeSrc":"19370:5:7","nodeType":"YulIdentifier","src":"19370:5:7"},"nativeSrc":"19370:21:7","nodeType":"YulFunctionCall","src":"19370:21:7"},{"name":"q","nativeSrc":"19393:1:7","nodeType":"YulIdentifier","src":"19393:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"19333:6:7","nodeType":"YulIdentifier","src":"19333:6:7"},"nativeSrc":"19333:62:7","nodeType":"YulFunctionCall","src":"19333:62:7"},"variableNames":[{"name":"s","nativeSrc":"19328:1:7","nodeType":"YulIdentifier","src":"19328:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19423:1:7","nodeType":"YulIdentifier","src":"19423:1:7"},{"name":"Qox","nativeSrc":"19426:3:7","nodeType":"YulIdentifier","src":"19426:3:7"},{"name":"Qoy","nativeSrc":"19431:3:7","nodeType":"YulIdentifier","src":"19431:3:7"},{"name":"s","nativeSrc":"19436:1:7","nodeType":"YulIdentifier","src":"19436:1:7"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19412:10:7","nodeType":"YulIdentifier","src":"19412:10:7"},"nativeSrc":"19412:26:7","nodeType":"YulFunctionCall","src":"19412:26:7"},"nativeSrc":"19412:26:7","nodeType":"YulExpressionStatement","src":"19412:26:7"},{"nativeSrc":"19456:25:7","nodeType":"YulAssignment","src":"19456:25:7","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19470:4:7","nodeType":"YulIdentifier","src":"19470:4:7"},{"name":"pV1","nativeSrc":"19476:3:7","nodeType":"YulIdentifier","src":"19476:3:7"}],"functionName":{"name":"add","nativeSrc":"19466:3:7","nodeType":"YulIdentifier","src":"19466:3:7"},"nativeSrc":"19466:14:7","nodeType":"YulFunctionCall","src":"19466:14:7"}],"functionName":{"name":"mload","nativeSrc":"19460:5:7","nodeType":"YulIdentifier","src":"19460:5:7"},"nativeSrc":"19460:21:7","nodeType":"YulFunctionCall","src":"19460:21:7"},"variableNames":[{"name":"s","nativeSrc":"19456:1:7","nodeType":"YulIdentifier","src":"19456:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19509:1:7","nodeType":"YulIdentifier","src":"19509:1:7"},{"name":"Qcx","nativeSrc":"19512:3:7","nodeType":"YulIdentifier","src":"19512:3:7"},{"name":"Qcy","nativeSrc":"19517:3:7","nodeType":"YulIdentifier","src":"19517:3:7"},{"name":"s","nativeSrc":"19522:1:7","nodeType":"YulIdentifier","src":"19522:1:7"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19498:10:7","nodeType":"YulIdentifier","src":"19498:10:7"},"nativeSrc":"19498:26:7","nodeType":"YulFunctionCall","src":"19498:26:7"},"nativeSrc":"19498:26:7","nodeType":"YulExpressionStatement","src":"19498:26:7"},{"nativeSrc":"19542:70:7","nodeType":"YulAssignment","src":"19542:70:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19564:6:7","nodeType":"YulIdentifier","src":"19564:6:7"},{"name":"pEval_a","nativeSrc":"19572:7:7","nodeType":"YulIdentifier","src":"19572:7:7"}],"functionName":{"name":"add","nativeSrc":"19560:3:7","nodeType":"YulIdentifier","src":"19560:3:7"},"nativeSrc":"19560:20:7","nodeType":"YulFunctionCall","src":"19560:20:7"}],"functionName":{"name":"mload","nativeSrc":"19554:5:7","nodeType":"YulIdentifier","src":"19554:5:7"},"nativeSrc":"19554:27:7","nodeType":"YulFunctionCall","src":"19554:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19593:4:7","nodeType":"YulIdentifier","src":"19593:4:7"},{"name":"pBetaXi","nativeSrc":"19599:7:7","nodeType":"YulIdentifier","src":"19599:7:7"}],"functionName":{"name":"add","nativeSrc":"19589:3:7","nodeType":"YulIdentifier","src":"19589:3:7"},"nativeSrc":"19589:18:7","nodeType":"YulFunctionCall","src":"19589:18:7"}],"functionName":{"name":"mload","nativeSrc":"19583:5:7","nodeType":"YulIdentifier","src":"19583:5:7"},"nativeSrc":"19583:25:7","nodeType":"YulFunctionCall","src":"19583:25:7"},{"name":"q","nativeSrc":"19610:1:7","nodeType":"YulIdentifier","src":"19610:1:7"}],"functionName":{"name":"addmod","nativeSrc":"19547:6:7","nodeType":"YulIdentifier","src":"19547:6:7"},"nativeSrc":"19547:65:7","nodeType":"YulFunctionCall","src":"19547:65:7"},"variableNames":[{"name":"s","nativeSrc":"19542:1:7","nodeType":"YulIdentifier","src":"19542:1:7"}]},{"nativeSrc":"19629:43:7","nodeType":"YulAssignment","src":"19629:43:7","value":{"arguments":[{"name":"s","nativeSrc":"19641:1:7","nodeType":"YulIdentifier","src":"19641:1:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19654:4:7","nodeType":"YulIdentifier","src":"19654:4:7"},{"name":"pGamma","nativeSrc":"19660:6:7","nodeType":"YulIdentifier","src":"19660:6:7"}],"functionName":{"name":"add","nativeSrc":"19650:3:7","nodeType":"YulIdentifier","src":"19650:3:7"},"nativeSrc":"19650:17:7","nodeType":"YulFunctionCall","src":"19650:17:7"}],"functionName":{"name":"mload","nativeSrc":"19644:5:7","nodeType":"YulIdentifier","src":"19644:5:7"},"nativeSrc":"19644:24:7","nodeType":"YulFunctionCall","src":"19644:24:7"},{"name":"q","nativeSrc":"19670:1:7","nodeType":"YulIdentifier","src":"19670:1:7"}],"functionName":{"name":"addmod","nativeSrc":"19634:6:7","nodeType":"YulIdentifier","src":"19634:6:7"},"nativeSrc":"19634:38:7","nodeType":"YulFunctionCall","src":"19634:38:7"},"variableNames":[{"name":"s","nativeSrc":"19629:1:7","nodeType":"YulIdentifier","src":"19629:1:7"}]},{"nativeSrc":"19689:46:7","nodeType":"YulAssignment","src":"19689:46:7","value":{"arguments":[{"name":"k1","nativeSrc":"19702:2:7","nodeType":"YulIdentifier","src":"19702:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19716:4:7","nodeType":"YulIdentifier","src":"19716:4:7"},{"name":"pBetaXi","nativeSrc":"19722:7:7","nodeType":"YulIdentifier","src":"19722:7:7"}],"functionName":{"name":"add","nativeSrc":"19712:3:7","nodeType":"YulIdentifier","src":"19712:3:7"},"nativeSrc":"19712:18:7","nodeType":"YulFunctionCall","src":"19712:18:7"}],"functionName":{"name":"mload","nativeSrc":"19706:5:7","nodeType":"YulIdentifier","src":"19706:5:7"},"nativeSrc":"19706:25:7","nodeType":"YulFunctionCall","src":"19706:25:7"},{"name":"q","nativeSrc":"19733:1:7","nodeType":"YulIdentifier","src":"19733:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"19695:6:7","nodeType":"YulIdentifier","src":"19695:6:7"},"nativeSrc":"19695:40:7","nodeType":"YulFunctionCall","src":"19695:40:7"},"variableNames":[{"name":"s1","nativeSrc":"19689:2:7","nodeType":"YulIdentifier","src":"19689:2:7"}]},{"nativeSrc":"19752:48:7","nodeType":"YulAssignment","src":"19752:48:7","value":{"arguments":[{"name":"s1","nativeSrc":"19765:2:7","nodeType":"YulIdentifier","src":"19765:2:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19779:6:7","nodeType":"YulIdentifier","src":"19779:6:7"},{"name":"pEval_b","nativeSrc":"19787:7:7","nodeType":"YulIdentifier","src":"19787:7:7"}],"functionName":{"name":"add","nativeSrc":"19775:3:7","nodeType":"YulIdentifier","src":"19775:3:7"},"nativeSrc":"19775:20:7","nodeType":"YulFunctionCall","src":"19775:20:7"}],"functionName":{"name":"mload","nativeSrc":"19769:5:7","nodeType":"YulIdentifier","src":"19769:5:7"},"nativeSrc":"19769:27:7","nodeType":"YulFunctionCall","src":"19769:27:7"},{"name":"q","nativeSrc":"19798:1:7","nodeType":"YulIdentifier","src":"19798:1:7"}],"functionName":{"name":"addmod","nativeSrc":"19758:6:7","nodeType":"YulIdentifier","src":"19758:6:7"},"nativeSrc":"19758:42:7","nodeType":"YulFunctionCall","src":"19758:42:7"},"variableNames":[{"name":"s1","nativeSrc":"19752:2:7","nodeType":"YulIdentifier","src":"19752:2:7"}]},{"nativeSrc":"19817:45:7","nodeType":"YulAssignment","src":"19817:45:7","value":{"arguments":[{"name":"s1","nativeSrc":"19830:2:7","nodeType":"YulIdentifier","src":"19830:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19844:4:7","nodeType":"YulIdentifier","src":"19844:4:7"},{"name":"pGamma","nativeSrc":"19850:6:7","nodeType":"YulIdentifier","src":"19850:6:7"}],"functionName":{"name":"add","nativeSrc":"19840:3:7","nodeType":"YulIdentifier","src":"19840:3:7"},"nativeSrc":"19840:17:7","nodeType":"YulFunctionCall","src":"19840:17:7"}],"functionName":{"name":"mload","nativeSrc":"19834:5:7","nodeType":"YulIdentifier","src":"19834:5:7"},"nativeSrc":"19834:24:7","nodeType":"YulFunctionCall","src":"19834:24:7"},{"name":"q","nativeSrc":"19860:1:7","nodeType":"YulIdentifier","src":"19860:1:7"}],"functionName":{"name":"addmod","nativeSrc":"19823:6:7","nodeType":"YulIdentifier","src":"19823:6:7"},"nativeSrc":"19823:39:7","nodeType":"YulFunctionCall","src":"19823:39:7"},"variableNames":[{"name":"s1","nativeSrc":"19817:2:7","nodeType":"YulIdentifier","src":"19817:2:7"}]},{"nativeSrc":"19879:21:7","nodeType":"YulAssignment","src":"19879:21:7","value":{"arguments":[{"name":"s","nativeSrc":"19891:1:7","nodeType":"YulIdentifier","src":"19891:1:7"},{"name":"s1","nativeSrc":"19894:2:7","nodeType":"YulIdentifier","src":"19894:2:7"},{"name":"q","nativeSrc":"19898:1:7","nodeType":"YulIdentifier","src":"19898:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"19884:6:7","nodeType":"YulIdentifier","src":"19884:6:7"},"nativeSrc":"19884:16:7","nodeType":"YulFunctionCall","src":"19884:16:7"},"variableNames":[{"name":"s","nativeSrc":"19879:1:7","nodeType":"YulIdentifier","src":"19879:1:7"}]},{"nativeSrc":"19917:46:7","nodeType":"YulAssignment","src":"19917:46:7","value":{"arguments":[{"name":"k2","nativeSrc":"19930:2:7","nodeType":"YulIdentifier","src":"19930:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19944:4:7","nodeType":"YulIdentifier","src":"19944:4:7"},{"name":"pBetaXi","nativeSrc":"19950:7:7","nodeType":"YulIdentifier","src":"19950:7:7"}],"functionName":{"name":"add","nativeSrc":"19940:3:7","nodeType":"YulIdentifier","src":"19940:3:7"},"nativeSrc":"19940:18:7","nodeType":"YulFunctionCall","src":"19940:18:7"}],"functionName":{"name":"mload","nativeSrc":"19934:5:7","nodeType":"YulIdentifier","src":"19934:5:7"},"nativeSrc":"19934:25:7","nodeType":"YulFunctionCall","src":"19934:25:7"},{"name":"q","nativeSrc":"19961:1:7","nodeType":"YulIdentifier","src":"19961:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"19923:6:7","nodeType":"YulIdentifier","src":"19923:6:7"},"nativeSrc":"19923:40:7","nodeType":"YulFunctionCall","src":"19923:40:7"},"variableNames":[{"name":"s1","nativeSrc":"19917:2:7","nodeType":"YulIdentifier","src":"19917:2:7"}]},{"nativeSrc":"19980:48:7","nodeType":"YulAssignment","src":"19980:48:7","value":{"arguments":[{"name":"s1","nativeSrc":"19993:2:7","nodeType":"YulIdentifier","src":"19993:2:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20007:6:7","nodeType":"YulIdentifier","src":"20007:6:7"},{"name":"pEval_c","nativeSrc":"20015:7:7","nodeType":"YulIdentifier","src":"20015:7:7"}],"functionName":{"name":"add","nativeSrc":"20003:3:7","nodeType":"YulIdentifier","src":"20003:3:7"},"nativeSrc":"20003:20:7","nodeType":"YulFunctionCall","src":"20003:20:7"}],"functionName":{"name":"mload","nativeSrc":"19997:5:7","nodeType":"YulIdentifier","src":"19997:5:7"},"nativeSrc":"19997:27:7","nodeType":"YulFunctionCall","src":"19997:27:7"},{"name":"q","nativeSrc":"20026:1:7","nodeType":"YulIdentifier","src":"20026:1:7"}],"functionName":{"name":"addmod","nativeSrc":"19986:6:7","nodeType":"YulIdentifier","src":"19986:6:7"},"nativeSrc":"19986:42:7","nodeType":"YulFunctionCall","src":"19986:42:7"},"variableNames":[{"name":"s1","nativeSrc":"19980:2:7","nodeType":"YulIdentifier","src":"19980:2:7"}]},{"nativeSrc":"20045:45:7","nodeType":"YulAssignment","src":"20045:45:7","value":{"arguments":[{"name":"s1","nativeSrc":"20058:2:7","nodeType":"YulIdentifier","src":"20058:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20072:4:7","nodeType":"YulIdentifier","src":"20072:4:7"},{"name":"pGamma","nativeSrc":"20078:6:7","nodeType":"YulIdentifier","src":"20078:6:7"}],"functionName":{"name":"add","nativeSrc":"20068:3:7","nodeType":"YulIdentifier","src":"20068:3:7"},"nativeSrc":"20068:17:7","nodeType":"YulFunctionCall","src":"20068:17:7"}],"functionName":{"name":"mload","nativeSrc":"20062:5:7","nodeType":"YulIdentifier","src":"20062:5:7"},"nativeSrc":"20062:24:7","nodeType":"YulFunctionCall","src":"20062:24:7"},{"name":"q","nativeSrc":"20088:1:7","nodeType":"YulIdentifier","src":"20088:1:7"}],"functionName":{"name":"addmod","nativeSrc":"20051:6:7","nodeType":"YulIdentifier","src":"20051:6:7"},"nativeSrc":"20051:39:7","nodeType":"YulFunctionCall","src":"20051:39:7"},"variableNames":[{"name":"s1","nativeSrc":"20045:2:7","nodeType":"YulIdentifier","src":"20045:2:7"}]},{"nativeSrc":"20107:21:7","nodeType":"YulAssignment","src":"20107:21:7","value":{"arguments":[{"name":"s","nativeSrc":"20119:1:7","nodeType":"YulIdentifier","src":"20119:1:7"},{"name":"s1","nativeSrc":"20122:2:7","nodeType":"YulIdentifier","src":"20122:2:7"},{"name":"q","nativeSrc":"20126:1:7","nodeType":"YulIdentifier","src":"20126:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"20112:6:7","nodeType":"YulIdentifier","src":"20112:6:7"},"nativeSrc":"20112:16:7","nodeType":"YulFunctionCall","src":"20112:16:7"},"variableNames":[{"name":"s","nativeSrc":"20107:1:7","nodeType":"YulIdentifier","src":"20107:1:7"}]},{"nativeSrc":"20145:43:7","nodeType":"YulAssignment","src":"20145:43:7","value":{"arguments":[{"name":"s","nativeSrc":"20157:1:7","nodeType":"YulIdentifier","src":"20157:1:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20170:4:7","nodeType":"YulIdentifier","src":"20170:4:7"},{"name":"pAlpha","nativeSrc":"20176:6:7","nodeType":"YulIdentifier","src":"20176:6:7"}],"functionName":{"name":"add","nativeSrc":"20166:3:7","nodeType":"YulIdentifier","src":"20166:3:7"},"nativeSrc":"20166:17:7","nodeType":"YulFunctionCall","src":"20166:17:7"}],"functionName":{"name":"mload","nativeSrc":"20160:5:7","nodeType":"YulIdentifier","src":"20160:5:7"},"nativeSrc":"20160:24:7","nodeType":"YulFunctionCall","src":"20160:24:7"},{"name":"q","nativeSrc":"20186:1:7","nodeType":"YulIdentifier","src":"20186:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"20150:6:7","nodeType":"YulIdentifier","src":"20150:6:7"},"nativeSrc":"20150:38:7","nodeType":"YulFunctionCall","src":"20150:38:7"},"variableNames":[{"name":"s","nativeSrc":"20145:1:7","nodeType":"YulIdentifier","src":"20145:1:7"}]},{"nativeSrc":"20205:40:7","nodeType":"YulAssignment","src":"20205:40:7","value":{"arguments":[{"name":"s","nativeSrc":"20217:1:7","nodeType":"YulIdentifier","src":"20217:1:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20230:4:7","nodeType":"YulIdentifier","src":"20230:4:7"},{"name":"pV1","nativeSrc":"20236:3:7","nodeType":"YulIdentifier","src":"20236:3:7"}],"functionName":{"name":"add","nativeSrc":"20226:3:7","nodeType":"YulIdentifier","src":"20226:3:7"},"nativeSrc":"20226:14:7","nodeType":"YulFunctionCall","src":"20226:14:7"}],"functionName":{"name":"mload","nativeSrc":"20220:5:7","nodeType":"YulIdentifier","src":"20220:5:7"},"nativeSrc":"20220:21:7","nodeType":"YulFunctionCall","src":"20220:21:7"},{"name":"q","nativeSrc":"20243:1:7","nodeType":"YulIdentifier","src":"20243:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"20210:6:7","nodeType":"YulIdentifier","src":"20210:6:7"},"nativeSrc":"20210:35:7","nodeType":"YulFunctionCall","src":"20210:35:7"},"variableNames":[{"name":"s","nativeSrc":"20205:1:7","nodeType":"YulIdentifier","src":"20205:1:7"}]},{"nativeSrc":"20262:69:7","nodeType":"YulAssignment","src":"20262:69:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20285:4:7","nodeType":"YulIdentifier","src":"20285:4:7"},{"name":"pEval_l1","nativeSrc":"20291:8:7","nodeType":"YulIdentifier","src":"20291:8:7"}],"functionName":{"name":"add","nativeSrc":"20281:3:7","nodeType":"YulIdentifier","src":"20281:3:7"},"nativeSrc":"20281:19:7","nodeType":"YulFunctionCall","src":"20281:19:7"}],"functionName":{"name":"mload","nativeSrc":"20275:5:7","nodeType":"YulIdentifier","src":"20275:5:7"},"nativeSrc":"20275:26:7","nodeType":"YulFunctionCall","src":"20275:26:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20313:4:7","nodeType":"YulIdentifier","src":"20313:4:7"},{"name":"pAlpha","nativeSrc":"20319:6:7","nodeType":"YulIdentifier","src":"20319:6:7"}],"functionName":{"name":"add","nativeSrc":"20309:3:7","nodeType":"YulIdentifier","src":"20309:3:7"},"nativeSrc":"20309:17:7","nodeType":"YulFunctionCall","src":"20309:17:7"}],"functionName":{"name":"mload","nativeSrc":"20303:5:7","nodeType":"YulIdentifier","src":"20303:5:7"},"nativeSrc":"20303:24:7","nodeType":"YulFunctionCall","src":"20303:24:7"},{"name":"q","nativeSrc":"20329:1:7","nodeType":"YulIdentifier","src":"20329:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"20268:6:7","nodeType":"YulIdentifier","src":"20268:6:7"},"nativeSrc":"20268:63:7","nodeType":"YulFunctionCall","src":"20268:63:7"},"variableNames":[{"name":"s1","nativeSrc":"20262:2:7","nodeType":"YulIdentifier","src":"20262:2:7"}]},{"nativeSrc":"20348:45:7","nodeType":"YulAssignment","src":"20348:45:7","value":{"arguments":[{"name":"s1","nativeSrc":"20361:2:7","nodeType":"YulIdentifier","src":"20361:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20375:4:7","nodeType":"YulIdentifier","src":"20375:4:7"},{"name":"pAlpha","nativeSrc":"20381:6:7","nodeType":"YulIdentifier","src":"20381:6:7"}],"functionName":{"name":"add","nativeSrc":"20371:3:7","nodeType":"YulIdentifier","src":"20371:3:7"},"nativeSrc":"20371:17:7","nodeType":"YulFunctionCall","src":"20371:17:7"}],"functionName":{"name":"mload","nativeSrc":"20365:5:7","nodeType":"YulIdentifier","src":"20365:5:7"},"nativeSrc":"20365:24:7","nodeType":"YulFunctionCall","src":"20365:24:7"},{"name":"q","nativeSrc":"20391:1:7","nodeType":"YulIdentifier","src":"20391:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"20354:6:7","nodeType":"YulIdentifier","src":"20354:6:7"},"nativeSrc":"20354:39:7","nodeType":"YulFunctionCall","src":"20354:39:7"},"variableNames":[{"name":"s1","nativeSrc":"20348:2:7","nodeType":"YulIdentifier","src":"20348:2:7"}]},{"nativeSrc":"20410:42:7","nodeType":"YulAssignment","src":"20410:42:7","value":{"arguments":[{"name":"s1","nativeSrc":"20423:2:7","nodeType":"YulIdentifier","src":"20423:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20437:4:7","nodeType":"YulIdentifier","src":"20437:4:7"},{"name":"pV1","nativeSrc":"20443:3:7","nodeType":"YulIdentifier","src":"20443:3:7"}],"functionName":{"name":"add","nativeSrc":"20433:3:7","nodeType":"YulIdentifier","src":"20433:3:7"},"nativeSrc":"20433:14:7","nodeType":"YulFunctionCall","src":"20433:14:7"}],"functionName":{"name":"mload","nativeSrc":"20427:5:7","nodeType":"YulIdentifier","src":"20427:5:7"},"nativeSrc":"20427:21:7","nodeType":"YulFunctionCall","src":"20427:21:7"},{"name":"q","nativeSrc":"20450:1:7","nodeType":"YulIdentifier","src":"20450:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"20416:6:7","nodeType":"YulIdentifier","src":"20416:6:7"},"nativeSrc":"20416:36:7","nodeType":"YulFunctionCall","src":"20416:36:7"},"variableNames":[{"name":"s1","nativeSrc":"20410:2:7","nodeType":"YulIdentifier","src":"20410:2:7"}]},{"nativeSrc":"20469:21:7","nodeType":"YulAssignment","src":"20469:21:7","value":{"arguments":[{"name":"s","nativeSrc":"20481:1:7","nodeType":"YulIdentifier","src":"20481:1:7"},{"name":"s1","nativeSrc":"20484:2:7","nodeType":"YulIdentifier","src":"20484:2:7"},{"name":"q","nativeSrc":"20488:1:7","nodeType":"YulIdentifier","src":"20488:1:7"}],"functionName":{"name":"addmod","nativeSrc":"20474:6:7","nodeType":"YulIdentifier","src":"20474:6:7"},"nativeSrc":"20474:16:7","nodeType":"YulFunctionCall","src":"20474:16:7"},"variableNames":[{"name":"s","nativeSrc":"20469:1:7","nodeType":"YulIdentifier","src":"20469:1:7"}]},{"nativeSrc":"20507:39:7","nodeType":"YulAssignment","src":"20507:39:7","value":{"arguments":[{"name":"s","nativeSrc":"20519:1:7","nodeType":"YulIdentifier","src":"20519:1:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20532:4:7","nodeType":"YulIdentifier","src":"20532:4:7"},{"name":"pU","nativeSrc":"20538:2:7","nodeType":"YulIdentifier","src":"20538:2:7"}],"functionName":{"name":"add","nativeSrc":"20528:3:7","nodeType":"YulIdentifier","src":"20528:3:7"},"nativeSrc":"20528:13:7","nodeType":"YulFunctionCall","src":"20528:13:7"}],"functionName":{"name":"mload","nativeSrc":"20522:5:7","nodeType":"YulIdentifier","src":"20522:5:7"},"nativeSrc":"20522:20:7","nodeType":"YulFunctionCall","src":"20522:20:7"},{"name":"q","nativeSrc":"20544:1:7","nodeType":"YulIdentifier","src":"20544:1:7"}],"functionName":{"name":"addmod","nativeSrc":"20512:6:7","nodeType":"YulIdentifier","src":"20512:6:7"},"nativeSrc":"20512:34:7","nodeType":"YulFunctionCall","src":"20512:34:7"},"variableNames":[{"name":"s","nativeSrc":"20507:1:7","nodeType":"YulIdentifier","src":"20507:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"20573:1:7","nodeType":"YulIdentifier","src":"20573:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"20580:6:7","nodeType":"YulIdentifier","src":"20580:6:7"},{"name":"pZ","nativeSrc":"20588:2:7","nodeType":"YulIdentifier","src":"20588:2:7"}],"functionName":{"name":"add","nativeSrc":"20576:3:7","nodeType":"YulIdentifier","src":"20576:3:7"},"nativeSrc":"20576:15:7","nodeType":"YulFunctionCall","src":"20576:15:7"},{"name":"s","nativeSrc":"20593:1:7","nodeType":"YulIdentifier","src":"20593:1:7"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"20563:9:7","nodeType":"YulIdentifier","src":"20563:9:7"},"nativeSrc":"20563:32:7","nodeType":"YulFunctionCall","src":"20563:32:7"},"nativeSrc":"20563:32:7","nodeType":"YulExpressionStatement","src":"20563:32:7"},{"nativeSrc":"20629:69:7","nodeType":"YulAssignment","src":"20629:69:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20651:4:7","nodeType":"YulIdentifier","src":"20651:4:7"},{"name":"pBeta","nativeSrc":"20657:5:7","nodeType":"YulIdentifier","src":"20657:5:7"}],"functionName":{"name":"add","nativeSrc":"20647:3:7","nodeType":"YulIdentifier","src":"20647:3:7"},"nativeSrc":"20647:16:7","nodeType":"YulFunctionCall","src":"20647:16:7"}],"functionName":{"name":"mload","nativeSrc":"20641:5:7","nodeType":"YulIdentifier","src":"20641:5:7"},"nativeSrc":"20641:23:7","nodeType":"YulFunctionCall","src":"20641:23:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20676:6:7","nodeType":"YulIdentifier","src":"20676:6:7"},{"name":"pEval_s1","nativeSrc":"20684:8:7","nodeType":"YulIdentifier","src":"20684:8:7"}],"functionName":{"name":"add","nativeSrc":"20672:3:7","nodeType":"YulIdentifier","src":"20672:3:7"},"nativeSrc":"20672:21:7","nodeType":"YulFunctionCall","src":"20672:21:7"}],"functionName":{"name":"mload","nativeSrc":"20666:5:7","nodeType":"YulIdentifier","src":"20666:5:7"},"nativeSrc":"20666:28:7","nodeType":"YulFunctionCall","src":"20666:28:7"},{"name":"q","nativeSrc":"20696:1:7","nodeType":"YulIdentifier","src":"20696:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"20634:6:7","nodeType":"YulIdentifier","src":"20634:6:7"},"nativeSrc":"20634:64:7","nodeType":"YulFunctionCall","src":"20634:64:7"},"variableNames":[{"name":"s","nativeSrc":"20629:1:7","nodeType":"YulIdentifier","src":"20629:1:7"}]},{"nativeSrc":"20715:46:7","nodeType":"YulAssignment","src":"20715:46:7","value":{"arguments":[{"name":"s","nativeSrc":"20727:1:7","nodeType":"YulIdentifier","src":"20727:1:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20740:6:7","nodeType":"YulIdentifier","src":"20740:6:7"},{"name":"pEval_a","nativeSrc":"20748:7:7","nodeType":"YulIdentifier","src":"20748:7:7"}],"functionName":{"name":"add","nativeSrc":"20736:3:7","nodeType":"YulIdentifier","src":"20736:3:7"},"nativeSrc":"20736:20:7","nodeType":"YulFunctionCall","src":"20736:20:7"}],"functionName":{"name":"mload","nativeSrc":"20730:5:7","nodeType":"YulIdentifier","src":"20730:5:7"},"nativeSrc":"20730:27:7","nodeType":"YulFunctionCall","src":"20730:27:7"},{"name":"q","nativeSrc":"20759:1:7","nodeType":"YulIdentifier","src":"20759:1:7"}],"functionName":{"name":"addmod","nativeSrc":"20720:6:7","nodeType":"YulIdentifier","src":"20720:6:7"},"nativeSrc":"20720:41:7","nodeType":"YulFunctionCall","src":"20720:41:7"},"variableNames":[{"name":"s","nativeSrc":"20715:1:7","nodeType":"YulIdentifier","src":"20715:1:7"}]},{"nativeSrc":"20778:43:7","nodeType":"YulAssignment","src":"20778:43:7","value":{"arguments":[{"name":"s","nativeSrc":"20790:1:7","nodeType":"YulIdentifier","src":"20790:1:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20803:4:7","nodeType":"YulIdentifier","src":"20803:4:7"},{"name":"pGamma","nativeSrc":"20809:6:7","nodeType":"YulIdentifier","src":"20809:6:7"}],"functionName":{"name":"add","nativeSrc":"20799:3:7","nodeType":"YulIdentifier","src":"20799:3:7"},"nativeSrc":"20799:17:7","nodeType":"YulFunctionCall","src":"20799:17:7"}],"functionName":{"name":"mload","nativeSrc":"20793:5:7","nodeType":"YulIdentifier","src":"20793:5:7"},"nativeSrc":"20793:24:7","nodeType":"YulFunctionCall","src":"20793:24:7"},{"name":"q","nativeSrc":"20819:1:7","nodeType":"YulIdentifier","src":"20819:1:7"}],"functionName":{"name":"addmod","nativeSrc":"20783:6:7","nodeType":"YulIdentifier","src":"20783:6:7"},"nativeSrc":"20783:38:7","nodeType":"YulFunctionCall","src":"20783:38:7"},"variableNames":[{"name":"s","nativeSrc":"20778:1:7","nodeType":"YulIdentifier","src":"20778:1:7"}]},{"nativeSrc":"20838:70:7","nodeType":"YulAssignment","src":"20838:70:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20861:4:7","nodeType":"YulIdentifier","src":"20861:4:7"},{"name":"pBeta","nativeSrc":"20867:5:7","nodeType":"YulIdentifier","src":"20867:5:7"}],"functionName":{"name":"add","nativeSrc":"20857:3:7","nodeType":"YulIdentifier","src":"20857:3:7"},"nativeSrc":"20857:16:7","nodeType":"YulFunctionCall","src":"20857:16:7"}],"functionName":{"name":"mload","nativeSrc":"20851:5:7","nodeType":"YulIdentifier","src":"20851:5:7"},"nativeSrc":"20851:23:7","nodeType":"YulFunctionCall","src":"20851:23:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20886:6:7","nodeType":"YulIdentifier","src":"20886:6:7"},{"name":"pEval_s2","nativeSrc":"20894:8:7","nodeType":"YulIdentifier","src":"20894:8:7"}],"functionName":{"name":"add","nativeSrc":"20882:3:7","nodeType":"YulIdentifier","src":"20882:3:7"},"nativeSrc":"20882:21:7","nodeType":"YulFunctionCall","src":"20882:21:7"}],"functionName":{"name":"mload","nativeSrc":"20876:5:7","nodeType":"YulIdentifier","src":"20876:5:7"},"nativeSrc":"20876:28:7","nodeType":"YulFunctionCall","src":"20876:28:7"},{"name":"q","nativeSrc":"20906:1:7","nodeType":"YulIdentifier","src":"20906:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"20844:6:7","nodeType":"YulIdentifier","src":"20844:6:7"},"nativeSrc":"20844:64:7","nodeType":"YulFunctionCall","src":"20844:64:7"},"variableNames":[{"name":"s1","nativeSrc":"20838:2:7","nodeType":"YulIdentifier","src":"20838:2:7"}]},{"nativeSrc":"20925:48:7","nodeType":"YulAssignment","src":"20925:48:7","value":{"arguments":[{"name":"s1","nativeSrc":"20938:2:7","nodeType":"YulIdentifier","src":"20938:2:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20952:6:7","nodeType":"YulIdentifier","src":"20952:6:7"},{"name":"pEval_b","nativeSrc":"20960:7:7","nodeType":"YulIdentifier","src":"20960:7:7"}],"functionName":{"name":"add","nativeSrc":"20948:3:7","nodeType":"YulIdentifier","src":"20948:3:7"},"nativeSrc":"20948:20:7","nodeType":"YulFunctionCall","src":"20948:20:7"}],"functionName":{"name":"mload","nativeSrc":"20942:5:7","nodeType":"YulIdentifier","src":"20942:5:7"},"nativeSrc":"20942:27:7","nodeType":"YulFunctionCall","src":"20942:27:7"},{"name":"q","nativeSrc":"20971:1:7","nodeType":"YulIdentifier","src":"20971:1:7"}],"functionName":{"name":"addmod","nativeSrc":"20931:6:7","nodeType":"YulIdentifier","src":"20931:6:7"},"nativeSrc":"20931:42:7","nodeType":"YulFunctionCall","src":"20931:42:7"},"variableNames":[{"name":"s1","nativeSrc":"20925:2:7","nodeType":"YulIdentifier","src":"20925:2:7"}]},{"nativeSrc":"20990:45:7","nodeType":"YulAssignment","src":"20990:45:7","value":{"arguments":[{"name":"s1","nativeSrc":"21003:2:7","nodeType":"YulIdentifier","src":"21003:2:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21017:4:7","nodeType":"YulIdentifier","src":"21017:4:7"},{"name":"pGamma","nativeSrc":"21023:6:7","nodeType":"YulIdentifier","src":"21023:6:7"}],"functionName":{"name":"add","nativeSrc":"21013:3:7","nodeType":"YulIdentifier","src":"21013:3:7"},"nativeSrc":"21013:17:7","nodeType":"YulFunctionCall","src":"21013:17:7"}],"functionName":{"name":"mload","nativeSrc":"21007:5:7","nodeType":"YulIdentifier","src":"21007:5:7"},"nativeSrc":"21007:24:7","nodeType":"YulFunctionCall","src":"21007:24:7"},{"name":"q","nativeSrc":"21033:1:7","nodeType":"YulIdentifier","src":"21033:1:7"}],"functionName":{"name":"addmod","nativeSrc":"20996:6:7","nodeType":"YulIdentifier","src":"20996:6:7"},"nativeSrc":"20996:39:7","nodeType":"YulFunctionCall","src":"20996:39:7"},"variableNames":[{"name":"s1","nativeSrc":"20990:2:7","nodeType":"YulIdentifier","src":"20990:2:7"}]},{"nativeSrc":"21052:21:7","nodeType":"YulAssignment","src":"21052:21:7","value":{"arguments":[{"name":"s","nativeSrc":"21064:1:7","nodeType":"YulIdentifier","src":"21064:1:7"},{"name":"s1","nativeSrc":"21067:2:7","nodeType":"YulIdentifier","src":"21067:2:7"},{"name":"q","nativeSrc":"21071:1:7","nodeType":"YulIdentifier","src":"21071:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"21057:6:7","nodeType":"YulIdentifier","src":"21057:6:7"},"nativeSrc":"21057:16:7","nodeType":"YulFunctionCall","src":"21057:16:7"},"variableNames":[{"name":"s","nativeSrc":"21052:1:7","nodeType":"YulIdentifier","src":"21052:1:7"}]},{"nativeSrc":"21090:43:7","nodeType":"YulAssignment","src":"21090:43:7","value":{"arguments":[{"name":"s","nativeSrc":"21102:1:7","nodeType":"YulIdentifier","src":"21102:1:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21115:4:7","nodeType":"YulIdentifier","src":"21115:4:7"},{"name":"pAlpha","nativeSrc":"21121:6:7","nodeType":"YulIdentifier","src":"21121:6:7"}],"functionName":{"name":"add","nativeSrc":"21111:3:7","nodeType":"YulIdentifier","src":"21111:3:7"},"nativeSrc":"21111:17:7","nodeType":"YulFunctionCall","src":"21111:17:7"}],"functionName":{"name":"mload","nativeSrc":"21105:5:7","nodeType":"YulIdentifier","src":"21105:5:7"},"nativeSrc":"21105:24:7","nodeType":"YulFunctionCall","src":"21105:24:7"},{"name":"q","nativeSrc":"21131:1:7","nodeType":"YulIdentifier","src":"21131:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"21095:6:7","nodeType":"YulIdentifier","src":"21095:6:7"},"nativeSrc":"21095:38:7","nodeType":"YulFunctionCall","src":"21095:38:7"},"variableNames":[{"name":"s","nativeSrc":"21090:1:7","nodeType":"YulIdentifier","src":"21090:1:7"}]},{"nativeSrc":"21150:40:7","nodeType":"YulAssignment","src":"21150:40:7","value":{"arguments":[{"name":"s","nativeSrc":"21162:1:7","nodeType":"YulIdentifier","src":"21162:1:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21175:4:7","nodeType":"YulIdentifier","src":"21175:4:7"},{"name":"pV1","nativeSrc":"21181:3:7","nodeType":"YulIdentifier","src":"21181:3:7"}],"functionName":{"name":"add","nativeSrc":"21171:3:7","nodeType":"YulIdentifier","src":"21171:3:7"},"nativeSrc":"21171:14:7","nodeType":"YulFunctionCall","src":"21171:14:7"}],"functionName":{"name":"mload","nativeSrc":"21165:5:7","nodeType":"YulIdentifier","src":"21165:5:7"},"nativeSrc":"21165:21:7","nodeType":"YulFunctionCall","src":"21165:21:7"},{"name":"q","nativeSrc":"21188:1:7","nodeType":"YulIdentifier","src":"21188:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"21155:6:7","nodeType":"YulIdentifier","src":"21155:6:7"},"nativeSrc":"21155:35:7","nodeType":"YulFunctionCall","src":"21155:35:7"},"variableNames":[{"name":"s","nativeSrc":"21150:1:7","nodeType":"YulIdentifier","src":"21150:1:7"}]},{"nativeSrc":"21207:42:7","nodeType":"YulAssignment","src":"21207:42:7","value":{"arguments":[{"name":"s","nativeSrc":"21219:1:7","nodeType":"YulIdentifier","src":"21219:1:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21232:4:7","nodeType":"YulIdentifier","src":"21232:4:7"},{"name":"pBeta","nativeSrc":"21238:5:7","nodeType":"YulIdentifier","src":"21238:5:7"}],"functionName":{"name":"add","nativeSrc":"21228:3:7","nodeType":"YulIdentifier","src":"21228:3:7"},"nativeSrc":"21228:16:7","nodeType":"YulFunctionCall","src":"21228:16:7"}],"functionName":{"name":"mload","nativeSrc":"21222:5:7","nodeType":"YulIdentifier","src":"21222:5:7"},"nativeSrc":"21222:23:7","nodeType":"YulFunctionCall","src":"21222:23:7"},{"name":"q","nativeSrc":"21247:1:7","nodeType":"YulIdentifier","src":"21247:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"21212:6:7","nodeType":"YulIdentifier","src":"21212:6:7"},"nativeSrc":"21212:37:7","nodeType":"YulFunctionCall","src":"21212:37:7"},"variableNames":[{"name":"s","nativeSrc":"21207:1:7","nodeType":"YulIdentifier","src":"21207:1:7"}]},{"nativeSrc":"21266:47:7","nodeType":"YulAssignment","src":"21266:47:7","value":{"arguments":[{"name":"s","nativeSrc":"21278:1:7","nodeType":"YulIdentifier","src":"21278:1:7"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"21291:6:7","nodeType":"YulIdentifier","src":"21291:6:7"},{"name":"pEval_zw","nativeSrc":"21299:8:7","nodeType":"YulIdentifier","src":"21299:8:7"}],"functionName":{"name":"add","nativeSrc":"21287:3:7","nodeType":"YulIdentifier","src":"21287:3:7"},"nativeSrc":"21287:21:7","nodeType":"YulFunctionCall","src":"21287:21:7"}],"functionName":{"name":"mload","nativeSrc":"21281:5:7","nodeType":"YulIdentifier","src":"21281:5:7"},"nativeSrc":"21281:28:7","nodeType":"YulFunctionCall","src":"21281:28:7"},{"name":"q","nativeSrc":"21311:1:7","nodeType":"YulIdentifier","src":"21311:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"21271:6:7","nodeType":"YulIdentifier","src":"21271:6:7"},"nativeSrc":"21271:42:7","nodeType":"YulFunctionCall","src":"21271:42:7"},"variableNames":[{"name":"s","nativeSrc":"21266:1:7","nodeType":"YulIdentifier","src":"21266:1:7"}]},{"nativeSrc":"21330:22:7","nodeType":"YulAssignment","src":"21330:22:7","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"21343:1:7","nodeType":"YulIdentifier","src":"21343:1:7"},{"name":"s","nativeSrc":"21346:1:7","nodeType":"YulIdentifier","src":"21346:1:7"}],"functionName":{"name":"sub","nativeSrc":"21339:3:7","nodeType":"YulIdentifier","src":"21339:3:7"},"nativeSrc":"21339:9:7","nodeType":"YulFunctionCall","src":"21339:9:7"},{"name":"q","nativeSrc":"21350:1:7","nodeType":"YulIdentifier","src":"21350:1:7"}],"functionName":{"name":"mod","nativeSrc":"21335:3:7","nodeType":"YulIdentifier","src":"21335:3:7"},"nativeSrc":"21335:17:7","nodeType":"YulFunctionCall","src":"21335:17:7"},"variableNames":[{"name":"s","nativeSrc":"21330:1:7","nodeType":"YulIdentifier","src":"21330:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21380:1:7","nodeType":"YulIdentifier","src":"21380:1:7"},{"name":"S3x","nativeSrc":"21383:3:7","nodeType":"YulIdentifier","src":"21383:3:7"},{"name":"S3y","nativeSrc":"21388:3:7","nodeType":"YulIdentifier","src":"21388:3:7"},{"name":"s","nativeSrc":"21393:1:7","nodeType":"YulIdentifier","src":"21393:1:7"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21369:10:7","nodeType":"YulIdentifier","src":"21369:10:7"},"nativeSrc":"21369:26:7","nodeType":"YulFunctionCall","src":"21369:26:7"},"nativeSrc":"21369:26:7","nodeType":"YulExpressionStatement","src":"21369:26:7"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21452:1:7","nodeType":"YulIdentifier","src":"21452:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"21460:6:7","nodeType":"YulIdentifier","src":"21460:6:7"},{"name":"pT1","nativeSrc":"21468:3:7","nodeType":"YulIdentifier","src":"21468:3:7"}],"functionName":{"name":"add","nativeSrc":"21456:3:7","nodeType":"YulIdentifier","src":"21456:3:7"},"nativeSrc":"21456:16:7","nodeType":"YulFunctionCall","src":"21456:16:7"}],"functionName":{"name":"g1_acc","nativeSrc":"21445:6:7","nodeType":"YulIdentifier","src":"21445:6:7"},"nativeSrc":"21445:28:7","nodeType":"YulFunctionCall","src":"21445:28:7"},"nativeSrc":"21445:28:7","nodeType":"YulExpressionStatement","src":"21445:28:7"},{"nativeSrc":"21491:27:7","nodeType":"YulAssignment","src":"21491:27:7","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21506:4:7","nodeType":"YulIdentifier","src":"21506:4:7"},{"name":"pXin","nativeSrc":"21512:4:7","nodeType":"YulIdentifier","src":"21512:4:7"}],"functionName":{"name":"add","nativeSrc":"21502:3:7","nodeType":"YulIdentifier","src":"21502:3:7"},"nativeSrc":"21502:15:7","nodeType":"YulFunctionCall","src":"21502:15:7"}],"functionName":{"name":"mload","nativeSrc":"21496:5:7","nodeType":"YulIdentifier","src":"21496:5:7"},"nativeSrc":"21496:22:7","nodeType":"YulFunctionCall","src":"21496:22:7"},"variableNames":[{"name":"s","nativeSrc":"21491:1:7","nodeType":"YulIdentifier","src":"21491:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21545:1:7","nodeType":"YulIdentifier","src":"21545:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"21552:6:7","nodeType":"YulIdentifier","src":"21552:6:7"},{"name":"pT2","nativeSrc":"21560:3:7","nodeType":"YulIdentifier","src":"21560:3:7"}],"functionName":{"name":"add","nativeSrc":"21548:3:7","nodeType":"YulIdentifier","src":"21548:3:7"},"nativeSrc":"21548:16:7","nodeType":"YulFunctionCall","src":"21548:16:7"},{"name":"s","nativeSrc":"21566:1:7","nodeType":"YulIdentifier","src":"21566:1:7"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21535:9:7","nodeType":"YulIdentifier","src":"21535:9:7"},"nativeSrc":"21535:33:7","nodeType":"YulFunctionCall","src":"21535:33:7"},"nativeSrc":"21535:33:7","nodeType":"YulExpressionStatement","src":"21535:33:7"},{"nativeSrc":"21602:20:7","nodeType":"YulAssignment","src":"21602:20:7","value":{"arguments":[{"name":"s","nativeSrc":"21614:1:7","nodeType":"YulIdentifier","src":"21614:1:7"},{"name":"s","nativeSrc":"21617:1:7","nodeType":"YulIdentifier","src":"21617:1:7"},{"name":"q","nativeSrc":"21620:1:7","nodeType":"YulIdentifier","src":"21620:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"21607:6:7","nodeType":"YulIdentifier","src":"21607:6:7"},"nativeSrc":"21607:15:7","nodeType":"YulFunctionCall","src":"21607:15:7"},"variableNames":[{"name":"s","nativeSrc":"21602:1:7","nodeType":"YulIdentifier","src":"21602:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21649:1:7","nodeType":"YulIdentifier","src":"21649:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"21656:6:7","nodeType":"YulIdentifier","src":"21656:6:7"},{"name":"pT3","nativeSrc":"21664:3:7","nodeType":"YulIdentifier","src":"21664:3:7"}],"functionName":{"name":"add","nativeSrc":"21652:3:7","nodeType":"YulIdentifier","src":"21652:3:7"},"nativeSrc":"21652:16:7","nodeType":"YulFunctionCall","src":"21652:16:7"},{"name":"s","nativeSrc":"21670:1:7","nodeType":"YulIdentifier","src":"21670:1:7"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21639:9:7","nodeType":"YulIdentifier","src":"21639:9:7"},"nativeSrc":"21639:33:7","nodeType":"YulFunctionCall","src":"21639:33:7"},"nativeSrc":"21639:33:7","nodeType":"YulExpressionStatement","src":"21639:33:7"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21716:1:7","nodeType":"YulIdentifier","src":"21716:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"21723:6:7","nodeType":"YulIdentifier","src":"21723:6:7"},{"name":"pA","nativeSrc":"21731:2:7","nodeType":"YulIdentifier","src":"21731:2:7"}],"functionName":{"name":"add","nativeSrc":"21719:3:7","nodeType":"YulIdentifier","src":"21719:3:7"},"nativeSrc":"21719:15:7","nodeType":"YulFunctionCall","src":"21719:15:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21746:4:7","nodeType":"YulIdentifier","src":"21746:4:7"},{"name":"pV2","nativeSrc":"21752:3:7","nodeType":"YulIdentifier","src":"21752:3:7"}],"functionName":{"name":"add","nativeSrc":"21742:3:7","nodeType":"YulIdentifier","src":"21742:3:7"},"nativeSrc":"21742:14:7","nodeType":"YulFunctionCall","src":"21742:14:7"}],"functionName":{"name":"mload","nativeSrc":"21736:5:7","nodeType":"YulIdentifier","src":"21736:5:7"},"nativeSrc":"21736:21:7","nodeType":"YulFunctionCall","src":"21736:21:7"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21706:9:7","nodeType":"YulIdentifier","src":"21706:9:7"},"nativeSrc":"21706:52:7","nodeType":"YulFunctionCall","src":"21706:52:7"},"nativeSrc":"21706:52:7","nodeType":"YulExpressionStatement","src":"21706:52:7"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21785:1:7","nodeType":"YulIdentifier","src":"21785:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"21792:6:7","nodeType":"YulIdentifier","src":"21792:6:7"},{"name":"pB","nativeSrc":"21800:2:7","nodeType":"YulIdentifier","src":"21800:2:7"}],"functionName":{"name":"add","nativeSrc":"21788:3:7","nodeType":"YulIdentifier","src":"21788:3:7"},"nativeSrc":"21788:15:7","nodeType":"YulFunctionCall","src":"21788:15:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21815:4:7","nodeType":"YulIdentifier","src":"21815:4:7"},{"name":"pV3","nativeSrc":"21821:3:7","nodeType":"YulIdentifier","src":"21821:3:7"}],"functionName":{"name":"add","nativeSrc":"21811:3:7","nodeType":"YulIdentifier","src":"21811:3:7"},"nativeSrc":"21811:14:7","nodeType":"YulFunctionCall","src":"21811:14:7"}],"functionName":{"name":"mload","nativeSrc":"21805:5:7","nodeType":"YulIdentifier","src":"21805:5:7"},"nativeSrc":"21805:21:7","nodeType":"YulFunctionCall","src":"21805:21:7"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21775:9:7","nodeType":"YulIdentifier","src":"21775:9:7"},"nativeSrc":"21775:52:7","nodeType":"YulFunctionCall","src":"21775:52:7"},"nativeSrc":"21775:52:7","nodeType":"YulExpressionStatement","src":"21775:52:7"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21854:1:7","nodeType":"YulIdentifier","src":"21854:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"21861:6:7","nodeType":"YulIdentifier","src":"21861:6:7"},{"name":"pC","nativeSrc":"21869:2:7","nodeType":"YulIdentifier","src":"21869:2:7"}],"functionName":{"name":"add","nativeSrc":"21857:3:7","nodeType":"YulIdentifier","src":"21857:3:7"},"nativeSrc":"21857:15:7","nodeType":"YulFunctionCall","src":"21857:15:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21884:4:7","nodeType":"YulIdentifier","src":"21884:4:7"},{"name":"pV4","nativeSrc":"21890:3:7","nodeType":"YulIdentifier","src":"21890:3:7"}],"functionName":{"name":"add","nativeSrc":"21880:3:7","nodeType":"YulIdentifier","src":"21880:3:7"},"nativeSrc":"21880:14:7","nodeType":"YulFunctionCall","src":"21880:14:7"}],"functionName":{"name":"mload","nativeSrc":"21874:5:7","nodeType":"YulIdentifier","src":"21874:5:7"},"nativeSrc":"21874:21:7","nodeType":"YulFunctionCall","src":"21874:21:7"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21844:9:7","nodeType":"YulIdentifier","src":"21844:9:7"},"nativeSrc":"21844:52:7","nodeType":"YulFunctionCall","src":"21844:52:7"},"nativeSrc":"21844:52:7","nodeType":"YulExpressionStatement","src":"21844:52:7"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21924:1:7","nodeType":"YulIdentifier","src":"21924:1:7"},{"name":"S1x","nativeSrc":"21927:3:7","nodeType":"YulIdentifier","src":"21927:3:7"},{"name":"S1y","nativeSrc":"21932:3:7","nodeType":"YulIdentifier","src":"21932:3:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21947:4:7","nodeType":"YulIdentifier","src":"21947:4:7"},{"name":"pV5","nativeSrc":"21953:3:7","nodeType":"YulIdentifier","src":"21953:3:7"}],"functionName":{"name":"add","nativeSrc":"21943:3:7","nodeType":"YulIdentifier","src":"21943:3:7"},"nativeSrc":"21943:14:7","nodeType":"YulFunctionCall","src":"21943:14:7"}],"functionName":{"name":"mload","nativeSrc":"21937:5:7","nodeType":"YulIdentifier","src":"21937:5:7"},"nativeSrc":"21937:21:7","nodeType":"YulFunctionCall","src":"21937:21:7"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21913:10:7","nodeType":"YulIdentifier","src":"21913:10:7"},"nativeSrc":"21913:46:7","nodeType":"YulFunctionCall","src":"21913:46:7"},"nativeSrc":"21913:46:7","nodeType":"YulExpressionStatement","src":"21913:46:7"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21987:1:7","nodeType":"YulIdentifier","src":"21987:1:7"},{"name":"S2x","nativeSrc":"21990:3:7","nodeType":"YulIdentifier","src":"21990:3:7"},{"name":"S2y","nativeSrc":"21995:3:7","nodeType":"YulIdentifier","src":"21995:3:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22010:4:7","nodeType":"YulIdentifier","src":"22010:4:7"},{"name":"pV6","nativeSrc":"22016:3:7","nodeType":"YulIdentifier","src":"22016:3:7"}],"functionName":{"name":"add","nativeSrc":"22006:3:7","nodeType":"YulIdentifier","src":"22006:3:7"},"nativeSrc":"22006:14:7","nodeType":"YulFunctionCall","src":"22006:14:7"}],"functionName":{"name":"mload","nativeSrc":"22000:5:7","nodeType":"YulIdentifier","src":"22000:5:7"},"nativeSrc":"22000:21:7","nodeType":"YulFunctionCall","src":"22000:21:7"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21976:10:7","nodeType":"YulIdentifier","src":"21976:10:7"},"nativeSrc":"21976:46:7","nodeType":"YulFunctionCall","src":"21976:46:7"},"nativeSrc":"21976:46:7","nodeType":"YulExpressionStatement","src":"21976:46:7"},{"nativeSrc":"22087:30:7","nodeType":"YulAssignment","src":"22087:30:7","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22102:4:7","nodeType":"YulIdentifier","src":"22102:4:7"},{"name":"pEval_t","nativeSrc":"22108:7:7","nodeType":"YulIdentifier","src":"22108:7:7"}],"functionName":{"name":"add","nativeSrc":"22098:3:7","nodeType":"YulIdentifier","src":"22098:3:7"},"nativeSrc":"22098:18:7","nodeType":"YulFunctionCall","src":"22098:18:7"}],"functionName":{"name":"mload","nativeSrc":"22092:5:7","nodeType":"YulIdentifier","src":"22092:5:7"},"nativeSrc":"22092:25:7","nodeType":"YulFunctionCall","src":"22092:25:7"},"variableNames":[{"name":"s","nativeSrc":"22087:1:7","nodeType":"YulIdentifier","src":"22087:1:7"}]},{"nativeSrc":"22134:80:7","nodeType":"YulAssignment","src":"22134:80:7","value":{"arguments":[{"name":"s","nativeSrc":"22146:1:7","nodeType":"YulIdentifier","src":"22146:1:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22166:6:7","nodeType":"YulIdentifier","src":"22166:6:7"},{"name":"pEval_r","nativeSrc":"22174:7:7","nodeType":"YulIdentifier","src":"22174:7:7"}],"functionName":{"name":"add","nativeSrc":"22162:3:7","nodeType":"YulIdentifier","src":"22162:3:7"},"nativeSrc":"22162:20:7","nodeType":"YulFunctionCall","src":"22162:20:7"}],"functionName":{"name":"mload","nativeSrc":"22156:5:7","nodeType":"YulIdentifier","src":"22156:5:7"},"nativeSrc":"22156:27:7","nodeType":"YulFunctionCall","src":"22156:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22195:4:7","nodeType":"YulIdentifier","src":"22195:4:7"},{"name":"pV1","nativeSrc":"22201:3:7","nodeType":"YulIdentifier","src":"22201:3:7"}],"functionName":{"name":"add","nativeSrc":"22191:3:7","nodeType":"YulIdentifier","src":"22191:3:7"},"nativeSrc":"22191:14:7","nodeType":"YulFunctionCall","src":"22191:14:7"}],"functionName":{"name":"mload","nativeSrc":"22185:5:7","nodeType":"YulIdentifier","src":"22185:5:7"},"nativeSrc":"22185:21:7","nodeType":"YulFunctionCall","src":"22185:21:7"},{"name":"q","nativeSrc":"22208:1:7","nodeType":"YulIdentifier","src":"22208:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"22149:6:7","nodeType":"YulIdentifier","src":"22149:6:7"},"nativeSrc":"22149:61:7","nodeType":"YulFunctionCall","src":"22149:61:7"},{"name":"q","nativeSrc":"22212:1:7","nodeType":"YulIdentifier","src":"22212:1:7"}],"functionName":{"name":"addmod","nativeSrc":"22139:6:7","nodeType":"YulIdentifier","src":"22139:6:7"},"nativeSrc":"22139:75:7","nodeType":"YulFunctionCall","src":"22139:75:7"},"variableNames":[{"name":"s","nativeSrc":"22134:1:7","nodeType":"YulIdentifier","src":"22134:1:7"}]},{"nativeSrc":"22231:80:7","nodeType":"YulAssignment","src":"22231:80:7","value":{"arguments":[{"name":"s","nativeSrc":"22243:1:7","nodeType":"YulIdentifier","src":"22243:1:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22263:6:7","nodeType":"YulIdentifier","src":"22263:6:7"},{"name":"pEval_a","nativeSrc":"22271:7:7","nodeType":"YulIdentifier","src":"22271:7:7"}],"functionName":{"name":"add","nativeSrc":"22259:3:7","nodeType":"YulIdentifier","src":"22259:3:7"},"nativeSrc":"22259:20:7","nodeType":"YulFunctionCall","src":"22259:20:7"}],"functionName":{"name":"mload","nativeSrc":"22253:5:7","nodeType":"YulIdentifier","src":"22253:5:7"},"nativeSrc":"22253:27:7","nodeType":"YulFunctionCall","src":"22253:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22292:4:7","nodeType":"YulIdentifier","src":"22292:4:7"},{"name":"pV2","nativeSrc":"22298:3:7","nodeType":"YulIdentifier","src":"22298:3:7"}],"functionName":{"name":"add","nativeSrc":"22288:3:7","nodeType":"YulIdentifier","src":"22288:3:7"},"nativeSrc":"22288:14:7","nodeType":"YulFunctionCall","src":"22288:14:7"}],"functionName":{"name":"mload","nativeSrc":"22282:5:7","nodeType":"YulIdentifier","src":"22282:5:7"},"nativeSrc":"22282:21:7","nodeType":"YulFunctionCall","src":"22282:21:7"},{"name":"q","nativeSrc":"22305:1:7","nodeType":"YulIdentifier","src":"22305:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"22246:6:7","nodeType":"YulIdentifier","src":"22246:6:7"},"nativeSrc":"22246:61:7","nodeType":"YulFunctionCall","src":"22246:61:7"},{"name":"q","nativeSrc":"22309:1:7","nodeType":"YulIdentifier","src":"22309:1:7"}],"functionName":{"name":"addmod","nativeSrc":"22236:6:7","nodeType":"YulIdentifier","src":"22236:6:7"},"nativeSrc":"22236:75:7","nodeType":"YulFunctionCall","src":"22236:75:7"},"variableNames":[{"name":"s","nativeSrc":"22231:1:7","nodeType":"YulIdentifier","src":"22231:1:7"}]},{"nativeSrc":"22328:80:7","nodeType":"YulAssignment","src":"22328:80:7","value":{"arguments":[{"name":"s","nativeSrc":"22340:1:7","nodeType":"YulIdentifier","src":"22340:1:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22360:6:7","nodeType":"YulIdentifier","src":"22360:6:7"},{"name":"pEval_b","nativeSrc":"22368:7:7","nodeType":"YulIdentifier","src":"22368:7:7"}],"functionName":{"name":"add","nativeSrc":"22356:3:7","nodeType":"YulIdentifier","src":"22356:3:7"},"nativeSrc":"22356:20:7","nodeType":"YulFunctionCall","src":"22356:20:7"}],"functionName":{"name":"mload","nativeSrc":"22350:5:7","nodeType":"YulIdentifier","src":"22350:5:7"},"nativeSrc":"22350:27:7","nodeType":"YulFunctionCall","src":"22350:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22389:4:7","nodeType":"YulIdentifier","src":"22389:4:7"},{"name":"pV3","nativeSrc":"22395:3:7","nodeType":"YulIdentifier","src":"22395:3:7"}],"functionName":{"name":"add","nativeSrc":"22385:3:7","nodeType":"YulIdentifier","src":"22385:3:7"},"nativeSrc":"22385:14:7","nodeType":"YulFunctionCall","src":"22385:14:7"}],"functionName":{"name":"mload","nativeSrc":"22379:5:7","nodeType":"YulIdentifier","src":"22379:5:7"},"nativeSrc":"22379:21:7","nodeType":"YulFunctionCall","src":"22379:21:7"},{"name":"q","nativeSrc":"22402:1:7","nodeType":"YulIdentifier","src":"22402:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"22343:6:7","nodeType":"YulIdentifier","src":"22343:6:7"},"nativeSrc":"22343:61:7","nodeType":"YulFunctionCall","src":"22343:61:7"},{"name":"q","nativeSrc":"22406:1:7","nodeType":"YulIdentifier","src":"22406:1:7"}],"functionName":{"name":"addmod","nativeSrc":"22333:6:7","nodeType":"YulIdentifier","src":"22333:6:7"},"nativeSrc":"22333:75:7","nodeType":"YulFunctionCall","src":"22333:75:7"},"variableNames":[{"name":"s","nativeSrc":"22328:1:7","nodeType":"YulIdentifier","src":"22328:1:7"}]},{"nativeSrc":"22425:80:7","nodeType":"YulAssignment","src":"22425:80:7","value":{"arguments":[{"name":"s","nativeSrc":"22437:1:7","nodeType":"YulIdentifier","src":"22437:1:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22457:6:7","nodeType":"YulIdentifier","src":"22457:6:7"},{"name":"pEval_c","nativeSrc":"22465:7:7","nodeType":"YulIdentifier","src":"22465:7:7"}],"functionName":{"name":"add","nativeSrc":"22453:3:7","nodeType":"YulIdentifier","src":"22453:3:7"},"nativeSrc":"22453:20:7","nodeType":"YulFunctionCall","src":"22453:20:7"}],"functionName":{"name":"mload","nativeSrc":"22447:5:7","nodeType":"YulIdentifier","src":"22447:5:7"},"nativeSrc":"22447:27:7","nodeType":"YulFunctionCall","src":"22447:27:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22486:4:7","nodeType":"YulIdentifier","src":"22486:4:7"},{"name":"pV4","nativeSrc":"22492:3:7","nodeType":"YulIdentifier","src":"22492:3:7"}],"functionName":{"name":"add","nativeSrc":"22482:3:7","nodeType":"YulIdentifier","src":"22482:3:7"},"nativeSrc":"22482:14:7","nodeType":"YulFunctionCall","src":"22482:14:7"}],"functionName":{"name":"mload","nativeSrc":"22476:5:7","nodeType":"YulIdentifier","src":"22476:5:7"},"nativeSrc":"22476:21:7","nodeType":"YulFunctionCall","src":"22476:21:7"},{"name":"q","nativeSrc":"22499:1:7","nodeType":"YulIdentifier","src":"22499:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"22440:6:7","nodeType":"YulIdentifier","src":"22440:6:7"},"nativeSrc":"22440:61:7","nodeType":"YulFunctionCall","src":"22440:61:7"},{"name":"q","nativeSrc":"22503:1:7","nodeType":"YulIdentifier","src":"22503:1:7"}],"functionName":{"name":"addmod","nativeSrc":"22430:6:7","nodeType":"YulIdentifier","src":"22430:6:7"},"nativeSrc":"22430:75:7","nodeType":"YulFunctionCall","src":"22430:75:7"},"variableNames":[{"name":"s","nativeSrc":"22425:1:7","nodeType":"YulIdentifier","src":"22425:1:7"}]},{"nativeSrc":"22522:81:7","nodeType":"YulAssignment","src":"22522:81:7","value":{"arguments":[{"name":"s","nativeSrc":"22534:1:7","nodeType":"YulIdentifier","src":"22534:1:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22554:6:7","nodeType":"YulIdentifier","src":"22554:6:7"},{"name":"pEval_s1","nativeSrc":"22562:8:7","nodeType":"YulIdentifier","src":"22562:8:7"}],"functionName":{"name":"add","nativeSrc":"22550:3:7","nodeType":"YulIdentifier","src":"22550:3:7"},"nativeSrc":"22550:21:7","nodeType":"YulFunctionCall","src":"22550:21:7"}],"functionName":{"name":"mload","nativeSrc":"22544:5:7","nodeType":"YulIdentifier","src":"22544:5:7"},"nativeSrc":"22544:28:7","nodeType":"YulFunctionCall","src":"22544:28:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22584:4:7","nodeType":"YulIdentifier","src":"22584:4:7"},{"name":"pV5","nativeSrc":"22590:3:7","nodeType":"YulIdentifier","src":"22590:3:7"}],"functionName":{"name":"add","nativeSrc":"22580:3:7","nodeType":"YulIdentifier","src":"22580:3:7"},"nativeSrc":"22580:14:7","nodeType":"YulFunctionCall","src":"22580:14:7"}],"functionName":{"name":"mload","nativeSrc":"22574:5:7","nodeType":"YulIdentifier","src":"22574:5:7"},"nativeSrc":"22574:21:7","nodeType":"YulFunctionCall","src":"22574:21:7"},{"name":"q","nativeSrc":"22597:1:7","nodeType":"YulIdentifier","src":"22597:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"22537:6:7","nodeType":"YulIdentifier","src":"22537:6:7"},"nativeSrc":"22537:62:7","nodeType":"YulFunctionCall","src":"22537:62:7"},{"name":"q","nativeSrc":"22601:1:7","nodeType":"YulIdentifier","src":"22601:1:7"}],"functionName":{"name":"addmod","nativeSrc":"22527:6:7","nodeType":"YulIdentifier","src":"22527:6:7"},"nativeSrc":"22527:76:7","nodeType":"YulFunctionCall","src":"22527:76:7"},"variableNames":[{"name":"s","nativeSrc":"22522:1:7","nodeType":"YulIdentifier","src":"22522:1:7"}]},{"nativeSrc":"22620:81:7","nodeType":"YulAssignment","src":"22620:81:7","value":{"arguments":[{"name":"s","nativeSrc":"22632:1:7","nodeType":"YulIdentifier","src":"22632:1:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22652:6:7","nodeType":"YulIdentifier","src":"22652:6:7"},{"name":"pEval_s2","nativeSrc":"22660:8:7","nodeType":"YulIdentifier","src":"22660:8:7"}],"functionName":{"name":"add","nativeSrc":"22648:3:7","nodeType":"YulIdentifier","src":"22648:3:7"},"nativeSrc":"22648:21:7","nodeType":"YulFunctionCall","src":"22648:21:7"}],"functionName":{"name":"mload","nativeSrc":"22642:5:7","nodeType":"YulIdentifier","src":"22642:5:7"},"nativeSrc":"22642:28:7","nodeType":"YulFunctionCall","src":"22642:28:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22682:4:7","nodeType":"YulIdentifier","src":"22682:4:7"},{"name":"pV6","nativeSrc":"22688:3:7","nodeType":"YulIdentifier","src":"22688:3:7"}],"functionName":{"name":"add","nativeSrc":"22678:3:7","nodeType":"YulIdentifier","src":"22678:3:7"},"nativeSrc":"22678:14:7","nodeType":"YulFunctionCall","src":"22678:14:7"}],"functionName":{"name":"mload","nativeSrc":"22672:5:7","nodeType":"YulIdentifier","src":"22672:5:7"},"nativeSrc":"22672:21:7","nodeType":"YulFunctionCall","src":"22672:21:7"},{"name":"q","nativeSrc":"22695:1:7","nodeType":"YulIdentifier","src":"22695:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"22635:6:7","nodeType":"YulIdentifier","src":"22635:6:7"},"nativeSrc":"22635:62:7","nodeType":"YulFunctionCall","src":"22635:62:7"},{"name":"q","nativeSrc":"22699:1:7","nodeType":"YulIdentifier","src":"22699:1:7"}],"functionName":{"name":"addmod","nativeSrc":"22625:6:7","nodeType":"YulIdentifier","src":"22625:6:7"},"nativeSrc":"22625:76:7","nodeType":"YulFunctionCall","src":"22625:76:7"},"variableNames":[{"name":"s","nativeSrc":"22620:1:7","nodeType":"YulIdentifier","src":"22620:1:7"}]},{"nativeSrc":"22718:80:7","nodeType":"YulAssignment","src":"22718:80:7","value":{"arguments":[{"name":"s","nativeSrc":"22730:1:7","nodeType":"YulIdentifier","src":"22730:1:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22750:6:7","nodeType":"YulIdentifier","src":"22750:6:7"},{"name":"pEval_zw","nativeSrc":"22758:8:7","nodeType":"YulIdentifier","src":"22758:8:7"}],"functionName":{"name":"add","nativeSrc":"22746:3:7","nodeType":"YulIdentifier","src":"22746:3:7"},"nativeSrc":"22746:21:7","nodeType":"YulFunctionCall","src":"22746:21:7"}],"functionName":{"name":"mload","nativeSrc":"22740:5:7","nodeType":"YulIdentifier","src":"22740:5:7"},"nativeSrc":"22740:28:7","nodeType":"YulFunctionCall","src":"22740:28:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22780:4:7","nodeType":"YulIdentifier","src":"22780:4:7"},{"name":"pU","nativeSrc":"22786:2:7","nodeType":"YulIdentifier","src":"22786:2:7"}],"functionName":{"name":"add","nativeSrc":"22776:3:7","nodeType":"YulIdentifier","src":"22776:3:7"},"nativeSrc":"22776:13:7","nodeType":"YulFunctionCall","src":"22776:13:7"}],"functionName":{"name":"mload","nativeSrc":"22770:5:7","nodeType":"YulIdentifier","src":"22770:5:7"},"nativeSrc":"22770:20:7","nodeType":"YulFunctionCall","src":"22770:20:7"},{"name":"q","nativeSrc":"22792:1:7","nodeType":"YulIdentifier","src":"22792:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"22733:6:7","nodeType":"YulIdentifier","src":"22733:6:7"},"nativeSrc":"22733:61:7","nodeType":"YulFunctionCall","src":"22733:61:7"},{"name":"q","nativeSrc":"22796:1:7","nodeType":"YulIdentifier","src":"22796:1:7"}],"functionName":{"name":"addmod","nativeSrc":"22723:6:7","nodeType":"YulIdentifier","src":"22723:6:7"},"nativeSrc":"22723:75:7","nodeType":"YulFunctionCall","src":"22723:75:7"},"variableNames":[{"name":"s","nativeSrc":"22718:1:7","nodeType":"YulIdentifier","src":"22718:1:7"}]},{"nativeSrc":"22815:22:7","nodeType":"YulAssignment","src":"22815:22:7","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"22828:1:7","nodeType":"YulIdentifier","src":"22828:1:7"},{"name":"s","nativeSrc":"22831:1:7","nodeType":"YulIdentifier","src":"22831:1:7"}],"functionName":{"name":"sub","nativeSrc":"22824:3:7","nodeType":"YulIdentifier","src":"22824:3:7"},"nativeSrc":"22824:9:7","nodeType":"YulFunctionCall","src":"22824:9:7"},{"name":"q","nativeSrc":"22835:1:7","nodeType":"YulIdentifier","src":"22835:1:7"}],"functionName":{"name":"mod","nativeSrc":"22820:3:7","nodeType":"YulIdentifier","src":"22820:3:7"},"nativeSrc":"22820:17:7","nodeType":"YulFunctionCall","src":"22820:17:7"},"variableNames":[{"name":"s","nativeSrc":"22815:1:7","nodeType":"YulIdentifier","src":"22815:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"22865:1:7","nodeType":"YulIdentifier","src":"22865:1:7"},{"name":"G1x","nativeSrc":"22868:3:7","nodeType":"YulIdentifier","src":"22868:3:7"},{"name":"G1y","nativeSrc":"22873:3:7","nodeType":"YulIdentifier","src":"22873:3:7"},{"name":"s","nativeSrc":"22878:1:7","nodeType":"YulIdentifier","src":"22878:1:7"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"22854:10:7","nodeType":"YulIdentifier","src":"22854:10:7"},"nativeSrc":"22854:26:7","nodeType":"YulFunctionCall","src":"22854:26:7"},"nativeSrc":"22854:26:7","nodeType":"YulExpressionStatement","src":"22854:26:7"},{"nativeSrc":"22965:26:7","nodeType":"YulAssignment","src":"22965:26:7","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22980:4:7","nodeType":"YulIdentifier","src":"22980:4:7"},{"name":"pXi","nativeSrc":"22986:3:7","nodeType":"YulIdentifier","src":"22986:3:7"}],"functionName":{"name":"add","nativeSrc":"22976:3:7","nodeType":"YulIdentifier","src":"22976:3:7"},"nativeSrc":"22976:14:7","nodeType":"YulFunctionCall","src":"22976:14:7"}],"functionName":{"name":"mload","nativeSrc":"22970:5:7","nodeType":"YulIdentifier","src":"22970:5:7"},"nativeSrc":"22970:21:7","nodeType":"YulFunctionCall","src":"22970:21:7"},"variableNames":[{"name":"s","nativeSrc":"22965:1:7","nodeType":"YulIdentifier","src":"22965:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23018:1:7","nodeType":"YulIdentifier","src":"23018:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"23025:6:7","nodeType":"YulIdentifier","src":"23025:6:7"},{"name":"pWxi","nativeSrc":"23033:4:7","nodeType":"YulIdentifier","src":"23033:4:7"}],"functionName":{"name":"add","nativeSrc":"23021:3:7","nodeType":"YulIdentifier","src":"23021:3:7"},"nativeSrc":"23021:17:7","nodeType":"YulFunctionCall","src":"23021:17:7"},{"name":"s","nativeSrc":"23040:1:7","nodeType":"YulIdentifier","src":"23040:1:7"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23008:9:7","nodeType":"YulIdentifier","src":"23008:9:7"},"nativeSrc":"23008:34:7","nodeType":"YulFunctionCall","src":"23008:34:7"},"nativeSrc":"23008:34:7","nodeType":"YulExpressionStatement","src":"23008:34:7"},{"nativeSrc":"23060:59:7","nodeType":"YulAssignment","src":"23060:59:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23082:4:7","nodeType":"YulIdentifier","src":"23082:4:7"},{"name":"pU","nativeSrc":"23088:2:7","nodeType":"YulIdentifier","src":"23088:2:7"}],"functionName":{"name":"add","nativeSrc":"23078:3:7","nodeType":"YulIdentifier","src":"23078:3:7"},"nativeSrc":"23078:13:7","nodeType":"YulFunctionCall","src":"23078:13:7"}],"functionName":{"name":"mload","nativeSrc":"23072:5:7","nodeType":"YulIdentifier","src":"23072:5:7"},"nativeSrc":"23072:20:7","nodeType":"YulFunctionCall","src":"23072:20:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23104:4:7","nodeType":"YulIdentifier","src":"23104:4:7"},{"name":"pXi","nativeSrc":"23110:3:7","nodeType":"YulIdentifier","src":"23110:3:7"}],"functionName":{"name":"add","nativeSrc":"23100:3:7","nodeType":"YulIdentifier","src":"23100:3:7"},"nativeSrc":"23100:14:7","nodeType":"YulFunctionCall","src":"23100:14:7"}],"functionName":{"name":"mload","nativeSrc":"23094:5:7","nodeType":"YulIdentifier","src":"23094:5:7"},"nativeSrc":"23094:21:7","nodeType":"YulFunctionCall","src":"23094:21:7"},{"name":"q","nativeSrc":"23117:1:7","nodeType":"YulIdentifier","src":"23117:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"23065:6:7","nodeType":"YulIdentifier","src":"23065:6:7"},"nativeSrc":"23065:54:7","nodeType":"YulFunctionCall","src":"23065:54:7"},"variableNames":[{"name":"s","nativeSrc":"23060:1:7","nodeType":"YulIdentifier","src":"23060:1:7"}]},{"nativeSrc":"23136:21:7","nodeType":"YulAssignment","src":"23136:21:7","value":{"arguments":[{"name":"s","nativeSrc":"23148:1:7","nodeType":"YulIdentifier","src":"23148:1:7"},{"name":"w1","nativeSrc":"23151:2:7","nodeType":"YulIdentifier","src":"23151:2:7"},{"name":"q","nativeSrc":"23155:1:7","nodeType":"YulIdentifier","src":"23155:1:7"}],"functionName":{"name":"mulmod","nativeSrc":"23141:6:7","nodeType":"YulIdentifier","src":"23141:6:7"},"nativeSrc":"23141:16:7","nodeType":"YulFunctionCall","src":"23141:16:7"},"variableNames":[{"name":"s","nativeSrc":"23136:1:7","nodeType":"YulIdentifier","src":"23136:1:7"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23184:1:7","nodeType":"YulIdentifier","src":"23184:1:7"},{"arguments":[{"name":"pProof","nativeSrc":"23191:6:7","nodeType":"YulIdentifier","src":"23191:6:7"},{"name":"pWxiw","nativeSrc":"23199:5:7","nodeType":"YulIdentifier","src":"23199:5:7"}],"functionName":{"name":"add","nativeSrc":"23187:3:7","nodeType":"YulIdentifier","src":"23187:3:7"},"nativeSrc":"23187:18:7","nodeType":"YulFunctionCall","src":"23187:18:7"},{"name":"s","nativeSrc":"23207:1:7","nodeType":"YulIdentifier","src":"23207:1:7"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23174:9:7","nodeType":"YulIdentifier","src":"23174:9:7"},"nativeSrc":"23174:35:7","nodeType":"YulFunctionCall","src":"23174:35:7"},"nativeSrc":"23174:35:7","nodeType":"YulExpressionStatement","src":"23174:35:7"}]},"name":"calculateB1","nativeSrc":"18746:4478:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18767:6:7","nodeType":"YulTypedName","src":"18767:6:7","type":""},{"name":"pMem","nativeSrc":"18775:4:7","nodeType":"YulTypedName","src":"18775:4:7","type":""}],"src":"18746:4478:7"},{"body":{"nativeSrc":"23286:879:7","nodeType":"YulBlock","src":"23286:879:7","statements":[{"nativeSrc":"23304:22:7","nodeType":"YulVariableDeclaration","src":"23304:22:7","value":{"arguments":[{"kind":"number","nativeSrc":"23321:4:7","nodeType":"YulLiteral","src":"23321:4:7","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"23315:5:7","nodeType":"YulIdentifier","src":"23315:5:7"},"nativeSrc":"23315:11:7","nodeType":"YulFunctionCall","src":"23315:11:7"},"variables":[{"name":"mIn","nativeSrc":"23308:3:7","nodeType":"YulTypedName","src":"23308:3:7","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"23350:3:7","nodeType":"YulIdentifier","src":"23350:3:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23365:4:7","nodeType":"YulIdentifier","src":"23365:4:7"},{"name":"pA1","nativeSrc":"23371:3:7","nodeType":"YulIdentifier","src":"23371:3:7"}],"functionName":{"name":"add","nativeSrc":"23361:3:7","nodeType":"YulIdentifier","src":"23361:3:7"},"nativeSrc":"23361:14:7","nodeType":"YulFunctionCall","src":"23361:14:7"}],"functionName":{"name":"mload","nativeSrc":"23355:5:7","nodeType":"YulIdentifier","src":"23355:5:7"},"nativeSrc":"23355:21:7","nodeType":"YulFunctionCall","src":"23355:21:7"}],"functionName":{"name":"mstore","nativeSrc":"23343:6:7","nodeType":"YulIdentifier","src":"23343:6:7"},"nativeSrc":"23343:34:7","nodeType":"YulFunctionCall","src":"23343:34:7"},"nativeSrc":"23343:34:7","nodeType":"YulExpressionStatement","src":"23343:34:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23405:3:7","nodeType":"YulIdentifier","src":"23405:3:7"},{"kind":"number","nativeSrc":"23409:2:7","nodeType":"YulLiteral","src":"23409:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23401:3:7","nodeType":"YulIdentifier","src":"23401:3:7"},"nativeSrc":"23401:11:7","nodeType":"YulFunctionCall","src":"23401:11:7"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23428:4:7","nodeType":"YulIdentifier","src":"23428:4:7"},{"name":"pA1","nativeSrc":"23434:3:7","nodeType":"YulIdentifier","src":"23434:3:7"}],"functionName":{"name":"add","nativeSrc":"23424:3:7","nodeType":"YulIdentifier","src":"23424:3:7"},"nativeSrc":"23424:14:7","nodeType":"YulFunctionCall","src":"23424:14:7"},{"kind":"number","nativeSrc":"23440:2:7","nodeType":"YulLiteral","src":"23440:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23420:3:7","nodeType":"YulIdentifier","src":"23420:3:7"},"nativeSrc":"23420:23:7","nodeType":"YulFunctionCall","src":"23420:23:7"}],"functionName":{"name":"mload","nativeSrc":"23414:5:7","nodeType":"YulIdentifier","src":"23414:5:7"},"nativeSrc":"23414:30:7","nodeType":"YulFunctionCall","src":"23414:30:7"}],"functionName":{"name":"mstore","nativeSrc":"23394:6:7","nodeType":"YulIdentifier","src":"23394:6:7"},"nativeSrc":"23394:51:7","nodeType":"YulFunctionCall","src":"23394:51:7"},"nativeSrc":"23394:51:7","nodeType":"YulExpressionStatement","src":"23394:51:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23473:3:7","nodeType":"YulIdentifier","src":"23473:3:7"},{"kind":"number","nativeSrc":"23477:2:7","nodeType":"YulLiteral","src":"23477:2:7","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"23469:3:7","nodeType":"YulIdentifier","src":"23469:3:7"},"nativeSrc":"23469:11:7","nodeType":"YulFunctionCall","src":"23469:11:7"},{"name":"X2x2","nativeSrc":"23482:4:7","nodeType":"YulIdentifier","src":"23482:4:7"}],"functionName":{"name":"mstore","nativeSrc":"23462:6:7","nodeType":"YulIdentifier","src":"23462:6:7"},"nativeSrc":"23462:25:7","nodeType":"YulFunctionCall","src":"23462:25:7"},"nativeSrc":"23462:25:7","nodeType":"YulExpressionStatement","src":"23462:25:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23515:3:7","nodeType":"YulIdentifier","src":"23515:3:7"},{"kind":"number","nativeSrc":"23519:2:7","nodeType":"YulLiteral","src":"23519:2:7","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"23511:3:7","nodeType":"YulIdentifier","src":"23511:3:7"},"nativeSrc":"23511:11:7","nodeType":"YulFunctionCall","src":"23511:11:7"},{"name":"X2x1","nativeSrc":"23524:4:7","nodeType":"YulIdentifier","src":"23524:4:7"}],"functionName":{"name":"mstore","nativeSrc":"23504:6:7","nodeType":"YulIdentifier","src":"23504:6:7"},"nativeSrc":"23504:25:7","nodeType":"YulFunctionCall","src":"23504:25:7"},"nativeSrc":"23504:25:7","nodeType":"YulExpressionStatement","src":"23504:25:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23557:3:7","nodeType":"YulIdentifier","src":"23557:3:7"},{"kind":"number","nativeSrc":"23561:3:7","nodeType":"YulLiteral","src":"23561:3:7","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"23553:3:7","nodeType":"YulIdentifier","src":"23553:3:7"},"nativeSrc":"23553:12:7","nodeType":"YulFunctionCall","src":"23553:12:7"},{"name":"X2y2","nativeSrc":"23567:4:7","nodeType":"YulIdentifier","src":"23567:4:7"}],"functionName":{"name":"mstore","nativeSrc":"23546:6:7","nodeType":"YulIdentifier","src":"23546:6:7"},"nativeSrc":"23546:26:7","nodeType":"YulFunctionCall","src":"23546:26:7"},"nativeSrc":"23546:26:7","nodeType":"YulExpressionStatement","src":"23546:26:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23600:3:7","nodeType":"YulIdentifier","src":"23600:3:7"},{"kind":"number","nativeSrc":"23604:3:7","nodeType":"YulLiteral","src":"23604:3:7","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"23596:3:7","nodeType":"YulIdentifier","src":"23596:3:7"},"nativeSrc":"23596:12:7","nodeType":"YulFunctionCall","src":"23596:12:7"},{"name":"X2y1","nativeSrc":"23610:4:7","nodeType":"YulIdentifier","src":"23610:4:7"}],"functionName":{"name":"mstore","nativeSrc":"23589:6:7","nodeType":"YulIdentifier","src":"23589:6:7"},"nativeSrc":"23589:26:7","nodeType":"YulFunctionCall","src":"23589:26:7"},"nativeSrc":"23589:26:7","nodeType":"YulExpressionStatement","src":"23589:26:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23643:3:7","nodeType":"YulIdentifier","src":"23643:3:7"},{"kind":"number","nativeSrc":"23647:3:7","nodeType":"YulLiteral","src":"23647:3:7","type":"","value":"192"}],"functionName":{"name":"add","nativeSrc":"23639:3:7","nodeType":"YulIdentifier","src":"23639:3:7"},"nativeSrc":"23639:12:7","nodeType":"YulFunctionCall","src":"23639:12:7"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23663:4:7","nodeType":"YulIdentifier","src":"23663:4:7"},{"name":"pB1","nativeSrc":"23669:3:7","nodeType":"YulIdentifier","src":"23669:3:7"}],"functionName":{"name":"add","nativeSrc":"23659:3:7","nodeType":"YulIdentifier","src":"23659:3:7"},"nativeSrc":"23659:14:7","nodeType":"YulFunctionCall","src":"23659:14:7"}],"functionName":{"name":"mload","nativeSrc":"23653:5:7","nodeType":"YulIdentifier","src":"23653:5:7"},"nativeSrc":"23653:21:7","nodeType":"YulFunctionCall","src":"23653:21:7"}],"functionName":{"name":"mstore","nativeSrc":"23632:6:7","nodeType":"YulIdentifier","src":"23632:6:7"},"nativeSrc":"23632:43:7","nodeType":"YulFunctionCall","src":"23632:43:7"},"nativeSrc":"23632:43:7","nodeType":"YulExpressionStatement","src":"23632:43:7"},{"nativeSrc":"23692:39:7","nodeType":"YulVariableDeclaration","src":"23692:39:7","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23715:4:7","nodeType":"YulIdentifier","src":"23715:4:7"},{"name":"pB1","nativeSrc":"23721:3:7","nodeType":"YulIdentifier","src":"23721:3:7"}],"functionName":{"name":"add","nativeSrc":"23711:3:7","nodeType":"YulIdentifier","src":"23711:3:7"},"nativeSrc":"23711:14:7","nodeType":"YulFunctionCall","src":"23711:14:7"},{"kind":"number","nativeSrc":"23727:2:7","nodeType":"YulLiteral","src":"23727:2:7","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23707:3:7","nodeType":"YulIdentifier","src":"23707:3:7"},"nativeSrc":"23707:23:7","nodeType":"YulFunctionCall","src":"23707:23:7"}],"functionName":{"name":"mload","nativeSrc":"23701:5:7","nodeType":"YulIdentifier","src":"23701:5:7"},"nativeSrc":"23701:30:7","nodeType":"YulFunctionCall","src":"23701:30:7"},"variables":[{"name":"s","nativeSrc":"23696:1:7","nodeType":"YulTypedName","src":"23696:1:7","type":""}]},{"nativeSrc":"23748:24:7","nodeType":"YulAssignment","src":"23748:24:7","value":{"arguments":[{"arguments":[{"name":"qf","nativeSrc":"23761:2:7","nodeType":"YulIdentifier","src":"23761:2:7"},{"name":"s","nativeSrc":"23765:1:7","nodeType":"YulIdentifier","src":"23765:1:7"}],"functionName":{"name":"sub","nativeSrc":"23757:3:7","nodeType":"YulIdentifier","src":"23757:3:7"},"nativeSrc":"23757:10:7","nodeType":"YulFunctionCall","src":"23757:10:7"},{"name":"qf","nativeSrc":"23769:2:7","nodeType":"YulIdentifier","src":"23769:2:7"}],"functionName":{"name":"mod","nativeSrc":"23753:3:7","nodeType":"YulIdentifier","src":"23753:3:7"},"nativeSrc":"23753:19:7","nodeType":"YulFunctionCall","src":"23753:19:7"},"variableNames":[{"name":"s","nativeSrc":"23748:1:7","nodeType":"YulIdentifier","src":"23748:1:7"}]},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23800:3:7","nodeType":"YulIdentifier","src":"23800:3:7"},{"kind":"number","nativeSrc":"23804:3:7","nodeType":"YulLiteral","src":"23804:3:7","type":"","value":"224"}],"functionName":{"name":"add","nativeSrc":"23796:3:7","nodeType":"YulIdentifier","src":"23796:3:7"},"nativeSrc":"23796:12:7","nodeType":"YulFunctionCall","src":"23796:12:7"},{"name":"s","nativeSrc":"23810:1:7","nodeType":"YulIdentifier","src":"23810:1:7"}],"functionName":{"name":"mstore","nativeSrc":"23789:6:7","nodeType":"YulIdentifier","src":"23789:6:7"},"nativeSrc":"23789:23:7","nodeType":"YulFunctionCall","src":"23789:23:7"},"nativeSrc":"23789:23:7","nodeType":"YulExpressionStatement","src":"23789:23:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23840:3:7","nodeType":"YulIdentifier","src":"23840:3:7"},{"kind":"number","nativeSrc":"23844:3:7","nodeType":"YulLiteral","src":"23844:3:7","type":"","value":"256"}],"functionName":{"name":"add","nativeSrc":"23836:3:7","nodeType":"YulIdentifier","src":"23836:3:7"},"nativeSrc":"23836:12:7","nodeType":"YulFunctionCall","src":"23836:12:7"},{"name":"G2x2","nativeSrc":"23850:4:7","nodeType":"YulIdentifier","src":"23850:4:7"}],"functionName":{"name":"mstore","nativeSrc":"23829:6:7","nodeType":"YulIdentifier","src":"23829:6:7"},"nativeSrc":"23829:26:7","nodeType":"YulFunctionCall","src":"23829:26:7"},"nativeSrc":"23829:26:7","nodeType":"YulExpressionStatement","src":"23829:26:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23883:3:7","nodeType":"YulIdentifier","src":"23883:3:7"},{"kind":"number","nativeSrc":"23887:3:7","nodeType":"YulLiteral","src":"23887:3:7","type":"","value":"288"}],"functionName":{"name":"add","nativeSrc":"23879:3:7","nodeType":"YulIdentifier","src":"23879:3:7"},"nativeSrc":"23879:12:7","nodeType":"YulFunctionCall","src":"23879:12:7"},{"name":"G2x1","nativeSrc":"23893:4:7","nodeType":"YulIdentifier","src":"23893:4:7"}],"functionName":{"name":"mstore","nativeSrc":"23872:6:7","nodeType":"YulIdentifier","src":"23872:6:7"},"nativeSrc":"23872:26:7","nodeType":"YulFunctionCall","src":"23872:26:7"},"nativeSrc":"23872:26:7","nodeType":"YulExpressionStatement","src":"23872:26:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23926:3:7","nodeType":"YulIdentifier","src":"23926:3:7"},{"kind":"number","nativeSrc":"23930:3:7","nodeType":"YulLiteral","src":"23930:3:7","type":"","value":"320"}],"functionName":{"name":"add","nativeSrc":"23922:3:7","nodeType":"YulIdentifier","src":"23922:3:7"},"nativeSrc":"23922:12:7","nodeType":"YulFunctionCall","src":"23922:12:7"},{"name":"G2y2","nativeSrc":"23936:4:7","nodeType":"YulIdentifier","src":"23936:4:7"}],"functionName":{"name":"mstore","nativeSrc":"23915:6:7","nodeType":"YulIdentifier","src":"23915:6:7"},"nativeSrc":"23915:26:7","nodeType":"YulFunctionCall","src":"23915:26:7"},"nativeSrc":"23915:26:7","nodeType":"YulExpressionStatement","src":"23915:26:7"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23969:3:7","nodeType":"YulIdentifier","src":"23969:3:7"},{"kind":"number","nativeSrc":"23973:3:7","nodeType":"YulLiteral","src":"23973:3:7","type":"","value":"352"}],"functionName":{"name":"add","nativeSrc":"23965:3:7","nodeType":"YulIdentifier","src":"23965:3:7"},"nativeSrc":"23965:12:7","nodeType":"YulFunctionCall","src":"23965:12:7"},{"name":"G2y1","nativeSrc":"23979:4:7","nodeType":"YulIdentifier","src":"23979:4:7"}],"functionName":{"name":"mstore","nativeSrc":"23958:6:7","nodeType":"YulIdentifier","src":"23958:6:7"},"nativeSrc":"23958:26:7","nodeType":"YulFunctionCall","src":"23958:26:7"},"nativeSrc":"23958:26:7","nodeType":"YulExpressionStatement","src":"23958:26:7"},{"nativeSrc":"24018:67:7","nodeType":"YulVariableDeclaration","src":"24018:67:7","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"24048:3:7","nodeType":"YulIdentifier","src":"24048:3:7"},"nativeSrc":"24048:5:7","nodeType":"YulFunctionCall","src":"24048:5:7"},{"kind":"number","nativeSrc":"24055:4:7","nodeType":"YulLiteral","src":"24055:4:7","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"24044:3:7","nodeType":"YulIdentifier","src":"24044:3:7"},"nativeSrc":"24044:16:7","nodeType":"YulFunctionCall","src":"24044:16:7"},{"kind":"number","nativeSrc":"24062:1:7","nodeType":"YulLiteral","src":"24062:1:7","type":"","value":"8"},{"name":"mIn","nativeSrc":"24065:3:7","nodeType":"YulIdentifier","src":"24065:3:7"},{"kind":"number","nativeSrc":"24070:3:7","nodeType":"YulLiteral","src":"24070:3:7","type":"","value":"384"},{"name":"mIn","nativeSrc":"24075:3:7","nodeType":"YulIdentifier","src":"24075:3:7"},{"kind":"number","nativeSrc":"24080:4:7","nodeType":"YulLiteral","src":"24080:4:7","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nativeSrc":"24033:10:7","nodeType":"YulIdentifier","src":"24033:10:7"},"nativeSrc":"24033:52:7","nodeType":"YulFunctionCall","src":"24033:52:7"},"variables":[{"name":"success","nativeSrc":"24022:7:7","nodeType":"YulTypedName","src":"24022:7:7","type":""}]},{"nativeSrc":"24119:32:7","nodeType":"YulAssignment","src":"24119:32:7","value":{"arguments":[{"name":"success","nativeSrc":"24131:7:7","nodeType":"YulIdentifier","src":"24131:7:7"},{"arguments":[{"name":"mIn","nativeSrc":"24146:3:7","nodeType":"YulIdentifier","src":"24146:3:7"}],"functionName":{"name":"mload","nativeSrc":"24140:5:7","nodeType":"YulIdentifier","src":"24140:5:7"},"nativeSrc":"24140:10:7","nodeType":"YulFunctionCall","src":"24140:10:7"}],"functionName":{"name":"and","nativeSrc":"24127:3:7","nodeType":"YulIdentifier","src":"24127:3:7"},"nativeSrc":"24127:24:7","nodeType":"YulFunctionCall","src":"24127:24:7"},"variableNames":[{"name":"isOk","nativeSrc":"24119:4:7","nodeType":"YulIdentifier","src":"24119:4:7"}]}]},"name":"checkPairing","nativeSrc":"23250:915:7","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"23272:4:7","nodeType":"YulTypedName","src":"23272:4:7","type":""}],"returnVariables":[{"name":"isOk","nativeSrc":"23281:4:7","nodeType":"YulTypedName","src":"23281:4:7","type":""}],"src":"23250:915:7"},{"nativeSrc":"24191:23:7","nodeType":"YulVariableDeclaration","src":"24191:23:7","value":{"arguments":[{"kind":"number","nativeSrc":"24209:4:7","nodeType":"YulLiteral","src":"24209:4:7","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"24203:5:7","nodeType":"YulIdentifier","src":"24203:5:7"},"nativeSrc":"24203:11:7","nodeType":"YulFunctionCall","src":"24203:11:7"},"variables":[{"name":"pMem","nativeSrc":"24195:4:7","nodeType":"YulTypedName","src":"24195:4:7","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24234:4:7","nodeType":"YulLiteral","src":"24234:4:7","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24244:4:7","nodeType":"YulIdentifier","src":"24244:4:7"},{"name":"lastMem","nativeSrc":"24250:7:7","nodeType":"YulIdentifier","src":"24250:7:7"}],"functionName":{"name":"add","nativeSrc":"24240:3:7","nodeType":"YulIdentifier","src":"24240:3:7"},"nativeSrc":"24240:18:7","nodeType":"YulFunctionCall","src":"24240:18:7"}],"functionName":{"name":"mstore","nativeSrc":"24227:6:7","nodeType":"YulIdentifier","src":"24227:6:7"},"nativeSrc":"24227:32:7","nodeType":"YulFunctionCall","src":"24227:32:7"},"nativeSrc":"24227:32:7","nodeType":"YulExpressionStatement","src":"24227:32:7"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24296:5:7","nodeType":"YulIdentifier","src":"24296:5:7"}],"functionName":{"name":"checkInput","nativeSrc":"24285:10:7","nodeType":"YulIdentifier","src":"24285:10:7"},"nativeSrc":"24285:17:7","nodeType":"YulFunctionCall","src":"24285:17:7"},"nativeSrc":"24285:17:7","nodeType":"YulExpressionStatement","src":"24285:17:7"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24335:5:7","nodeType":"YulIdentifier","src":"24335:5:7"},{"name":"pMem","nativeSrc":"24342:4:7","nodeType":"YulIdentifier","src":"24342:4:7"},{"name":"pubSignals","nativeSrc":"24348:10:7","nodeType":"YulIdentifier","src":"24348:10:7"}],"functionName":{"name":"calculateChallanges","nativeSrc":"24315:19:7","nodeType":"YulIdentifier","src":"24315:19:7"},"nativeSrc":"24315:44:7","nodeType":"YulFunctionCall","src":"24315:44:7"},"nativeSrc":"24315:44:7","nodeType":"YulExpressionStatement","src":"24315:44:7"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24390:4:7","nodeType":"YulIdentifier","src":"24390:4:7"}],"functionName":{"name":"calculateLagrange","nativeSrc":"24372:17:7","nodeType":"YulIdentifier","src":"24372:17:7"},"nativeSrc":"24372:23:7","nodeType":"YulFunctionCall","src":"24372:23:7"},"nativeSrc":"24372:23:7","nodeType":"YulExpressionStatement","src":"24372:23:7"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24420:4:7","nodeType":"YulIdentifier","src":"24420:4:7"},{"name":"pubSignals","nativeSrc":"24426:10:7","nodeType":"YulIdentifier","src":"24426:10:7"}],"functionName":{"name":"calculatePl","nativeSrc":"24408:11:7","nodeType":"YulIdentifier","src":"24408:11:7"},"nativeSrc":"24408:29:7","nodeType":"YulFunctionCall","src":"24408:29:7"},"nativeSrc":"24408:29:7","nodeType":"YulExpressionStatement","src":"24408:29:7"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24461:5:7","nodeType":"YulIdentifier","src":"24461:5:7"},{"name":"pMem","nativeSrc":"24468:4:7","nodeType":"YulIdentifier","src":"24468:4:7"}],"functionName":{"name":"calculateT","nativeSrc":"24450:10:7","nodeType":"YulIdentifier","src":"24450:10:7"},"nativeSrc":"24450:23:7","nodeType":"YulFunctionCall","src":"24450:23:7"},"nativeSrc":"24450:23:7","nodeType":"YulExpressionStatement","src":"24450:23:7"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24498:5:7","nodeType":"YulIdentifier","src":"24498:5:7"},{"name":"pMem","nativeSrc":"24505:4:7","nodeType":"YulIdentifier","src":"24505:4:7"}],"functionName":{"name":"calculateA1","nativeSrc":"24486:11:7","nodeType":"YulIdentifier","src":"24486:11:7"},"nativeSrc":"24486:24:7","nodeType":"YulFunctionCall","src":"24486:24:7"},"nativeSrc":"24486:24:7","nodeType":"YulExpressionStatement","src":"24486:24:7"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24535:5:7","nodeType":"YulIdentifier","src":"24535:5:7"},{"name":"pMem","nativeSrc":"24542:4:7","nodeType":"YulIdentifier","src":"24542:4:7"}],"functionName":{"name":"calculateB1","nativeSrc":"24523:11:7","nodeType":"YulIdentifier","src":"24523:11:7"},"nativeSrc":"24523:24:7","nodeType":"YulFunctionCall","src":"24523:24:7"},"nativeSrc":"24523:24:7","nodeType":"YulExpressionStatement","src":"24523:24:7"},{"nativeSrc":"24560:33:7","nodeType":"YulVariableDeclaration","src":"24560:33:7","value":{"arguments":[{"name":"pMem","nativeSrc":"24588:4:7","nodeType":"YulIdentifier","src":"24588:4:7"}],"functionName":{"name":"checkPairing","nativeSrc":"24575:12:7","nodeType":"YulIdentifier","src":"24575:12:7"},"nativeSrc":"24575:18:7","nodeType":"YulFunctionCall","src":"24575:18:7"},"variables":[{"name":"isValid","nativeSrc":"24564:7:7","nodeType":"YulTypedName","src":"24564:7:7","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24626:4:7","nodeType":"YulLiteral","src":"24626:4:7","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24636:4:7","nodeType":"YulIdentifier","src":"24636:4:7"},{"name":"lastMem","nativeSrc":"24642:7:7","nodeType":"YulIdentifier","src":"24642:7:7"}],"functionName":{"name":"sub","nativeSrc":"24632:3:7","nodeType":"YulIdentifier","src":"24632:3:7"},"nativeSrc":"24632:18:7","nodeType":"YulFunctionCall","src":"24632:18:7"}],"functionName":{"name":"mstore","nativeSrc":"24619:6:7","nodeType":"YulIdentifier","src":"24619:6:7"},"nativeSrc":"24619:32:7","nodeType":"YulFunctionCall","src":"24619:32:7"},"nativeSrc":"24619:32:7","nodeType":"YulExpressionStatement","src":"24619:32:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24671:1:7","nodeType":"YulLiteral","src":"24671:1:7","type":"","value":"0"},{"name":"isValid","nativeSrc":"24674:7:7","nodeType":"YulIdentifier","src":"24674:7:7"}],"functionName":{"name":"mstore","nativeSrc":"24664:6:7","nodeType":"YulIdentifier","src":"24664:6:7"},"nativeSrc":"24664:18:7","nodeType":"YulFunctionCall","src":"24664:18:7"},"nativeSrc":"24664:18:7","nodeType":"YulExpressionStatement","src":"24664:18:7"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24702:1:7","nodeType":"YulLiteral","src":"24702:1:7","type":"","value":"0"},{"kind":"number","nativeSrc":"24704:4:7","nodeType":"YulLiteral","src":"24704:4:7","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"24695:6:7","nodeType":"YulIdentifier","src":"24695:6:7"},"nativeSrc":"24695:14:7","nodeType":"YulFunctionCall","src":"24695:14:7"},"nativeSrc":"24695:14:7","nodeType":"YulExpressionStatement","src":"24695:14:7"}]},"evmVersion":"paris","externalReferences":[{"declaration":905,"isOffset":false,"isSlot":false,"src":"22868:3:7","valueSize":1},{"declaration":908,"isOffset":false,"isSlot":false,"src":"22873:3:7","valueSize":1},{"declaration":911,"isOffset":false,"isSlot":false,"src":"23893:4:7","valueSize":1},{"declaration":914,"isOffset":false,"isSlot":false,"src":"23850:4:7","valueSize":1},{"declaration":917,"isOffset":false,"isSlot":false,"src":"23979:4:7","valueSize":1},{"declaration":920,"isOffset":false,"isSlot":false,"src":"23936:4:7","valueSize":1},{"declaration":854,"isOffset":false,"isSlot":false,"src":"19512:3:7","valueSize":1},{"declaration":857,"isOffset":false,"isSlot":false,"src":"19517:3:7","valueSize":1},{"declaration":836,"isOffset":false,"isSlot":false,"src":"19030:3:7","valueSize":1},{"declaration":839,"isOffset":false,"isSlot":false,"src":"19035:3:7","valueSize":1},{"declaration":830,"isOffset":false,"isSlot":false,"src":"19154:3:7","valueSize":1},{"declaration":833,"isOffset":false,"isSlot":false,"src":"19159:3:7","valueSize":1},{"declaration":848,"isOffset":false,"isSlot":false,"src":"19426:3:7","valueSize":1},{"declaration":851,"isOffset":false,"isSlot":false,"src":"19431:3:7","valueSize":1},{"declaration":842,"isOffset":false,"isSlot":false,"src":"19282:3:7","valueSize":1},{"declaration":845,"isOffset":false,"isSlot":false,"src":"19287:3:7","valueSize":1},{"declaration":860,"isOffset":false,"isSlot":false,"src":"21927:3:7","valueSize":1},{"declaration":863,"isOffset":false,"isSlot":false,"src":"21932:3:7","valueSize":1},{"declaration":866,"isOffset":false,"isSlot":false,"src":"21990:3:7","valueSize":1},{"declaration":869,"isOffset":false,"isSlot":false,"src":"21995:3:7","valueSize":1},{"declaration":872,"isOffset":false,"isSlot":false,"src":"21383:3:7","valueSize":1},{"declaration":875,"isOffset":false,"isSlot":false,"src":"21388:3:7","valueSize":1},{"declaration":884,"isOffset":false,"isSlot":false,"src":"23524:4:7","valueSize":1},{"declaration":887,"isOffset":false,"isSlot":false,"src":"23482:4:7","valueSize":1},{"declaration":890,"isOffset":false,"isSlot":false,"src":"23610:4:7","valueSize":1},{"declaration":893,"isOffset":false,"isSlot":false,"src":"23567:4:7","valueSize":1},{"declaration":878,"isOffset":false,"isSlot":false,"src":"19702:2:7","valueSize":1},{"declaration":881,"isOffset":false,"isSlot":false,"src":"19930:2:7","valueSize":1},{"declaration":1031,"isOffset":false,"isSlot":false,"src":"24250:7:7","valueSize":1},{"declaration":1031,"isOffset":false,"isSlot":false,"src":"24642:7:7","valueSize":1},{"declaration":1031,"isOffset":false,"isSlot":false,"src":"9540:7:7","valueSize":1},{"declaration":821,"isOffset":false,"isSlot":false,"src":"11888:1:7","valueSize":1},{"declaration":923,"isOffset":false,"isSlot":false,"src":"21731:2:7","valueSize":1},{"declaration":923,"isOffset":false,"isSlot":false,"src":"9095:2:7","valueSize":1},{"declaration":923,"isOffset":false,"isSlot":false,"src":"9166:2:7","valueSize":1},{"declaration":923,"isOffset":false,"isSlot":false,"src":"9241:2:7","valueSize":1},{"declaration":923,"isOffset":false,"isSlot":false,"src":"9316:2:7","valueSize":1},{"declaration":923,"isOffset":false,"isSlot":false,"src":"9391:2:7","valueSize":1},{"declaration":923,"isOffset":false,"isSlot":false,"src":"9467:2:7","valueSize":1},{"declaration":1016,"isOffset":false,"isSlot":false,"src":"18573:3:7","valueSize":1},{"declaration":1016,"isOffset":false,"isSlot":false,"src":"23371:3:7","valueSize":1},{"declaration":1016,"isOffset":false,"isSlot":false,"src":"23434:3:7","valueSize":1},{"declaration":971,"isOffset":false,"isSlot":false,"src":"15150:6:7","valueSize":1},{"declaration":971,"isOffset":false,"isSlot":false,"src":"15295:6:7","valueSize":1},{"declaration":971,"isOffset":false,"isSlot":false,"src":"15438:6:7","valueSize":1},{"declaration":971,"isOffset":false,"isSlot":false,"src":"20176:6:7","valueSize":1},{"declaration":971,"isOffset":false,"isSlot":false,"src":"20319:6:7","valueSize":1},{"declaration":971,"isOffset":false,"isSlot":false,"src":"20381:6:7","valueSize":1},{"declaration":971,"isOffset":false,"isSlot":false,"src":"21121:6:7","valueSize":1},{"declaration":971,"isOffset":false,"isSlot":false,"src":"9723:6:7","valueSize":1},{"declaration":926,"isOffset":false,"isSlot":false,"src":"21800:2:7","valueSize":1},{"declaration":1019,"isOffset":false,"isSlot":false,"src":"18863:3:7","valueSize":1},{"declaration":1019,"isOffset":false,"isSlot":false,"src":"23669:3:7","valueSize":1},{"declaration":1019,"isOffset":false,"isSlot":false,"src":"23721:3:7","valueSize":1},{"declaration":974,"isOffset":false,"isSlot":false,"src":"13938:5:7","valueSize":1},{"declaration":974,"isOffset":false,"isSlot":false,"src":"14405:5:7","valueSize":1},{"declaration":974,"isOffset":false,"isSlot":false,"src":"20657:5:7","valueSize":1},{"declaration":974,"isOffset":false,"isSlot":false,"src":"20867:5:7","valueSize":1},{"declaration":974,"isOffset":false,"isSlot":false,"src":"21238:5:7","valueSize":1},{"declaration":974,"isOffset":false,"isSlot":false,"src":"9594:5:7","valueSize":1},{"declaration":974,"isOffset":false,"isSlot":false,"src":"9672:5:7","valueSize":1},{"declaration":986,"isOffset":false,"isSlot":false,"src":"19599:7:7","valueSize":1},{"declaration":986,"isOffset":false,"isSlot":false,"src":"19722:7:7","valueSize":1},{"declaration":986,"isOffset":false,"isSlot":false,"src":"19950:7:7","valueSize":1},{"declaration":986,"isOffset":false,"isSlot":false,"src":"9928:7:7","valueSize":1},{"declaration":929,"isOffset":false,"isSlot":false,"src":"21869:2:7","valueSize":1},{"declaration":950,"isOffset":false,"isSlot":false,"src":"11067:7:7","valueSize":1},{"declaration":950,"isOffset":false,"isSlot":false,"src":"14080:7:7","valueSize":1},{"declaration":950,"isOffset":false,"isSlot":false,"src":"18963:7:7","valueSize":1},{"declaration":950,"isOffset":false,"isSlot":false,"src":"19572:7:7","valueSize":1},{"declaration":950,"isOffset":false,"isSlot":false,"src":"20748:7:7","valueSize":1},{"declaration":950,"isOffset":false,"isSlot":false,"src":"22271:7:7","valueSize":1},{"declaration":950,"isOffset":false,"isSlot":false,"src":"8340:7:7","valueSize":1},{"declaration":953,"isOffset":false,"isSlot":false,"src":"14547:7:7","valueSize":1},{"declaration":953,"isOffset":false,"isSlot":false,"src":"19094:7:7","valueSize":1},{"declaration":953,"isOffset":false,"isSlot":false,"src":"19215:7:7","valueSize":1},{"declaration":953,"isOffset":false,"isSlot":false,"src":"19787:7:7","valueSize":1},{"declaration":953,"isOffset":false,"isSlot":false,"src":"20960:7:7","valueSize":1},{"declaration":953,"isOffset":false,"isSlot":false,"src":"22368:7:7","valueSize":1},{"declaration":953,"isOffset":false,"isSlot":false,"src":"8396:7:7","valueSize":1},{"declaration":956,"isOffset":false,"isSlot":false,"src":"14897:7:7","valueSize":1},{"declaration":956,"isOffset":false,"isSlot":false,"src":"19359:7:7","valueSize":1},{"declaration":956,"isOffset":false,"isSlot":false,"src":"20015:7:7","valueSize":1},{"declaration":956,"isOffset":false,"isSlot":false,"src":"22465:7:7","valueSize":1},{"declaration":956,"isOffset":false,"isSlot":false,"src":"8452:7:7","valueSize":1},{"declaration":1028,"isOffset":false,"isSlot":false,"src":"11824:8:7","valueSize":1},{"declaration":1028,"isOffset":false,"isSlot":false,"src":"12593:8:7","valueSize":1},{"declaration":1028,"isOffset":false,"isSlot":false,"src":"12674:8:7","valueSize":1},{"declaration":1028,"isOffset":false,"isSlot":false,"src":"13170:8:7","valueSize":1},{"declaration":1028,"isOffset":false,"isSlot":false,"src":"15246:8:7","valueSize":1},{"declaration":1028,"isOffset":false,"isSlot":false,"src":"20291:8:7","valueSize":1},{"declaration":968,"isOffset":false,"isSlot":false,"src":"13709:7:7","valueSize":1},{"declaration":968,"isOffset":false,"isSlot":false,"src":"22174:7:7","valueSize":1},{"declaration":968,"isOffset":false,"isSlot":false,"src":"8679:7:7","valueSize":1},{"declaration":959,"isOffset":false,"isSlot":false,"src":"13890:8:7","valueSize":1},{"declaration":959,"isOffset":false,"isSlot":false,"src":"20684:8:7","valueSize":1},{"declaration":959,"isOffset":false,"isSlot":false,"src":"22562:8:7","valueSize":1},{"declaration":959,"isOffset":false,"isSlot":false,"src":"8508:8:7","valueSize":1},{"declaration":962,"isOffset":false,"isSlot":false,"src":"14357:8:7","valueSize":1},{"declaration":962,"isOffset":false,"isSlot":false,"src":"20894:8:7","valueSize":1},{"declaration":962,"isOffset":false,"isSlot":false,"src":"22660:8:7","valueSize":1},{"declaration":962,"isOffset":false,"isSlot":false,"src":"8565:8:7","valueSize":1},{"declaration":1013,"isOffset":false,"isSlot":false,"src":"15706:7:7","valueSize":1},{"declaration":1013,"isOffset":false,"isSlot":false,"src":"22108:7:7","valueSize":1},{"declaration":965,"isOffset":false,"isSlot":false,"src":"15086:8:7","valueSize":1},{"declaration":965,"isOffset":false,"isSlot":false,"src":"21299:8:7","valueSize":1},{"declaration":965,"isOffset":false,"isSlot":false,"src":"22758:8:7","valueSize":1},{"declaration":965,"isOffset":false,"isSlot":false,"src":"8622:8:7","valueSize":1},{"declaration":977,"isOffset":false,"isSlot":false,"src":"14238:6:7","valueSize":1},{"declaration":977,"isOffset":false,"isSlot":false,"src":"14705:6:7","valueSize":1},{"declaration":977,"isOffset":false,"isSlot":false,"src":"14944:6:7","valueSize":1},{"declaration":977,"isOffset":false,"isSlot":false,"src":"19660:6:7","valueSize":1},{"declaration":977,"isOffset":false,"isSlot":false,"src":"19850:6:7","valueSize":1},{"declaration":977,"isOffset":false,"isSlot":false,"src":"20078:6:7","valueSize":1},{"declaration":977,"isOffset":false,"isSlot":false,"src":"20809:6:7","valueSize":1},{"declaration":977,"isOffset":false,"isSlot":false,"src":"21023:6:7","valueSize":1},{"declaration":977,"isOffset":false,"isSlot":false,"src":"9639:6:7","valueSize":1},{"declaration":1010,"isOffset":false,"isSlot":false,"src":"13483:3:7","valueSize":1},{"declaration":1010,"isOffset":false,"isSlot":false,"src":"13757:3:7","valueSize":1},{"declaration":935,"isOffset":false,"isSlot":false,"src":"21468:3:7","valueSize":1},{"declaration":935,"isOffset":false,"isSlot":false,"src":"9836:3:7","valueSize":1},{"declaration":938,"isOffset":false,"isSlot":false,"src":"21560:3:7","valueSize":1},{"declaration":941,"isOffset":false,"isSlot":false,"src":"21664:3:7","valueSize":1},{"declaration":1007,"isOffset":false,"isSlot":false,"src":"11587:2:7","valueSize":1},{"declaration":1007,"isOffset":false,"isSlot":false,"src":"18688:2:7","valueSize":1},{"declaration":1007,"isOffset":false,"isSlot":false,"src":"20538:2:7","valueSize":1},{"declaration":1007,"isOffset":false,"isSlot":false,"src":"22786:2:7","valueSize":1},{"declaration":1007,"isOffset":false,"isSlot":false,"src":"23088:2:7","valueSize":1},{"declaration":989,"isOffset":false,"isSlot":false,"src":"11120:3:7","valueSize":1},{"declaration":989,"isOffset":false,"isSlot":false,"src":"18990:3:7","valueSize":1},{"declaration":989,"isOffset":false,"isSlot":false,"src":"19242:3:7","valueSize":1},{"declaration":989,"isOffset":false,"isSlot":false,"src":"19386:3:7","valueSize":1},{"declaration":989,"isOffset":false,"isSlot":false,"src":"19476:3:7","valueSize":1},{"declaration":989,"isOffset":false,"isSlot":false,"src":"20236:3:7","valueSize":1},{"declaration":989,"isOffset":false,"isSlot":false,"src":"20443:3:7","valueSize":1},{"declaration":989,"isOffset":false,"isSlot":false,"src":"21181:3:7","valueSize":1},{"declaration":989,"isOffset":false,"isSlot":false,"src":"22201:3:7","valueSize":1},{"declaration":992,"isOffset":false,"isSlot":false,"src":"11203:3:7","valueSize":1},{"declaration":992,"isOffset":false,"isSlot":false,"src":"21752:3:7","valueSize":1},{"declaration":992,"isOffset":false,"isSlot":false,"src":"22298:3:7","valueSize":1},{"declaration":995,"isOffset":false,"isSlot":false,"src":"11284:3:7","valueSize":1},{"declaration":995,"isOffset":false,"isSlot":false,"src":"21821:3:7","valueSize":1},{"declaration":995,"isOffset":false,"isSlot":false,"src":"22395:3:7","valueSize":1},{"declaration":998,"isOffset":false,"isSlot":false,"src":"11365:3:7","valueSize":1},{"declaration":998,"isOffset":false,"isSlot":false,"src":"21890:3:7","valueSize":1},{"declaration":998,"isOffset":false,"isSlot":false,"src":"22492:3:7","valueSize":1},{"declaration":1001,"isOffset":false,"isSlot":false,"src":"11446:3:7","valueSize":1},{"declaration":1001,"isOffset":false,"isSlot":false,"src":"21953:3:7","valueSize":1},{"declaration":1001,"isOffset":false,"isSlot":false,"src":"22590:3:7","valueSize":1},{"declaration":1004,"isOffset":false,"isSlot":false,"src":"11527:3:7","valueSize":1},{"declaration":1004,"isOffset":false,"isSlot":false,"src":"22016:3:7","valueSize":1},{"declaration":1004,"isOffset":false,"isSlot":false,"src":"22688:3:7","valueSize":1},{"declaration":944,"isOffset":false,"isSlot":false,"src":"11618:4:7","valueSize":1},{"declaration":944,"isOffset":false,"isSlot":false,"src":"18616:4:7","valueSize":1},{"declaration":944,"isOffset":false,"isSlot":false,"src":"23033:4:7","valueSize":1},{"declaration":947,"isOffset":false,"isSlot":false,"src":"18664:5:7","valueSize":1},{"declaration":947,"isOffset":false,"isSlot":false,"src":"23199:5:7","valueSize":1},{"declaration":980,"isOffset":false,"isSlot":false,"src":"12043:3:7","valueSize":1},{"declaration":980,"isOffset":false,"isSlot":false,"src":"22986:3:7","valueSize":1},{"declaration":980,"isOffset":false,"isSlot":false,"src":"23110:3:7","valueSize":1},{"declaration":980,"isOffset":false,"isSlot":false,"src":"9885:3:7","valueSize":1},{"declaration":983,"isOffset":false,"isSlot":false,"src":"10801:4:7","valueSize":1},{"declaration":983,"isOffset":false,"isSlot":false,"src":"21512:4:7","valueSize":1},{"declaration":932,"isOffset":false,"isSlot":false,"src":"20588:2:7","valueSize":1},{"declaration":932,"isOffset":false,"isSlot":false,"src":"9758:2:7","valueSize":1},{"declaration":1022,"isOffset":false,"isSlot":false,"src":"10890:3:7","valueSize":1},{"declaration":1022,"isOffset":false,"isSlot":false,"src":"12476:3:7","valueSize":1},{"declaration":1025,"isOffset":false,"isSlot":false,"src":"10933:6:7","valueSize":1},{"declaration":1025,"isOffset":false,"isSlot":false,"src":"12404:6:7","valueSize":1},{"declaration":1025,"isOffset":false,"isSlot":false,"src":"15642:6:7","valueSize":1},{"declaration":1033,"isOffset":false,"isSlot":false,"src":"24296:5:7","valueSize":1},{"declaration":1033,"isOffset":false,"isSlot":false,"src":"24335:5:7","valueSize":1},{"declaration":1033,"isOffset":false,"isSlot":false,"src":"24461:5:7","valueSize":1},{"declaration":1033,"isOffset":false,"isSlot":false,"src":"24498:5:7","valueSize":1},{"declaration":1033,"isOffset":false,"isSlot":false,"src":"24535:5:7","valueSize":1},{"declaration":1036,"isOffset":false,"isSlot":false,"src":"24348:10:7","valueSize":1},{"declaration":1036,"isOffset":false,"isSlot":false,"src":"24426:10:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10005:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10058:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10111:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10164:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10217:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10270:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10323:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10376:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10429:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10482:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10535:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10588:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10641:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10694:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10747:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10849:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"10853:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"11083:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"11166:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"11247:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"11328:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"11409:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"11490:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"11631:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"12157:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"12218:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"12272:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"12739:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"13268:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"13351:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"13396:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"13785:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"13967:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"14111:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"14268:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"14434:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"14578:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"14735:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"14809:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"14974:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"15032:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"15098:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"15160:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"15326:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"15469:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"15527:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"15583:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"15592:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"15652:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"18997:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19105:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19249:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19393:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19610:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19670:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19733:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19798:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19860:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19898:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"19961:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20026:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20088:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20126:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20186:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20243:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20329:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20391:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20450:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20488:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20544:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20696:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20759:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20819:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20906:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"20971:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"21033:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"21071:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"21131:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"21188:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"21247:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"21311:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"21343:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"21350:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"21620:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22208:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22212:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22305:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22309:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22402:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22406:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22499:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22503:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22597:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22601:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22695:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22699:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22792:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22796:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22828:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"22835:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"23117:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"23155:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"7063:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"7120:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"7690:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"7744:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"7995:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"9556:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"9685:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"9768:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"9848:1:7","valueSize":1},{"declaration":896,"isOffset":false,"isSlot":false,"src":"9951:1:7","valueSize":1},{"declaration":899,"isOffset":false,"isSlot":false,"src":"23761:2:7","valueSize":1},{"declaration":899,"isOffset":false,"isSlot":false,"src":"23769:2:7","valueSize":1},{"declaration":902,"isOffset":false,"isSlot":false,"src":"23151:2:7","valueSize":1}],"id":1041,"nodeType":"InlineAssembly","src":"5287:19432:7"}]},"functionSelector":"1e8e1e13","id":1043,"implemented":true,"kind":"function","modifiers":[],"name":"verifyProof","nameLocation":"5192:11:7","nodeType":"FunctionDefinition","parameters":{"id":1037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1033,"mutability":"mutable","name":"proof","nameLocation":"5217:5:7","nodeType":"VariableDeclaration","scope":1043,"src":"5204:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1032,"name":"bytes","nodeType":"ElementaryTypeName","src":"5204:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1036,"mutability":"mutable","name":"pubSignals","nameLocation":"5238:10:7","nodeType":"VariableDeclaration","scope":1043,"src":"5224:24:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1034,"name":"uint","nodeType":"ElementaryTypeName","src":"5224:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1035,"nodeType":"ArrayTypeName","src":"5224:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5203:46:7"},"returnParameters":{"id":1040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1039,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1043,"src":"5271:4:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1038,"name":"bool","nodeType":"ElementaryTypeName","src":"5271:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5270:6:7"},"scope":1044,"src":"5183:19551:7","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":1045,"src":"832:23904:7","usedErrors":[],"usedEvents":[]}],"src":"799:23938:7"},"id":7},"contracts/workstep3Verifier.sol":{"ast":{"absolutePath":"contracts/workstep3Verifier.sol","exportedSymbols":{"PlonkVerifier":[1272]},"id":1273,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":1046,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"799:31:8"},{"abstract":false,"baseContracts":[],"canonicalName":"PlonkVerifier","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1272,"linearizedBaseContracts":[1272],"name":"PlonkVerifier","nameLocation":"841:13:8","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":1049,"mutability":"constant","name":"n","nameLocation":"882:1:8","nodeType":"VariableDeclaration","scope":1272,"src":"866:27:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":1047,"name":"uint32","nodeType":"ElementaryTypeName","src":"866:6:8","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"value":{"hexValue":"3332373638","id":1048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"888:5:8","typeDescriptions":{"typeIdentifier":"t_rational_32768_by_1","typeString":"int_const 32768"},"value":"32768"},"visibility":"internal"},{"constant":true,"id":1052,"mutability":"constant","name":"nPublic","nameLocation":"915:7:8","nodeType":"VariableDeclaration","scope":1272,"src":"899:28:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1050,"name":"uint16","nodeType":"ElementaryTypeName","src":"899:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":1051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"926:1:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":1055,"mutability":"constant","name":"nLagrange","nameLocation":"949:9:8","nodeType":"VariableDeclaration","scope":1272,"src":"933:29:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1053,"name":"uint16","nodeType":"ElementaryTypeName","src":"933:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31","id":1054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"961:1:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":1058,"mutability":"constant","name":"Qmx","nameLocation":"990:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"973:99:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1056,"name":"uint256","nodeType":"ElementaryTypeName","src":"973:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39303331303134323031333334373836353938343337343734383139333333333733383937393834383337343732393632363330333234383531333335333631383434303538353435373830","id":1057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"996:76:8","typeDescriptions":{"typeIdentifier":"t_rational_9031014201334786598437474819333373897984837472962630324851335361844058545780_by_1","typeString":"int_const 9031...(68 digits omitted)...5780"},"value":"9031014201334786598437474819333373897984837472962630324851335361844058545780"},"visibility":"internal"},{"constant":true,"id":1061,"mutability":"constant","name":"Qmy","nameLocation":"1095:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"1078:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1059,"name":"uint256","nodeType":"ElementaryTypeName","src":"1078:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136363037323130373836303836393231393831333637323833383135303439373738373430363030393638373730363230323233303938313437353338303937313338343330353337353935","id":1060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1101:77:8","typeDescriptions":{"typeIdentifier":"t_rational_16607210786086921981367283815049778740600968770620223098147538097138430537595_by_1","typeString":"int_const 1660...(69 digits omitted)...7595"},"value":"16607210786086921981367283815049778740600968770620223098147538097138430537595"},"visibility":"internal"},{"constant":true,"id":1064,"mutability":"constant","name":"Qlx","nameLocation":"1201:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"1184:99:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1062,"name":"uint256","nodeType":"ElementaryTypeName","src":"1184:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36383038323738323830343835333036373539373435353438383931353336313931313632333432323336303939363937363333363530393936333435373430393134323234323230333035","id":1063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1207:76:8","typeDescriptions":{"typeIdentifier":"t_rational_6808278280485306759745548891536191162342236099697633650996345740914224220305_by_1","typeString":"int_const 6808...(68 digits omitted)...0305"},"value":"6808278280485306759745548891536191162342236099697633650996345740914224220305"},"visibility":"internal"},{"constant":true,"id":1067,"mutability":"constant","name":"Qly","nameLocation":"1306:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"1289:99:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1065,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33323730313730313935383030363437393536343339373330373937333339323230303430363536393137353833353938353938313333363039323630363435363138393836313233353838","id":1066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1312:76:8","typeDescriptions":{"typeIdentifier":"t_rational_3270170195800647956439730797339220040656917583598598133609260645618986123588_by_1","typeString":"int_const 3270...(68 digits omitted)...3588"},"value":"3270170195800647956439730797339220040656917583598598133609260645618986123588"},"visibility":"internal"},{"constant":true,"id":1070,"mutability":"constant","name":"Qrx","nameLocation":"1411:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"1394:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"1394:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139383637363539393632393430333739343135383333373231393536313936383835383132353932383331323938353234333831393830353535373331313133323230303232303435373631","id":1069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1417:77:8","typeDescriptions":{"typeIdentifier":"t_rational_19867659962940379415833721956196885812592831298524381980555731113220022045761_by_1","typeString":"int_const 1986...(69 digits omitted)...5761"},"value":"19867659962940379415833721956196885812592831298524381980555731113220022045761"},"visibility":"internal"},{"constant":true,"id":1073,"mutability":"constant","name":"Qry","nameLocation":"1517:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"1500:99:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1071,"name":"uint256","nodeType":"ElementaryTypeName","src":"1500:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35383339343832303132303331373635333332383836353337383438373730333731343733383638323338383039303931313437333233393034363030363533303934393437383735333435","id":1072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1523:76:8","typeDescriptions":{"typeIdentifier":"t_rational_5839482012031765332886537848770371473868238809091147323904600653094947875345_by_1","typeString":"int_const 5839...(68 digits omitted)...5345"},"value":"5839482012031765332886537848770371473868238809091147323904600653094947875345"},"visibility":"internal"},{"constant":true,"id":1076,"mutability":"constant","name":"Qox","nameLocation":"1622:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"1605:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1074,"name":"uint256","nodeType":"ElementaryTypeName","src":"1605:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231363539323738383131393531373833353536343833313235363239323732383433313834373634383835343738323133373439393933353938343434383632323738303435383834373535","id":1075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1628:77:8","typeDescriptions":{"typeIdentifier":"t_rational_21659278811951783556483125629272843184764885478213749993598444862278045884755_by_1","typeString":"int_const 2165...(69 digits omitted)...4755"},"value":"21659278811951783556483125629272843184764885478213749993598444862278045884755"},"visibility":"internal"},{"constant":true,"id":1079,"mutability":"constant","name":"Qoy","nameLocation":"1728:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"1711:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1077,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136363630353937343735323035363139353435323831343638313236303036323339393837353339323637333438323030333430353932373933393532313438343837353034383734333039","id":1078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1734:77:8","typeDescriptions":{"typeIdentifier":"t_rational_16660597475205619545281468126006239987539267348200340592793952148487504874309_by_1","typeString":"int_const 1666...(69 digits omitted)...4309"},"value":"16660597475205619545281468126006239987539267348200340592793952148487504874309"},"visibility":"internal"},{"constant":true,"id":1082,"mutability":"constant","name":"Qcx","nameLocation":"1834:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"1817:99:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1080,"name":"uint256","nodeType":"ElementaryTypeName","src":"1817:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35333035353130333439383338303837333338373833353437383735353636323934343731373731343934303330393936343337363035363632323532303236333736303337303832393538","id":1081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1840:76:8","typeDescriptions":{"typeIdentifier":"t_rational_5305510349838087338783547875566294471771494030996437605662252026376037082958_by_1","typeString":"int_const 5305...(68 digits omitted)...2958"},"value":"5305510349838087338783547875566294471771494030996437605662252026376037082958"},"visibility":"internal"},{"constant":true,"id":1085,"mutability":"constant","name":"Qcy","nameLocation":"1939:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"1922:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1083,"name":"uint256","nodeType":"ElementaryTypeName","src":"1922:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139333737333334303937373732333432333733393233383736353934323131353632323737373035303931333838383939343937333133313332363735353939303034313434393735333133","id":1084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1945:77:8","typeDescriptions":{"typeIdentifier":"t_rational_19377334097772342373923876594211562277705091388899497313132675599004144975313_by_1","typeString":"int_const 1937...(69 digits omitted)...5313"},"value":"19377334097772342373923876594211562277705091388899497313132675599004144975313"},"visibility":"internal"},{"constant":true,"id":1088,"mutability":"constant","name":"S1x","nameLocation":"2045:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"2028:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1086,"name":"uint256","nodeType":"ElementaryTypeName","src":"2028:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133353131333734353838323437313637393937343134343832373731343630333139373737353030313330313437303635323930373337383134363534353132373431373437363136333436","id":1087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2051:77:8","typeDescriptions":{"typeIdentifier":"t_rational_13511374588247167997414482771460319777500130147065290737814654512741747616346_by_1","typeString":"int_const 1351...(69 digits omitted)...6346"},"value":"13511374588247167997414482771460319777500130147065290737814654512741747616346"},"visibility":"internal"},{"constant":true,"id":1091,"mutability":"constant","name":"S1y","nameLocation":"2151:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"2134:99:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1089,"name":"uint256","nodeType":"ElementaryTypeName","src":"2134:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39343130343432373233323238313535383030363039303233383532303831363330333030343430323835303134343639333539353439323531353036313136333532333433383430373635","id":1090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2157:76:8","typeDescriptions":{"typeIdentifier":"t_rational_9410442723228155800609023852081630300440285014469359549251506116352343840765_by_1","typeString":"int_const 9410...(68 digits omitted)...0765"},"value":"9410442723228155800609023852081630300440285014469359549251506116352343840765"},"visibility":"internal"},{"constant":true,"id":1094,"mutability":"constant","name":"S2x","nameLocation":"2256:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"2239:99:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1092,"name":"uint256","nodeType":"ElementaryTypeName","src":"2239:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36323334333433363432303332353239363736333034343735383430313339383536363039353432313833363138383933323832373934383438373232323635383339343034313231363038","id":1093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2262:76:8","typeDescriptions":{"typeIdentifier":"t_rational_6234343642032529676304475840139856609542183618893282794848722265839404121608_by_1","typeString":"int_const 6234...(68 digits omitted)...1608"},"value":"6234343642032529676304475840139856609542183618893282794848722265839404121608"},"visibility":"internal"},{"constant":true,"id":1097,"mutability":"constant","name":"S2y","nameLocation":"2361:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"2344:98:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1095,"name":"uint256","nodeType":"ElementaryTypeName","src":"2344:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313938303831323536363739333937343730313137303738313835333738373836363832313334313637393737373637343831393336313036373330393333363538323136343030323035","id":1096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2367:75:8","typeDescriptions":{"typeIdentifier":"t_rational_198081256679397470117078185378786682134167977767481936106730933658216400205_by_1","typeString":"int_const 1980...(67 digits omitted)...0205"},"value":"198081256679397470117078185378786682134167977767481936106730933658216400205"},"visibility":"internal"},{"constant":true,"id":1100,"mutability":"constant","name":"S3x","nameLocation":"2465:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"2448:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1098,"name":"uint256","nodeType":"ElementaryTypeName","src":"2448:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135363037333634343837373134393133333036313030343436323130313035363139333538373333363736303738303336353632333032313531353835303538363433373135323332323535","id":1099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2471:77:8","typeDescriptions":{"typeIdentifier":"t_rational_15607364487714913306100446210105619358733676078036562302151585058643715232255_by_1","typeString":"int_const 1560...(69 digits omitted)...2255"},"value":"15607364487714913306100446210105619358733676078036562302151585058643715232255"},"visibility":"internal"},{"constant":true,"id":1103,"mutability":"constant","name":"S3y","nameLocation":"2571:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"2554:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1101,"name":"uint256","nodeType":"ElementaryTypeName","src":"2554:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136343138323033383935393332313031393731363631353130333137373137373539303135353638313331393832323837323233393331313336353034383131313930323030393730343232","id":1102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2577:77:8","typeDescriptions":{"typeIdentifier":"t_rational_16418203895932101971661510317717759015568131982287223931136504811190200970422_by_1","typeString":"int_const 1641...(69 digits omitted)...0422"},"value":"16418203895932101971661510317717759015568131982287223931136504811190200970422"},"visibility":"internal"},{"constant":true,"id":1106,"mutability":"constant","name":"k1","nameLocation":"2677:2:8","nodeType":"VariableDeclaration","scope":1272,"src":"2660:23:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1104,"name":"uint256","nodeType":"ElementaryTypeName","src":"2660:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":1105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2682:1:8","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":1109,"mutability":"constant","name":"k2","nameLocation":"2706:2:8","nodeType":"VariableDeclaration","scope":1272,"src":"2689:23:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1107,"name":"uint256","nodeType":"ElementaryTypeName","src":"2689:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":1108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2711:1:8","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"internal"},{"constant":true,"id":1112,"mutability":"constant","name":"X2x1","nameLocation":"2735:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"2718:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1110,"name":"uint256","nodeType":"ElementaryTypeName","src":"2718:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"37353530313731313431343839363432333233333435343936363833373337323434323737303833323536343234303034373037373135393938343833343039353430303430353837343636","id":1111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2742:76:8","typeDescriptions":{"typeIdentifier":"t_rational_7550171141489642323345496683737244277083256424004707715998483409540040587466_by_1","typeString":"int_const 7550...(68 digits omitted)...7466"},"value":"7550171141489642323345496683737244277083256424004707715998483409540040587466"},"visibility":"internal"},{"constant":true,"id":1115,"mutability":"constant","name":"X2x2","nameLocation":"2841:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"2824:101:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1113,"name":"uint256","nodeType":"ElementaryTypeName","src":"2824:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133363734333237323831343536363030383935363037383139383438363832313539353032393536363038343739373335393735373632323138343131353939303333393831353539393638","id":1114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2848:77:8","typeDescriptions":{"typeIdentifier":"t_rational_13674327281456600895607819848682159502956608479735975762218411599033981559968_by_1","typeString":"int_const 1367...(69 digits omitted)...9968"},"value":"13674327281456600895607819848682159502956608479735975762218411599033981559968"},"visibility":"internal"},{"constant":true,"id":1118,"mutability":"constant","name":"X2y1","nameLocation":"2948:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"2931:101:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1116,"name":"uint256","nodeType":"ElementaryTypeName","src":"2931:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136333239343237363535393135393434393038343834393734303630383938373631363833393734363436333138303734363339313938303033313837313534353235323534313736353230","id":1117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2955:77:8","typeDescriptions":{"typeIdentifier":"t_rational_16329427655915944908484974060898761683974646318074639198003187154525254176520_by_1","typeString":"int_const 1632...(69 digits omitted)...6520"},"value":"16329427655915944908484974060898761683974646318074639198003187154525254176520"},"visibility":"internal"},{"constant":true,"id":1121,"mutability":"constant","name":"X2y2","nameLocation":"3055:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"3038:101:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1119,"name":"uint256","nodeType":"ElementaryTypeName","src":"3038:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3139363034363331363533303430323033393131353233343934323133363738313838303035393837363232313934353435353732353239363038383335313833393336353639383230393930","id":1120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3062:77:8","typeDescriptions":{"typeIdentifier":"t_rational_19604631653040203911523494213678188005987622194545572529608835183936569820990_by_1","typeString":"int_const 1960...(69 digits omitted)...0990"},"value":"19604631653040203911523494213678188005987622194545572529608835183936569820990"},"visibility":"internal"},{"constant":true,"id":1124,"mutability":"constant","name":"q","nameLocation":"3167:1:8","nodeType":"VariableDeclaration","scope":1272,"src":"3150:98:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1122,"name":"uint256","nodeType":"ElementaryTypeName","src":"3150:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137","id":1123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3171:77:8","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1","typeString":"int_const 2188...(69 digits omitted)...5617"},"value":"21888242871839275222246405745257275088548364400416034343698204186575808495617"},"visibility":"internal"},{"constant":true,"id":1127,"mutability":"constant","name":"qf","nameLocation":"3271:2:8","nodeType":"VariableDeclaration","scope":1272,"src":"3254:99:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1125,"name":"uint256","nodeType":"ElementaryTypeName","src":"3254:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833","id":1126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3276:77:8","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1","typeString":"int_const 2188...(69 digits omitted)...8583"},"value":"21888242871839275222246405745257275088696311157297823662689037894645226208583"},"visibility":"internal"},{"constant":true,"id":1130,"mutability":"constant","name":"w1","nameLocation":"3376:2:8","nodeType":"VariableDeclaration","scope":1272,"src":"3359:99:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1128,"name":"uint256","nodeType":"ElementaryTypeName","src":"3359:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3230343032393331373438383433353338393835313531303031323634353330303439383734383731353732393333363934363334383336353637303730363933393636313333373833383033","id":1129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3381:77:8","typeDescriptions":{"typeIdentifier":"t_rational_20402931748843538985151001264530049874871572933694634836567070693966133783803_by_1","typeString":"int_const 2040...(69 digits omitted)...3803"},"value":"20402931748843538985151001264530049874871572933694634836567070693966133783803"},"visibility":"internal"},{"constant":true,"id":1133,"mutability":"constant","name":"G1x","nameLocation":"3490:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"3473:24:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1131,"name":"uint256","nodeType":"ElementaryTypeName","src":"3473:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":1132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3496:1:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":1136,"mutability":"constant","name":"G1y","nameLocation":"3520:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"3503:24:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1134,"name":"uint256","nodeType":"ElementaryTypeName","src":"3503:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":1135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3526:1:8","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":1139,"mutability":"constant","name":"G2x1","nameLocation":"3550:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"3533:101:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1137,"name":"uint256","nodeType":"ElementaryTypeName","src":"3533:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831","id":1138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3557:77:8","typeDescriptions":{"typeIdentifier":"t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1","typeString":"int_const 1085...(69 digits omitted)...2781"},"value":"10857046999023057135944570762232829481370756359578518086990519993285655852781"},"visibility":"internal"},{"constant":true,"id":1142,"mutability":"constant","name":"G2x2","nameLocation":"3657:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"3640:101:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1140,"name":"uint256","nodeType":"ElementaryTypeName","src":"3640:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334","id":1141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3664:77:8","typeDescriptions":{"typeIdentifier":"t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1","typeString":"int_const 1155...(69 digits omitted)...5634"},"value":"11559732032986387107991004021392285783925812861821192530917403151452391805634"},"visibility":"internal"},{"constant":true,"id":1145,"mutability":"constant","name":"G2y1","nameLocation":"3764:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"3747:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1143,"name":"uint256","nodeType":"ElementaryTypeName","src":"3747:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330","id":1144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3771:76:8","typeDescriptions":{"typeIdentifier":"t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1","typeString":"int_const 8495...(68 digits omitted)...1930"},"value":"8495653923123431417604973247489272438418190587263600148770280649306958101930"},"visibility":"internal"},{"constant":true,"id":1148,"mutability":"constant","name":"G2y2","nameLocation":"3870:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"3853:100:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1146,"name":"uint256","nodeType":"ElementaryTypeName","src":"3853:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331","id":1147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3877:76:8","typeDescriptions":{"typeIdentifier":"t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1","typeString":"int_const 4082...(68 digits omitted)...3531"},"value":"4082367875863433681332203403145435568316851327593401208105741076214120093531"},"visibility":"internal"},{"constant":true,"id":1151,"mutability":"constant","name":"pA","nameLocation":"3975:2:8","nodeType":"VariableDeclaration","scope":1272,"src":"3959:23:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1149,"name":"uint16","nodeType":"ElementaryTypeName","src":"3959:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":1150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3980:2:8","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":1154,"mutability":"constant","name":"pB","nameLocation":"4004:2:8","nodeType":"VariableDeclaration","scope":1272,"src":"3988:23:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1152,"name":"uint16","nodeType":"ElementaryTypeName","src":"3988:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":1153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4009:2:8","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":1157,"mutability":"constant","name":"pC","nameLocation":"4033:2:8","nodeType":"VariableDeclaration","scope":1272,"src":"4017:24:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1155,"name":"uint16","nodeType":"ElementaryTypeName","src":"4017:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":1156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4038:3:8","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":1160,"mutability":"constant","name":"pZ","nameLocation":"4063:2:8","nodeType":"VariableDeclaration","scope":1272,"src":"4047:24:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1158,"name":"uint16","nodeType":"ElementaryTypeName","src":"4047:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":1159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4068:3:8","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":1163,"mutability":"constant","name":"pT1","nameLocation":"4093:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4077:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1161,"name":"uint16","nodeType":"ElementaryTypeName","src":"4077:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":1162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4099:3:8","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":1166,"mutability":"constant","name":"pT2","nameLocation":"4124:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4108:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1164,"name":"uint16","nodeType":"ElementaryTypeName","src":"4108:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":1165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4130:3:8","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":1169,"mutability":"constant","name":"pT3","nameLocation":"4155:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4139:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1167,"name":"uint16","nodeType":"ElementaryTypeName","src":"4139:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":1168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4161:3:8","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":1172,"mutability":"constant","name":"pWxi","nameLocation":"4186:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"4170:26:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1170,"name":"uint16","nodeType":"ElementaryTypeName","src":"4170:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":1171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4193:3:8","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":1175,"mutability":"constant","name":"pWxiw","nameLocation":"4218:5:8","nodeType":"VariableDeclaration","scope":1272,"src":"4202:27:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1173,"name":"uint16","nodeType":"ElementaryTypeName","src":"4202:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":1174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4226:3:8","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":1178,"mutability":"constant","name":"pEval_a","nameLocation":"4251:7:8","nodeType":"VariableDeclaration","scope":1272,"src":"4235:29:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1176,"name":"uint16","nodeType":"ElementaryTypeName","src":"4235:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":1177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4261:3:8","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":1181,"mutability":"constant","name":"pEval_b","nameLocation":"4286:7:8","nodeType":"VariableDeclaration","scope":1272,"src":"4270:29:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1179,"name":"uint16","nodeType":"ElementaryTypeName","src":"4270:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":1180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4296:3:8","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":1184,"mutability":"constant","name":"pEval_c","nameLocation":"4321:7:8","nodeType":"VariableDeclaration","scope":1272,"src":"4305:29:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1182,"name":"uint16","nodeType":"ElementaryTypeName","src":"4305:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":1183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4331:3:8","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":1187,"mutability":"constant","name":"pEval_s1","nameLocation":"4356:8:8","nodeType":"VariableDeclaration","scope":1272,"src":"4340:30:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1185,"name":"uint16","nodeType":"ElementaryTypeName","src":"4340:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":1186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4367:3:8","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"constant":true,"id":1190,"mutability":"constant","name":"pEval_s2","nameLocation":"4392:8:8","nodeType":"VariableDeclaration","scope":1272,"src":"4376:30:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1188,"name":"uint16","nodeType":"ElementaryTypeName","src":"4376:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373336","id":1189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4403:3:8","typeDescriptions":{"typeIdentifier":"t_rational_736_by_1","typeString":"int_const 736"},"value":"736"},"visibility":"internal"},{"constant":true,"id":1193,"mutability":"constant","name":"pEval_zw","nameLocation":"4428:8:8","nodeType":"VariableDeclaration","scope":1272,"src":"4412:30:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1191,"name":"uint16","nodeType":"ElementaryTypeName","src":"4412:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373638","id":1192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4439:3:8","typeDescriptions":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"},"value":"768"},"visibility":"internal"},{"constant":true,"id":1196,"mutability":"constant","name":"pEval_r","nameLocation":"4464:7:8","nodeType":"VariableDeclaration","scope":1272,"src":"4448:29:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1194,"name":"uint16","nodeType":"ElementaryTypeName","src":"4448:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"383030","id":1195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4474:3:8","typeDescriptions":{"typeIdentifier":"t_rational_800_by_1","typeString":"int_const 800"},"value":"800"},"visibility":"internal"},{"constant":true,"id":1199,"mutability":"constant","name":"pAlpha","nameLocation":"4504:6:8","nodeType":"VariableDeclaration","scope":1272,"src":"4488:26:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1197,"name":"uint16","nodeType":"ElementaryTypeName","src":"4488:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"30","id":1198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4513:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"constant":true,"id":1202,"mutability":"constant","name":"pBeta","nameLocation":"4536:5:8","nodeType":"VariableDeclaration","scope":1272,"src":"4520:26:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1200,"name":"uint16","nodeType":"ElementaryTypeName","src":"4520:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3332","id":1201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4544:2:8","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":1205,"mutability":"constant","name":"pGamma","nameLocation":"4568:6:8","nodeType":"VariableDeclaration","scope":1272,"src":"4552:27:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1203,"name":"uint16","nodeType":"ElementaryTypeName","src":"4552:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3634","id":1204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4577:2:8","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"visibility":"internal"},{"constant":true,"id":1208,"mutability":"constant","name":"pXi","nameLocation":"4601:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4585:24:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1206,"name":"uint16","nodeType":"ElementaryTypeName","src":"4585:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"3936","id":1207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4607:2:8","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":1211,"mutability":"constant","name":"pXin","nameLocation":"4631:4:8","nodeType":"VariableDeclaration","scope":1272,"src":"4615:26:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1209,"name":"uint16","nodeType":"ElementaryTypeName","src":"4615:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313238","id":1210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4638:3:8","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"visibility":"internal"},{"constant":true,"id":1214,"mutability":"constant","name":"pBetaXi","nameLocation":"4663:7:8","nodeType":"VariableDeclaration","scope":1272,"src":"4647:29:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1212,"name":"uint16","nodeType":"ElementaryTypeName","src":"4647:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313630","id":1213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4673:3:8","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":1217,"mutability":"constant","name":"pV1","nameLocation":"4698:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4682:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1215,"name":"uint16","nodeType":"ElementaryTypeName","src":"4682:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313932","id":1216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4704:3:8","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"visibility":"internal"},{"constant":true,"id":1220,"mutability":"constant","name":"pV2","nameLocation":"4729:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4713:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1218,"name":"uint16","nodeType":"ElementaryTypeName","src":"4713:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323234","id":1219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4735:3:8","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":1223,"mutability":"constant","name":"pV3","nameLocation":"4760:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4744:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1221,"name":"uint16","nodeType":"ElementaryTypeName","src":"4744:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323536","id":1222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4766:3:8","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"visibility":"internal"},{"constant":true,"id":1226,"mutability":"constant","name":"pV4","nameLocation":"4791:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4775:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1224,"name":"uint16","nodeType":"ElementaryTypeName","src":"4775:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"323838","id":1225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4797:3:8","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":1229,"mutability":"constant","name":"pV5","nameLocation":"4822:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4806:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1227,"name":"uint16","nodeType":"ElementaryTypeName","src":"4806:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333230","id":1228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4828:3:8","typeDescriptions":{"typeIdentifier":"t_rational_320_by_1","typeString":"int_const 320"},"value":"320"},"visibility":"internal"},{"constant":true,"id":1232,"mutability":"constant","name":"pV6","nameLocation":"4853:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4837:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1230,"name":"uint16","nodeType":"ElementaryTypeName","src":"4837:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333532","id":1231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4859:3:8","typeDescriptions":{"typeIdentifier":"t_rational_352_by_1","typeString":"int_const 352"},"value":"352"},"visibility":"internal"},{"constant":true,"id":1235,"mutability":"constant","name":"pU","nameLocation":"4884:2:8","nodeType":"VariableDeclaration","scope":1272,"src":"4868:24:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1233,"name":"uint16","nodeType":"ElementaryTypeName","src":"4868:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"333834","id":1234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4889:3:8","typeDescriptions":{"typeIdentifier":"t_rational_384_by_1","typeString":"int_const 384"},"value":"384"},"visibility":"internal"},{"constant":true,"id":1238,"mutability":"constant","name":"pPl","nameLocation":"4914:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4898:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1236,"name":"uint16","nodeType":"ElementaryTypeName","src":"4898:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343136","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4920:3:8","typeDescriptions":{"typeIdentifier":"t_rational_416_by_1","typeString":"int_const 416"},"value":"416"},"visibility":"internal"},{"constant":true,"id":1241,"mutability":"constant","name":"pEval_t","nameLocation":"4945:7:8","nodeType":"VariableDeclaration","scope":1272,"src":"4929:29:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1239,"name":"uint16","nodeType":"ElementaryTypeName","src":"4929:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343438","id":1240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4955:3:8","typeDescriptions":{"typeIdentifier":"t_rational_448_by_1","typeString":"int_const 448"},"value":"448"},"visibility":"internal"},{"constant":true,"id":1244,"mutability":"constant","name":"pA1","nameLocation":"4980:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4964:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1242,"name":"uint16","nodeType":"ElementaryTypeName","src":"4964:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"343830","id":1243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4986:3:8","typeDescriptions":{"typeIdentifier":"t_rational_480_by_1","typeString":"int_const 480"},"value":"480"},"visibility":"internal"},{"constant":true,"id":1247,"mutability":"constant","name":"pB1","nameLocation":"5011:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"4995:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1245,"name":"uint16","nodeType":"ElementaryTypeName","src":"4995:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"353434","id":1246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5017:3:8","typeDescriptions":{"typeIdentifier":"t_rational_544_by_1","typeString":"int_const 544"},"value":"544"},"visibility":"internal"},{"constant":true,"id":1250,"mutability":"constant","name":"pZh","nameLocation":"5042:3:8","nodeType":"VariableDeclaration","scope":1272,"src":"5026:25:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1248,"name":"uint16","nodeType":"ElementaryTypeName","src":"5026:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363038","id":1249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5048:3:8","typeDescriptions":{"typeIdentifier":"t_rational_608_by_1","typeString":"int_const 608"},"value":"608"},"visibility":"internal"},{"constant":true,"id":1253,"mutability":"constant","name":"pZhInv","nameLocation":"5073:6:8","nodeType":"VariableDeclaration","scope":1272,"src":"5057:28:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1251,"name":"uint16","nodeType":"ElementaryTypeName","src":"5057:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363430","id":1252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5082:3:8","typeDescriptions":{"typeIdentifier":"t_rational_640_by_1","typeString":"int_const 640"},"value":"640"},"visibility":"internal"},{"constant":true,"id":1256,"mutability":"constant","name":"pEval_l1","nameLocation":"5112:8:8","nodeType":"VariableDeclaration","scope":1272,"src":"5096:30:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1254,"name":"uint16","nodeType":"ElementaryTypeName","src":"5096:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"363732","id":1255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5123:3:8","typeDescriptions":{"typeIdentifier":"t_rational_672_by_1","typeString":"int_const 672"},"value":"672"},"visibility":"internal"},{"constant":true,"id":1259,"mutability":"constant","name":"lastMem","nameLocation":"5163:7:8","nodeType":"VariableDeclaration","scope":1272,"src":"5147:29:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1257,"name":"uint16","nodeType":"ElementaryTypeName","src":"5147:6:8","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"373034","id":1258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5173:3:8","typeDescriptions":{"typeIdentifier":"t_rational_704_by_1","typeString":"int_const 704"},"value":"704"},"visibility":"internal"},{"body":{"id":1270,"nodeType":"Block","src":"5277:19457:8","statements":[{"AST":{"nativeSrc":"5296:19423:8","nodeType":"YulBlock","src":"5296:19423:8","statements":[{"body":{"nativeSrc":"5459:694:8","nodeType":"YulBlock","src":"5459:694:8","statements":[{"nativeSrc":"5477:10:8","nodeType":"YulVariableDeclaration","src":"5477:10:8","value":{"kind":"number","nativeSrc":"5486:1:8","nodeType":"YulLiteral","src":"5486:1:8","type":"","value":"0"},"variables":[{"name":"t","nativeSrc":"5481:1:8","nodeType":"YulTypedName","src":"5481:1:8","type":""}]},{"nativeSrc":"5509:13:8","nodeType":"YulVariableDeclaration","src":"5509:13:8","value":{"kind":"number","nativeSrc":"5521:1:8","nodeType":"YulLiteral","src":"5521:1:8","type":"","value":"1"},"variables":[{"name":"newt","nativeSrc":"5513:4:8","nodeType":"YulTypedName","src":"5513:4:8","type":""}]},{"nativeSrc":"5539:10:8","nodeType":"YulVariableDeclaration","src":"5539:10:8","value":{"name":"q","nativeSrc":"5548:1:8","nodeType":"YulIdentifier","src":"5548:1:8"},"variables":[{"name":"r","nativeSrc":"5543:1:8","nodeType":"YulTypedName","src":"5543:1:8","type":""}]},{"nativeSrc":"5571:13:8","nodeType":"YulVariableDeclaration","src":"5571:13:8","value":{"name":"a","nativeSrc":"5583:1:8","nodeType":"YulIdentifier","src":"5583:1:8"},"variables":[{"name":"newr","nativeSrc":"5575:4:8","nodeType":"YulTypedName","src":"5575:4:8","type":""}]},{"nativeSrc":"5601:12:8","nodeType":"YulVariableDeclaration","src":"5601:12:8","variables":[{"name":"quotient","nativeSrc":"5605:8:8","nodeType":"YulTypedName","src":"5605:8:8","type":""}]},{"nativeSrc":"5630:7:8","nodeType":"YulVariableDeclaration","src":"5630:7:8","variables":[{"name":"aux","nativeSrc":"5634:3:8","nodeType":"YulTypedName","src":"5634:3:8","type":""}]},{"body":{"nativeSrc":"5688:317:8","nodeType":"YulBlock","src":"5688:317:8","statements":[{"nativeSrc":"5710:25:8","nodeType":"YulAssignment","src":"5710:25:8","value":{"arguments":[{"name":"r","nativeSrc":"5727:1:8","nodeType":"YulIdentifier","src":"5727:1:8"},{"name":"newr","nativeSrc":"5730:4:8","nodeType":"YulIdentifier","src":"5730:4:8"}],"functionName":{"name":"sdiv","nativeSrc":"5722:4:8","nodeType":"YulIdentifier","src":"5722:4:8"},"nativeSrc":"5722:13:8","nodeType":"YulFunctionCall","src":"5722:13:8"},"variableNames":[{"name":"quotient","nativeSrc":"5710:8:8","nodeType":"YulIdentifier","src":"5710:8:8"}]},{"nativeSrc":"5756:34:8","nodeType":"YulAssignment","src":"5756:34:8","value":{"arguments":[{"name":"t","nativeSrc":"5767:1:8","nodeType":"YulIdentifier","src":"5767:1:8"},{"arguments":[{"name":"quotient","nativeSrc":"5774:8:8","nodeType":"YulIdentifier","src":"5774:8:8"},{"name":"newt","nativeSrc":"5784:4:8","nodeType":"YulIdentifier","src":"5784:4:8"}],"functionName":{"name":"mul","nativeSrc":"5770:3:8","nodeType":"YulIdentifier","src":"5770:3:8"},"nativeSrc":"5770:19:8","nodeType":"YulFunctionCall","src":"5770:19:8"}],"functionName":{"name":"sub","nativeSrc":"5763:3:8","nodeType":"YulIdentifier","src":"5763:3:8"},"nativeSrc":"5763:27:8","nodeType":"YulFunctionCall","src":"5763:27:8"},"variableNames":[{"name":"aux","nativeSrc":"5756:3:8","nodeType":"YulIdentifier","src":"5756:3:8"}]},{"nativeSrc":"5811:8:8","nodeType":"YulAssignment","src":"5811:8:8","value":{"name":"newt","nativeSrc":"5815:4:8","nodeType":"YulIdentifier","src":"5815:4:8"},"variableNames":[{"name":"t","nativeSrc":"5811:1:8","nodeType":"YulIdentifier","src":"5811:1:8"}]},{"nativeSrc":"5840:10:8","nodeType":"YulAssignment","src":"5840:10:8","value":{"name":"aux","nativeSrc":"5847:3:8","nodeType":"YulIdentifier","src":"5847:3:8"},"variableNames":[{"name":"newt","nativeSrc":"5840:4:8","nodeType":"YulIdentifier","src":"5840:4:8"}]},{"nativeSrc":"5892:33:8","nodeType":"YulAssignment","src":"5892:33:8","value":{"arguments":[{"name":"r","nativeSrc":"5903:1:8","nodeType":"YulIdentifier","src":"5903:1:8"},{"arguments":[{"name":"quotient","nativeSrc":"5909:8:8","nodeType":"YulIdentifier","src":"5909:8:8"},{"name":"newr","nativeSrc":"5919:4:8","nodeType":"YulIdentifier","src":"5919:4:8"}],"functionName":{"name":"mul","nativeSrc":"5905:3:8","nodeType":"YulIdentifier","src":"5905:3:8"},"nativeSrc":"5905:19:8","nodeType":"YulFunctionCall","src":"5905:19:8"}],"functionName":{"name":"sub","nativeSrc":"5899:3:8","nodeType":"YulIdentifier","src":"5899:3:8"},"nativeSrc":"5899:26:8","nodeType":"YulFunctionCall","src":"5899:26:8"},"variableNames":[{"name":"aux","nativeSrc":"5892:3:8","nodeType":"YulIdentifier","src":"5892:3:8"}]},{"nativeSrc":"5946:9:8","nodeType":"YulAssignment","src":"5946:9:8","value":{"name":"newr","nativeSrc":"5951:4:8","nodeType":"YulIdentifier","src":"5951:4:8"},"variableNames":[{"name":"r","nativeSrc":"5946:1:8","nodeType":"YulIdentifier","src":"5946:1:8"}]},{"nativeSrc":"5976:11:8","nodeType":"YulAssignment","src":"5976:11:8","value":{"name":"aux","nativeSrc":"5984:3:8","nodeType":"YulIdentifier","src":"5984:3:8"},"variableNames":[{"name":"newr","nativeSrc":"5976:4:8","nodeType":"YulIdentifier","src":"5976:4:8"}]}]},"condition":{"name":"newr","nativeSrc":"5679:4:8","nodeType":"YulIdentifier","src":"5679:4:8"},"nativeSrc":"5671:334:8","nodeType":"YulForLoop","post":{"nativeSrc":"5684:3:8","nodeType":"YulBlock","src":"5684:3:8","statements":[]},"pre":{"nativeSrc":"5675:3:8","nodeType":"YulBlock","src":"5675:3:8","statements":[]},"src":"5671:334:8"},{"body":{"nativeSrc":"6051:15:8","nodeType":"YulBlock","src":"6051:15:8","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6060:1:8","nodeType":"YulLiteral","src":"6060:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"6062:1:8","nodeType":"YulLiteral","src":"6062:1:8","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"6053:6:8","nodeType":"YulIdentifier","src":"6053:6:8"},"nativeSrc":"6053:11:8","nodeType":"YulFunctionCall","src":"6053:11:8"},"nativeSrc":"6053:11:8","nodeType":"YulExpressionStatement","src":"6053:11:8"}]},"condition":{"arguments":[{"name":"r","nativeSrc":"6045:1:8","nodeType":"YulIdentifier","src":"6045:1:8"},{"kind":"number","nativeSrc":"6048:1:8","nodeType":"YulLiteral","src":"6048:1:8","type":"","value":"1"}],"functionName":{"name":"gt","nativeSrc":"6042:2:8","nodeType":"YulIdentifier","src":"6042:2:8"},"nativeSrc":"6042:8:8","nodeType":"YulFunctionCall","src":"6042:8:8"},"nativeSrc":"6039:27:8","nodeType":"YulIf","src":"6039:27:8"},{"body":{"nativeSrc":"6096:17:8","nodeType":"YulBlock","src":"6096:17:8","statements":[{"nativeSrc":"6098:13:8","nodeType":"YulAssignment","src":"6098:13:8","value":{"arguments":[{"name":"t","nativeSrc":"6106:1:8","nodeType":"YulIdentifier","src":"6106:1:8"},{"name":"q","nativeSrc":"6109:1:8","nodeType":"YulIdentifier","src":"6109:1:8"}],"functionName":{"name":"add","nativeSrc":"6102:3:8","nodeType":"YulIdentifier","src":"6102:3:8"},"nativeSrc":"6102:9:8","nodeType":"YulFunctionCall","src":"6102:9:8"},"variableNames":[{"name":"t","nativeSrc":"6098:1:8","nodeType":"YulIdentifier","src":"6098:1:8"}]}]},"condition":{"arguments":[{"name":"t","nativeSrc":"6090:1:8","nodeType":"YulIdentifier","src":"6090:1:8"},{"kind":"number","nativeSrc":"6093:1:8","nodeType":"YulLiteral","src":"6093:1:8","type":"","value":"0"}],"functionName":{"name":"slt","nativeSrc":"6086:3:8","nodeType":"YulIdentifier","src":"6086:3:8"},"nativeSrc":"6086:9:8","nodeType":"YulFunctionCall","src":"6086:9:8"},"nativeSrc":"6083:30:8","nodeType":"YulIf","src":"6083:30:8"},{"nativeSrc":"6131:8:8","nodeType":"YulAssignment","src":"6131:8:8","value":{"name":"t","nativeSrc":"6138:1:8","nodeType":"YulIdentifier","src":"6138:1:8"},"variableNames":[{"name":"inv","nativeSrc":"6131:3:8","nodeType":"YulIdentifier","src":"6131:3:8"}]}]},"name":"inverse","nativeSrc":"5429:724:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"a","nativeSrc":"5446:1:8","nodeType":"YulTypedName","src":"5446:1:8","type":""},{"name":"q","nativeSrc":"5449:1:8","nodeType":"YulTypedName","src":"5449:1:8","type":""}],"returnVariables":[{"name":"inv","nativeSrc":"5455:3:8","nodeType":"YulTypedName","src":"5455:3:8","type":""}],"src":"5429:724:8"},{"body":{"nativeSrc":"6427:1485:8","nodeType":"YulBlock","src":"6427:1485:8","statements":[{"nativeSrc":"6450:23:8","nodeType":"YulVariableDeclaration","src":"6450:23:8","value":{"arguments":[{"kind":"number","nativeSrc":"6468:4:8","nodeType":"YulLiteral","src":"6468:4:8","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6462:5:8","nodeType":"YulIdentifier","src":"6462:5:8"},"nativeSrc":"6462:11:8","nodeType":"YulFunctionCall","src":"6462:11:8"},"variables":[{"name":"pAux","nativeSrc":"6454:4:8","nodeType":"YulTypedName","src":"6454:4:8","type":""}]},{"nativeSrc":"6529:16:8","nodeType":"YulVariableDeclaration","src":"6529:16:8","value":{"name":"pVals","nativeSrc":"6540:5:8","nodeType":"YulIdentifier","src":"6540:5:8"},"variables":[{"name":"pIn","nativeSrc":"6533:3:8","nodeType":"YulTypedName","src":"6533:3:8","type":""}]},{"nativeSrc":"6562:37:8","nodeType":"YulVariableDeclaration","src":"6562:37:8","value":{"arguments":[{"name":"pVals","nativeSrc":"6581:5:8","nodeType":"YulIdentifier","src":"6581:5:8"},{"arguments":[{"name":"n","nativeSrc":"6592:1:8","nodeType":"YulIdentifier","src":"6592:1:8"},{"kind":"number","nativeSrc":"6595:2:8","nodeType":"YulLiteral","src":"6595:2:8","type":"","value":"32"}],"functionName":{"name":"mul","nativeSrc":"6588:3:8","nodeType":"YulIdentifier","src":"6588:3:8"},"nativeSrc":"6588:10:8","nodeType":"YulFunctionCall","src":"6588:10:8"}],"functionName":{"name":"add","nativeSrc":"6577:3:8","nodeType":"YulIdentifier","src":"6577:3:8"},"nativeSrc":"6577:22:8","nodeType":"YulFunctionCall","src":"6577:22:8"},"variables":[{"name":"lastPIn","nativeSrc":"6566:7:8","nodeType":"YulTypedName","src":"6566:7:8","type":""}]},{"nativeSrc":"6635:21:8","nodeType":"YulVariableDeclaration","src":"6635:21:8","value":{"arguments":[{"name":"pIn","nativeSrc":"6652:3:8","nodeType":"YulIdentifier","src":"6652:3:8"}],"functionName":{"name":"mload","nativeSrc":"6646:5:8","nodeType":"YulIdentifier","src":"6646:5:8"},"nativeSrc":"6646:10:8","nodeType":"YulFunctionCall","src":"6646:10:8"},"variables":[{"name":"acc","nativeSrc":"6639:3:8","nodeType":"YulTypedName","src":"6639:3:8","type":""}]},{"nativeSrc":"6705:19:8","nodeType":"YulAssignment","src":"6705:19:8","value":{"arguments":[{"name":"pIn","nativeSrc":"6716:3:8","nodeType":"YulIdentifier","src":"6716:3:8"},{"kind":"number","nativeSrc":"6721:2:8","nodeType":"YulLiteral","src":"6721:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6712:3:8","nodeType":"YulIdentifier","src":"6712:3:8"},"nativeSrc":"6712:12:8","nodeType":"YulFunctionCall","src":"6712:12:8"},"variableNames":[{"name":"pIn","nativeSrc":"6705:3:8","nodeType":"YulIdentifier","src":"6705:3:8"}]},{"nativeSrc":"6780:7:8","nodeType":"YulVariableDeclaration","src":"6780:7:8","variables":[{"name":"inv","nativeSrc":"6784:3:8","nodeType":"YulTypedName","src":"6784:3:8","type":""}]},{"body":{"nativeSrc":"6972:111:8","nodeType":"YulBlock","src":"6972:111:8","statements":[{"expression":{"arguments":[{"name":"pAux","nativeSrc":"7001:4:8","nodeType":"YulIdentifier","src":"7001:4:8"},{"name":"acc","nativeSrc":"7007:3:8","nodeType":"YulIdentifier","src":"7007:3:8"}],"functionName":{"name":"mstore","nativeSrc":"6994:6:8","nodeType":"YulIdentifier","src":"6994:6:8"},"nativeSrc":"6994:17:8","nodeType":"YulFunctionCall","src":"6994:17:8"},"nativeSrc":"6994:17:8","nodeType":"YulExpressionStatement","src":"6994:17:8"},{"nativeSrc":"7032:33:8","nodeType":"YulAssignment","src":"7032:33:8","value":{"arguments":[{"name":"acc","nativeSrc":"7046:3:8","nodeType":"YulIdentifier","src":"7046:3:8"},{"arguments":[{"name":"pIn","nativeSrc":"7057:3:8","nodeType":"YulIdentifier","src":"7057:3:8"}],"functionName":{"name":"mload","nativeSrc":"7051:5:8","nodeType":"YulIdentifier","src":"7051:5:8"},"nativeSrc":"7051:10:8","nodeType":"YulFunctionCall","src":"7051:10:8"},{"name":"q","nativeSrc":"7063:1:8","nodeType":"YulIdentifier","src":"7063:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"7039:6:8","nodeType":"YulIdentifier","src":"7039:6:8"},"nativeSrc":"7039:26:8","nodeType":"YulFunctionCall","src":"7039:26:8"},"variableNames":[{"name":"acc","nativeSrc":"7032:3:8","nodeType":"YulIdentifier","src":"7032:3:8"}]}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"6837:3:8","nodeType":"YulIdentifier","src":"6837:3:8"},{"name":"lastPIn","nativeSrc":"6842:7:8","nodeType":"YulIdentifier","src":"6842:7:8"}],"functionName":{"name":"lt","nativeSrc":"6834:2:8","nodeType":"YulIdentifier","src":"6834:2:8"},"nativeSrc":"6834:16:8","nodeType":"YulFunctionCall","src":"6834:16:8"},"nativeSrc":"6826:257:8","nodeType":"YulForLoop","post":{"nativeSrc":"6851:103:8","nodeType":"YulBlock","src":"6851:103:8","statements":[{"nativeSrc":"6874:21:8","nodeType":"YulAssignment","src":"6874:21:8","value":{"arguments":[{"name":"pAux","nativeSrc":"6886:4:8","nodeType":"YulIdentifier","src":"6886:4:8"},{"kind":"number","nativeSrc":"6892:2:8","nodeType":"YulLiteral","src":"6892:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6882:3:8","nodeType":"YulIdentifier","src":"6882:3:8"},"nativeSrc":"6882:13:8","nodeType":"YulFunctionCall","src":"6882:13:8"},"variableNames":[{"name":"pAux","nativeSrc":"6874:4:8","nodeType":"YulIdentifier","src":"6874:4:8"}]},{"nativeSrc":"6917:19:8","nodeType":"YulAssignment","src":"6917:19:8","value":{"arguments":[{"name":"pIn","nativeSrc":"6928:3:8","nodeType":"YulIdentifier","src":"6928:3:8"},{"kind":"number","nativeSrc":"6933:2:8","nodeType":"YulLiteral","src":"6933:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6924:3:8","nodeType":"YulIdentifier","src":"6924:3:8"},"nativeSrc":"6924:12:8","nodeType":"YulFunctionCall","src":"6924:12:8"},"variableNames":[{"name":"pIn","nativeSrc":"6917:3:8","nodeType":"YulIdentifier","src":"6917:3:8"}]}]},"pre":{"nativeSrc":"6830:3:8","nodeType":"YulBlock","src":"6830:3:8","statements":[]},"src":"6826:257:8"},{"nativeSrc":"7100:22:8","nodeType":"YulAssignment","src":"7100:22:8","value":{"arguments":[{"name":"acc","nativeSrc":"7115:3:8","nodeType":"YulIdentifier","src":"7115:3:8"},{"name":"q","nativeSrc":"7120:1:8","nodeType":"YulIdentifier","src":"7120:1:8"}],"functionName":{"name":"inverse","nativeSrc":"7107:7:8","nodeType":"YulIdentifier","src":"7107:7:8"},"nativeSrc":"7107:15:8","nodeType":"YulFunctionCall","src":"7107:15:8"},"variableNames":[{"name":"acc","nativeSrc":"7100:3:8","nodeType":"YulIdentifier","src":"7100:3:8"}]},{"nativeSrc":"7266:21:8","nodeType":"YulAssignment","src":"7266:21:8","value":{"arguments":[{"name":"pAux","nativeSrc":"7278:4:8","nodeType":"YulIdentifier","src":"7278:4:8"},{"kind":"number","nativeSrc":"7284:2:8","nodeType":"YulLiteral","src":"7284:2:8","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7274:3:8","nodeType":"YulIdentifier","src":"7274:3:8"},"nativeSrc":"7274:13:8","nodeType":"YulFunctionCall","src":"7274:13:8"},"variableNames":[{"name":"pAux","nativeSrc":"7266:4:8","nodeType":"YulIdentifier","src":"7266:4:8"}]},{"nativeSrc":"7381:19:8","nodeType":"YulAssignment","src":"7381:19:8","value":{"arguments":[{"name":"pIn","nativeSrc":"7392:3:8","nodeType":"YulIdentifier","src":"7392:3:8"},{"kind":"number","nativeSrc":"7397:2:8","nodeType":"YulLiteral","src":"7397:2:8","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7388:3:8","nodeType":"YulIdentifier","src":"7388:3:8"},"nativeSrc":"7388:12:8","nodeType":"YulFunctionCall","src":"7388:12:8"},"variableNames":[{"name":"pIn","nativeSrc":"7381:3:8","nodeType":"YulIdentifier","src":"7381:3:8"}]},{"nativeSrc":"7417:16:8","nodeType":"YulAssignment","src":"7417:16:8","value":{"name":"pVals","nativeSrc":"7428:5:8","nodeType":"YulIdentifier","src":"7428:5:8"},"variableNames":[{"name":"lastPIn","nativeSrc":"7417:7:8","nodeType":"YulIdentifier","src":"7417:7:8"}]},{"body":{"nativeSrc":"7636:165:8","nodeType":"YulBlock","src":"7636:165:8","statements":[{"nativeSrc":"7658:34:8","nodeType":"YulAssignment","src":"7658:34:8","value":{"arguments":[{"name":"acc","nativeSrc":"7672:3:8","nodeType":"YulIdentifier","src":"7672:3:8"},{"arguments":[{"name":"pAux","nativeSrc":"7683:4:8","nodeType":"YulIdentifier","src":"7683:4:8"}],"functionName":{"name":"mload","nativeSrc":"7677:5:8","nodeType":"YulIdentifier","src":"7677:5:8"},"nativeSrc":"7677:11:8","nodeType":"YulFunctionCall","src":"7677:11:8"},{"name":"q","nativeSrc":"7690:1:8","nodeType":"YulIdentifier","src":"7690:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"7665:6:8","nodeType":"YulIdentifier","src":"7665:6:8"},"nativeSrc":"7665:27:8","nodeType":"YulFunctionCall","src":"7665:27:8"},"variableNames":[{"name":"inv","nativeSrc":"7658:3:8","nodeType":"YulIdentifier","src":"7658:3:8"}]},{"nativeSrc":"7713:33:8","nodeType":"YulAssignment","src":"7713:33:8","value":{"arguments":[{"name":"acc","nativeSrc":"7727:3:8","nodeType":"YulIdentifier","src":"7727:3:8"},{"arguments":[{"name":"pIn","nativeSrc":"7738:3:8","nodeType":"YulIdentifier","src":"7738:3:8"}],"functionName":{"name":"mload","nativeSrc":"7732:5:8","nodeType":"YulIdentifier","src":"7732:5:8"},"nativeSrc":"7732:10:8","nodeType":"YulFunctionCall","src":"7732:10:8"},{"name":"q","nativeSrc":"7744:1:8","nodeType":"YulIdentifier","src":"7744:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"7720:6:8","nodeType":"YulIdentifier","src":"7720:6:8"},"nativeSrc":"7720:26:8","nodeType":"YulFunctionCall","src":"7720:26:8"},"variableNames":[{"name":"acc","nativeSrc":"7713:3:8","nodeType":"YulIdentifier","src":"7713:3:8"}]},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7774:3:8","nodeType":"YulIdentifier","src":"7774:3:8"},{"name":"inv","nativeSrc":"7779:3:8","nodeType":"YulIdentifier","src":"7779:3:8"}],"functionName":{"name":"mstore","nativeSrc":"7767:6:8","nodeType":"YulIdentifier","src":"7767:6:8"},"nativeSrc":"7767:16:8","nodeType":"YulFunctionCall","src":"7767:16:8"},"nativeSrc":"7767:16:8","nodeType":"YulExpressionStatement","src":"7767:16:8"}]},"condition":{"arguments":[{"name":"pIn","nativeSrc":"7501:3:8","nodeType":"YulIdentifier","src":"7501:3:8"},{"name":"lastPIn","nativeSrc":"7506:7:8","nodeType":"YulIdentifier","src":"7506:7:8"}],"functionName":{"name":"gt","nativeSrc":"7498:2:8","nodeType":"YulIdentifier","src":"7498:2:8"},"nativeSrc":"7498:16:8","nodeType":"YulFunctionCall","src":"7498:16:8"},"nativeSrc":"7490:311:8","nodeType":"YulForLoop","post":{"nativeSrc":"7515:103:8","nodeType":"YulBlock","src":"7515:103:8","statements":[{"nativeSrc":"7538:21:8","nodeType":"YulAssignment","src":"7538:21:8","value":{"arguments":[{"name":"pAux","nativeSrc":"7550:4:8","nodeType":"YulIdentifier","src":"7550:4:8"},{"kind":"number","nativeSrc":"7556:2:8","nodeType":"YulLiteral","src":"7556:2:8","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7546:3:8","nodeType":"YulIdentifier","src":"7546:3:8"},"nativeSrc":"7546:13:8","nodeType":"YulFunctionCall","src":"7546:13:8"},"variableNames":[{"name":"pAux","nativeSrc":"7538:4:8","nodeType":"YulIdentifier","src":"7538:4:8"}]},{"nativeSrc":"7581:19:8","nodeType":"YulAssignment","src":"7581:19:8","value":{"arguments":[{"name":"pIn","nativeSrc":"7592:3:8","nodeType":"YulIdentifier","src":"7592:3:8"},{"kind":"number","nativeSrc":"7597:2:8","nodeType":"YulLiteral","src":"7597:2:8","type":"","value":"32"}],"functionName":{"name":"sub","nativeSrc":"7588:3:8","nodeType":"YulIdentifier","src":"7588:3:8"},"nativeSrc":"7588:12:8","nodeType":"YulFunctionCall","src":"7588:12:8"},"variableNames":[{"name":"pIn","nativeSrc":"7581:3:8","nodeType":"YulIdentifier","src":"7581:3:8"}]}]},"pre":{"nativeSrc":"7494:3:8","nodeType":"YulBlock","src":"7494:3:8","statements":[]},"src":"7490:311:8"},{"expression":{"arguments":[{"name":"pIn","nativeSrc":"7889:3:8","nodeType":"YulIdentifier","src":"7889:3:8"},{"name":"acc","nativeSrc":"7894:3:8","nodeType":"YulIdentifier","src":"7894:3:8"}],"functionName":{"name":"mstore","nativeSrc":"7882:6:8","nodeType":"YulIdentifier","src":"7882:6:8"},"nativeSrc":"7882:16:8","nodeType":"YulFunctionCall","src":"7882:16:8"},"nativeSrc":"7882:16:8","nodeType":"YulExpressionStatement","src":"7882:16:8"}]},"name":"inverseArray","nativeSrc":"6395:1517:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pVals","nativeSrc":"6417:5:8","nodeType":"YulTypedName","src":"6417:5:8","type":""},{"name":"n","nativeSrc":"6424:1:8","nodeType":"YulTypedName","src":"6424:1:8","type":""}],"src":"6395:1517:8"},{"body":{"nativeSrc":"7961:139:8","nodeType":"YulBlock","src":"7961:139:8","statements":[{"body":{"nativeSrc":"7999:87:8","nodeType":"YulBlock","src":"7999:87:8","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8028:1:8","nodeType":"YulLiteral","src":"8028:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"8031:1:8","nodeType":"YulLiteral","src":"8031:1:8","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8021:6:8","nodeType":"YulIdentifier","src":"8021:6:8"},"nativeSrc":"8021:12:8","nodeType":"YulFunctionCall","src":"8021:12:8"},"nativeSrc":"8021:12:8","nodeType":"YulExpressionStatement","src":"8021:12:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8061:1:8","nodeType":"YulLiteral","src":"8061:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"8063:4:8","nodeType":"YulLiteral","src":"8063:4:8","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8054:6:8","nodeType":"YulIdentifier","src":"8054:6:8"},"nativeSrc":"8054:14:8","nodeType":"YulFunctionCall","src":"8054:14:8"},"nativeSrc":"8054:14:8","nodeType":"YulExpressionStatement","src":"8054:14:8"}]},"condition":{"arguments":[{"arguments":[{"name":"v","nativeSrc":"7992:1:8","nodeType":"YulIdentifier","src":"7992:1:8"},{"name":"q","nativeSrc":"7995:1:8","nodeType":"YulIdentifier","src":"7995:1:8"}],"functionName":{"name":"lt","nativeSrc":"7989:2:8","nodeType":"YulIdentifier","src":"7989:2:8"},"nativeSrc":"7989:8:8","nodeType":"YulFunctionCall","src":"7989:8:8"}],"functionName":{"name":"iszero","nativeSrc":"7982:6:8","nodeType":"YulIdentifier","src":"7982:6:8"},"nativeSrc":"7982:16:8","nodeType":"YulFunctionCall","src":"7982:16:8"},"nativeSrc":"7979:107:8","nodeType":"YulIf","src":"7979:107:8"}]},"name":"checkField","nativeSrc":"7938:162:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"v","nativeSrc":"7958:1:8","nodeType":"YulTypedName","src":"7958:1:8","type":""}],"src":"7938:162:8"},{"body":{"nativeSrc":"8154:640:8","nodeType":"YulBlock","src":"8154:640:8","statements":[{"body":{"nativeSrc":"8207:87:8","nodeType":"YulBlock","src":"8207:87:8","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8236:1:8","nodeType":"YulLiteral","src":"8236:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"8239:1:8","nodeType":"YulLiteral","src":"8239:1:8","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8229:6:8","nodeType":"YulIdentifier","src":"8229:6:8"},"nativeSrc":"8229:12:8","nodeType":"YulFunctionCall","src":"8229:12:8"},"nativeSrc":"8229:12:8","nodeType":"YulExpressionStatement","src":"8229:12:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8269:1:8","nodeType":"YulLiteral","src":"8269:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"8271:4:8","nodeType":"YulLiteral","src":"8271:4:8","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"8262:6:8","nodeType":"YulIdentifier","src":"8262:6:8"},"nativeSrc":"8262:14:8","nodeType":"YulFunctionCall","src":"8262:14:8"},"nativeSrc":"8262:14:8","nodeType":"YulExpressionStatement","src":"8262:14:8"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8191:6:8","nodeType":"YulIdentifier","src":"8191:6:8"}],"functionName":{"name":"mload","nativeSrc":"8185:5:8","nodeType":"YulIdentifier","src":"8185:5:8"},"nativeSrc":"8185:13:8","nodeType":"YulFunctionCall","src":"8185:13:8"},{"kind":"number","nativeSrc":"8200:3:8","nodeType":"YulLiteral","src":"8200:3:8","type":"","value":"800"}],"functionName":{"name":"eq","nativeSrc":"8182:2:8","nodeType":"YulIdentifier","src":"8182:2:8"},"nativeSrc":"8182:23:8","nodeType":"YulFunctionCall","src":"8182:23:8"}],"functionName":{"name":"iszero","nativeSrc":"8175:6:8","nodeType":"YulIdentifier","src":"8175:6:8"},"nativeSrc":"8175:31:8","nodeType":"YulFunctionCall","src":"8175:31:8"},"nativeSrc":"8172:122:8","nodeType":"YulIf","src":"8172:122:8"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8332:6:8","nodeType":"YulIdentifier","src":"8332:6:8"},{"name":"pEval_a","nativeSrc":"8340:7:8","nodeType":"YulIdentifier","src":"8340:7:8"}],"functionName":{"name":"add","nativeSrc":"8328:3:8","nodeType":"YulIdentifier","src":"8328:3:8"},"nativeSrc":"8328:20:8","nodeType":"YulFunctionCall","src":"8328:20:8"}],"functionName":{"name":"mload","nativeSrc":"8322:5:8","nodeType":"YulIdentifier","src":"8322:5:8"},"nativeSrc":"8322:27:8","nodeType":"YulFunctionCall","src":"8322:27:8"}],"functionName":{"name":"checkField","nativeSrc":"8311:10:8","nodeType":"YulIdentifier","src":"8311:10:8"},"nativeSrc":"8311:39:8","nodeType":"YulFunctionCall","src":"8311:39:8"},"nativeSrc":"8311:39:8","nodeType":"YulExpressionStatement","src":"8311:39:8"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8388:6:8","nodeType":"YulIdentifier","src":"8388:6:8"},{"name":"pEval_b","nativeSrc":"8396:7:8","nodeType":"YulIdentifier","src":"8396:7:8"}],"functionName":{"name":"add","nativeSrc":"8384:3:8","nodeType":"YulIdentifier","src":"8384:3:8"},"nativeSrc":"8384:20:8","nodeType":"YulFunctionCall","src":"8384:20:8"}],"functionName":{"name":"mload","nativeSrc":"8378:5:8","nodeType":"YulIdentifier","src":"8378:5:8"},"nativeSrc":"8378:27:8","nodeType":"YulFunctionCall","src":"8378:27:8"}],"functionName":{"name":"checkField","nativeSrc":"8367:10:8","nodeType":"YulIdentifier","src":"8367:10:8"},"nativeSrc":"8367:39:8","nodeType":"YulFunctionCall","src":"8367:39:8"},"nativeSrc":"8367:39:8","nodeType":"YulExpressionStatement","src":"8367:39:8"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8444:6:8","nodeType":"YulIdentifier","src":"8444:6:8"},{"name":"pEval_c","nativeSrc":"8452:7:8","nodeType":"YulIdentifier","src":"8452:7:8"}],"functionName":{"name":"add","nativeSrc":"8440:3:8","nodeType":"YulIdentifier","src":"8440:3:8"},"nativeSrc":"8440:20:8","nodeType":"YulFunctionCall","src":"8440:20:8"}],"functionName":{"name":"mload","nativeSrc":"8434:5:8","nodeType":"YulIdentifier","src":"8434:5:8"},"nativeSrc":"8434:27:8","nodeType":"YulFunctionCall","src":"8434:27:8"}],"functionName":{"name":"checkField","nativeSrc":"8423:10:8","nodeType":"YulIdentifier","src":"8423:10:8"},"nativeSrc":"8423:39:8","nodeType":"YulFunctionCall","src":"8423:39:8"},"nativeSrc":"8423:39:8","nodeType":"YulExpressionStatement","src":"8423:39:8"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8500:6:8","nodeType":"YulIdentifier","src":"8500:6:8"},{"name":"pEval_s1","nativeSrc":"8508:8:8","nodeType":"YulIdentifier","src":"8508:8:8"}],"functionName":{"name":"add","nativeSrc":"8496:3:8","nodeType":"YulIdentifier","src":"8496:3:8"},"nativeSrc":"8496:21:8","nodeType":"YulFunctionCall","src":"8496:21:8"}],"functionName":{"name":"mload","nativeSrc":"8490:5:8","nodeType":"YulIdentifier","src":"8490:5:8"},"nativeSrc":"8490:28:8","nodeType":"YulFunctionCall","src":"8490:28:8"}],"functionName":{"name":"checkField","nativeSrc":"8479:10:8","nodeType":"YulIdentifier","src":"8479:10:8"},"nativeSrc":"8479:40:8","nodeType":"YulFunctionCall","src":"8479:40:8"},"nativeSrc":"8479:40:8","nodeType":"YulExpressionStatement","src":"8479:40:8"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8557:6:8","nodeType":"YulIdentifier","src":"8557:6:8"},{"name":"pEval_s2","nativeSrc":"8565:8:8","nodeType":"YulIdentifier","src":"8565:8:8"}],"functionName":{"name":"add","nativeSrc":"8553:3:8","nodeType":"YulIdentifier","src":"8553:3:8"},"nativeSrc":"8553:21:8","nodeType":"YulFunctionCall","src":"8553:21:8"}],"functionName":{"name":"mload","nativeSrc":"8547:5:8","nodeType":"YulIdentifier","src":"8547:5:8"},"nativeSrc":"8547:28:8","nodeType":"YulFunctionCall","src":"8547:28:8"}],"functionName":{"name":"checkField","nativeSrc":"8536:10:8","nodeType":"YulIdentifier","src":"8536:10:8"},"nativeSrc":"8536:40:8","nodeType":"YulFunctionCall","src":"8536:40:8"},"nativeSrc":"8536:40:8","nodeType":"YulExpressionStatement","src":"8536:40:8"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8614:6:8","nodeType":"YulIdentifier","src":"8614:6:8"},{"name":"pEval_zw","nativeSrc":"8622:8:8","nodeType":"YulIdentifier","src":"8622:8:8"}],"functionName":{"name":"add","nativeSrc":"8610:3:8","nodeType":"YulIdentifier","src":"8610:3:8"},"nativeSrc":"8610:21:8","nodeType":"YulFunctionCall","src":"8610:21:8"}],"functionName":{"name":"mload","nativeSrc":"8604:5:8","nodeType":"YulIdentifier","src":"8604:5:8"},"nativeSrc":"8604:28:8","nodeType":"YulFunctionCall","src":"8604:28:8"}],"functionName":{"name":"checkField","nativeSrc":"8593:10:8","nodeType":"YulIdentifier","src":"8593:10:8"},"nativeSrc":"8593:40:8","nodeType":"YulFunctionCall","src":"8593:40:8"},"nativeSrc":"8593:40:8","nodeType":"YulExpressionStatement","src":"8593:40:8"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"8671:6:8","nodeType":"YulIdentifier","src":"8671:6:8"},{"name":"pEval_r","nativeSrc":"8679:7:8","nodeType":"YulIdentifier","src":"8679:7:8"}],"functionName":{"name":"add","nativeSrc":"8667:3:8","nodeType":"YulIdentifier","src":"8667:3:8"},"nativeSrc":"8667:20:8","nodeType":"YulFunctionCall","src":"8667:20:8"}],"functionName":{"name":"mload","nativeSrc":"8661:5:8","nodeType":"YulIdentifier","src":"8661:5:8"},"nativeSrc":"8661:27:8","nodeType":"YulFunctionCall","src":"8661:27:8"}],"functionName":{"name":"checkField","nativeSrc":"8650:10:8","nodeType":"YulIdentifier","src":"8650:10:8"},"nativeSrc":"8650:39:8","nodeType":"YulFunctionCall","src":"8650:39:8"},"nativeSrc":"8650:39:8","nodeType":"YulExpressionStatement","src":"8650:39:8"}]},"name":"checkInput","nativeSrc":"8126:668:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8146:6:8","nodeType":"YulTypedName","src":"8146:6:8","type":""}],"src":"8126:668:8"},{"body":{"nativeSrc":"8872:2776:8","nodeType":"YulBlock","src":"8872:2776:8","statements":[{"nativeSrc":"8903:5:8","nodeType":"YulVariableDeclaration","src":"8903:5:8","variables":[{"name":"a","nativeSrc":"8907:1:8","nodeType":"YulTypedName","src":"8907:1:8","type":""}]},{"nativeSrc":"8925:5:8","nodeType":"YulVariableDeclaration","src":"8925:5:8","variables":[{"name":"b","nativeSrc":"8929:1:8","nodeType":"YulTypedName","src":"8929:1:8","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"8977:4:8","nodeType":"YulIdentifier","src":"8977:4:8"},{"kind":"number","nativeSrc":"8983:3:8","nodeType":"YulLiteral","src":"8983:3:8","type":"","value":"704"}],"functionName":{"name":"add","nativeSrc":"8973:3:8","nodeType":"YulIdentifier","src":"8973:3:8"},"nativeSrc":"8973:15:8","nodeType":"YulFunctionCall","src":"8973:15:8"},{"arguments":[{"arguments":[{"name":"pPublic","nativeSrc":"9002:7:8","nodeType":"YulIdentifier","src":"9002:7:8"},{"kind":"number","nativeSrc":"9011:2:8","nodeType":"YulLiteral","src":"9011:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"8997:3:8","nodeType":"YulIdentifier","src":"8997:3:8"},"nativeSrc":"8997:17:8","nodeType":"YulFunctionCall","src":"8997:17:8"}],"functionName":{"name":"mload","nativeSrc":"8990:5:8","nodeType":"YulIdentifier","src":"8990:5:8"},"nativeSrc":"8990:25:8","nodeType":"YulFunctionCall","src":"8990:25:8"}],"functionName":{"name":"mstore","nativeSrc":"8965:6:8","nodeType":"YulIdentifier","src":"8965:6:8"},"nativeSrc":"8965:51:8","nodeType":"YulFunctionCall","src":"8965:51:8"},"nativeSrc":"8965:51:8","nodeType":"YulExpressionStatement","src":"8965:51:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9062:4:8","nodeType":"YulIdentifier","src":"9062:4:8"},{"kind":"number","nativeSrc":"9068:3:8","nodeType":"YulLiteral","src":"9068:3:8","type":"","value":"736"}],"functionName":{"name":"add","nativeSrc":"9058:3:8","nodeType":"YulIdentifier","src":"9058:3:8"},"nativeSrc":"9058:15:8","nodeType":"YulFunctionCall","src":"9058:15:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9087:6:8","nodeType":"YulIdentifier","src":"9087:6:8"},{"name":"pA","nativeSrc":"9095:2:8","nodeType":"YulIdentifier","src":"9095:2:8"}],"functionName":{"name":"add","nativeSrc":"9082:3:8","nodeType":"YulIdentifier","src":"9082:3:8"},"nativeSrc":"9082:16:8","nodeType":"YulFunctionCall","src":"9082:16:8"}],"functionName":{"name":"mload","nativeSrc":"9075:5:8","nodeType":"YulIdentifier","src":"9075:5:8"},"nativeSrc":"9075:24:8","nodeType":"YulFunctionCall","src":"9075:24:8"}],"functionName":{"name":"mstore","nativeSrc":"9050:6:8","nodeType":"YulIdentifier","src":"9050:6:8"},"nativeSrc":"9050:50:8","nodeType":"YulFunctionCall","src":"9050:50:8"},"nativeSrc":"9050:50:8","nodeType":"YulExpressionStatement","src":"9050:50:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9129:4:8","nodeType":"YulIdentifier","src":"9129:4:8"},{"kind":"number","nativeSrc":"9135:3:8","nodeType":"YulLiteral","src":"9135:3:8","type":"","value":"768"}],"functionName":{"name":"add","nativeSrc":"9125:3:8","nodeType":"YulIdentifier","src":"9125:3:8"},"nativeSrc":"9125:15:8","nodeType":"YulFunctionCall","src":"9125:15:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9154:6:8","nodeType":"YulIdentifier","src":"9154:6:8"},{"arguments":[{"name":"pA","nativeSrc":"9166:2:8","nodeType":"YulIdentifier","src":"9166:2:8"},{"kind":"number","nativeSrc":"9169:2:8","nodeType":"YulLiteral","src":"9169:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9162:3:8","nodeType":"YulIdentifier","src":"9162:3:8"},"nativeSrc":"9162:10:8","nodeType":"YulFunctionCall","src":"9162:10:8"}],"functionName":{"name":"add","nativeSrc":"9149:3:8","nodeType":"YulIdentifier","src":"9149:3:8"},"nativeSrc":"9149:24:8","nodeType":"YulFunctionCall","src":"9149:24:8"}],"functionName":{"name":"mload","nativeSrc":"9142:5:8","nodeType":"YulIdentifier","src":"9142:5:8"},"nativeSrc":"9142:32:8","nodeType":"YulFunctionCall","src":"9142:32:8"}],"functionName":{"name":"mstore","nativeSrc":"9117:6:8","nodeType":"YulIdentifier","src":"9117:6:8"},"nativeSrc":"9117:58:8","nodeType":"YulFunctionCall","src":"9117:58:8"},"nativeSrc":"9117:58:8","nodeType":"YulExpressionStatement","src":"9117:58:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9204:4:8","nodeType":"YulIdentifier","src":"9204:4:8"},{"kind":"number","nativeSrc":"9210:3:8","nodeType":"YulLiteral","src":"9210:3:8","type":"","value":"800"}],"functionName":{"name":"add","nativeSrc":"9200:3:8","nodeType":"YulIdentifier","src":"9200:3:8"},"nativeSrc":"9200:15:8","nodeType":"YulFunctionCall","src":"9200:15:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9229:6:8","nodeType":"YulIdentifier","src":"9229:6:8"},{"arguments":[{"name":"pA","nativeSrc":"9241:2:8","nodeType":"YulIdentifier","src":"9241:2:8"},{"kind":"number","nativeSrc":"9244:2:8","nodeType":"YulLiteral","src":"9244:2:8","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"9237:3:8","nodeType":"YulIdentifier","src":"9237:3:8"},"nativeSrc":"9237:10:8","nodeType":"YulFunctionCall","src":"9237:10:8"}],"functionName":{"name":"add","nativeSrc":"9224:3:8","nodeType":"YulIdentifier","src":"9224:3:8"},"nativeSrc":"9224:24:8","nodeType":"YulFunctionCall","src":"9224:24:8"}],"functionName":{"name":"mload","nativeSrc":"9217:5:8","nodeType":"YulIdentifier","src":"9217:5:8"},"nativeSrc":"9217:32:8","nodeType":"YulFunctionCall","src":"9217:32:8"}],"functionName":{"name":"mstore","nativeSrc":"9192:6:8","nodeType":"YulIdentifier","src":"9192:6:8"},"nativeSrc":"9192:58:8","nodeType":"YulFunctionCall","src":"9192:58:8"},"nativeSrc":"9192:58:8","nodeType":"YulExpressionStatement","src":"9192:58:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9279:4:8","nodeType":"YulIdentifier","src":"9279:4:8"},{"kind":"number","nativeSrc":"9285:3:8","nodeType":"YulLiteral","src":"9285:3:8","type":"","value":"832"}],"functionName":{"name":"add","nativeSrc":"9275:3:8","nodeType":"YulIdentifier","src":"9275:3:8"},"nativeSrc":"9275:15:8","nodeType":"YulFunctionCall","src":"9275:15:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9304:6:8","nodeType":"YulIdentifier","src":"9304:6:8"},{"arguments":[{"name":"pA","nativeSrc":"9316:2:8","nodeType":"YulIdentifier","src":"9316:2:8"},{"kind":"number","nativeSrc":"9319:2:8","nodeType":"YulLiteral","src":"9319:2:8","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"9312:3:8","nodeType":"YulIdentifier","src":"9312:3:8"},"nativeSrc":"9312:10:8","nodeType":"YulFunctionCall","src":"9312:10:8"}],"functionName":{"name":"add","nativeSrc":"9299:3:8","nodeType":"YulIdentifier","src":"9299:3:8"},"nativeSrc":"9299:24:8","nodeType":"YulFunctionCall","src":"9299:24:8"}],"functionName":{"name":"mload","nativeSrc":"9292:5:8","nodeType":"YulIdentifier","src":"9292:5:8"},"nativeSrc":"9292:32:8","nodeType":"YulFunctionCall","src":"9292:32:8"}],"functionName":{"name":"mstore","nativeSrc":"9267:6:8","nodeType":"YulIdentifier","src":"9267:6:8"},"nativeSrc":"9267:58:8","nodeType":"YulFunctionCall","src":"9267:58:8"},"nativeSrc":"9267:58:8","nodeType":"YulExpressionStatement","src":"9267:58:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9354:4:8","nodeType":"YulIdentifier","src":"9354:4:8"},{"kind":"number","nativeSrc":"9360:3:8","nodeType":"YulLiteral","src":"9360:3:8","type":"","value":"864"}],"functionName":{"name":"add","nativeSrc":"9350:3:8","nodeType":"YulIdentifier","src":"9350:3:8"},"nativeSrc":"9350:15:8","nodeType":"YulFunctionCall","src":"9350:15:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9379:6:8","nodeType":"YulIdentifier","src":"9379:6:8"},{"arguments":[{"name":"pA","nativeSrc":"9391:2:8","nodeType":"YulIdentifier","src":"9391:2:8"},{"kind":"number","nativeSrc":"9394:3:8","nodeType":"YulLiteral","src":"9394:3:8","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"9387:3:8","nodeType":"YulIdentifier","src":"9387:3:8"},"nativeSrc":"9387:11:8","nodeType":"YulFunctionCall","src":"9387:11:8"}],"functionName":{"name":"add","nativeSrc":"9374:3:8","nodeType":"YulIdentifier","src":"9374:3:8"},"nativeSrc":"9374:25:8","nodeType":"YulFunctionCall","src":"9374:25:8"}],"functionName":{"name":"mload","nativeSrc":"9367:5:8","nodeType":"YulIdentifier","src":"9367:5:8"},"nativeSrc":"9367:33:8","nodeType":"YulFunctionCall","src":"9367:33:8"}],"functionName":{"name":"mstore","nativeSrc":"9342:6:8","nodeType":"YulIdentifier","src":"9342:6:8"},"nativeSrc":"9342:59:8","nodeType":"YulFunctionCall","src":"9342:59:8"},"nativeSrc":"9342:59:8","nodeType":"YulExpressionStatement","src":"9342:59:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9430:4:8","nodeType":"YulIdentifier","src":"9430:4:8"},{"kind":"number","nativeSrc":"9436:3:8","nodeType":"YulLiteral","src":"9436:3:8","type":"","value":"896"}],"functionName":{"name":"add","nativeSrc":"9426:3:8","nodeType":"YulIdentifier","src":"9426:3:8"},"nativeSrc":"9426:15:8","nodeType":"YulFunctionCall","src":"9426:15:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9455:6:8","nodeType":"YulIdentifier","src":"9455:6:8"},{"arguments":[{"name":"pA","nativeSrc":"9467:2:8","nodeType":"YulIdentifier","src":"9467:2:8"},{"kind":"number","nativeSrc":"9470:3:8","nodeType":"YulLiteral","src":"9470:3:8","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"9463:3:8","nodeType":"YulIdentifier","src":"9463:3:8"},"nativeSrc":"9463:11:8","nodeType":"YulFunctionCall","src":"9463:11:8"}],"functionName":{"name":"add","nativeSrc":"9450:3:8","nodeType":"YulIdentifier","src":"9450:3:8"},"nativeSrc":"9450:25:8","nodeType":"YulFunctionCall","src":"9450:25:8"}],"functionName":{"name":"mload","nativeSrc":"9443:5:8","nodeType":"YulIdentifier","src":"9443:5:8"},"nativeSrc":"9443:33:8","nodeType":"YulFunctionCall","src":"9443:33:8"}],"functionName":{"name":"mstore","nativeSrc":"9418:6:8","nodeType":"YulIdentifier","src":"9418:6:8"},"nativeSrc":"9418:59:8","nodeType":"YulFunctionCall","src":"9418:59:8"},"nativeSrc":"9418:59:8","nodeType":"YulExpressionStatement","src":"9418:59:8"},{"nativeSrc":"9511:47:8","nodeType":"YulAssignment","src":"9511:47:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9534:4:8","nodeType":"YulIdentifier","src":"9534:4:8"},{"name":"lastMem","nativeSrc":"9540:7:8","nodeType":"YulIdentifier","src":"9540:7:8"}],"functionName":{"name":"add","nativeSrc":"9530:3:8","nodeType":"YulIdentifier","src":"9530:3:8"},"nativeSrc":"9530:18:8","nodeType":"YulFunctionCall","src":"9530:18:8"},{"kind":"number","nativeSrc":"9550:3:8","nodeType":"YulLiteral","src":"9550:3:8","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"9520:9:8","nodeType":"YulIdentifier","src":"9520:9:8"},"nativeSrc":"9520:34:8","nodeType":"YulFunctionCall","src":"9520:34:8"},{"name":"q","nativeSrc":"9556:1:8","nodeType":"YulIdentifier","src":"9556:1:8"}],"functionName":{"name":"mod","nativeSrc":"9516:3:8","nodeType":"YulIdentifier","src":"9516:3:8"},"nativeSrc":"9516:42:8","nodeType":"YulFunctionCall","src":"9516:42:8"},"variableNames":[{"name":"b","nativeSrc":"9511:1:8","nodeType":"YulIdentifier","src":"9511:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9588:4:8","nodeType":"YulIdentifier","src":"9588:4:8"},{"name":"pBeta","nativeSrc":"9594:5:8","nodeType":"YulIdentifier","src":"9594:5:8"}],"functionName":{"name":"add","nativeSrc":"9584:3:8","nodeType":"YulIdentifier","src":"9584:3:8"},"nativeSrc":"9584:16:8","nodeType":"YulFunctionCall","src":"9584:16:8"},{"name":"b","nativeSrc":"9602:1:8","nodeType":"YulIdentifier","src":"9602:1:8"}],"functionName":{"name":"mstore","nativeSrc":"9576:6:8","nodeType":"YulIdentifier","src":"9576:6:8"},"nativeSrc":"9576:28:8","nodeType":"YulFunctionCall","src":"9576:28:8"},"nativeSrc":"9576:28:8","nodeType":"YulExpressionStatement","src":"9576:28:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9633:4:8","nodeType":"YulIdentifier","src":"9633:4:8"},{"name":"pGamma","nativeSrc":"9639:6:8","nodeType":"YulIdentifier","src":"9639:6:8"}],"functionName":{"name":"add","nativeSrc":"9629:3:8","nodeType":"YulIdentifier","src":"9629:3:8"},"nativeSrc":"9629:17:8","nodeType":"YulFunctionCall","src":"9629:17:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9666:4:8","nodeType":"YulIdentifier","src":"9666:4:8"},{"name":"pBeta","nativeSrc":"9672:5:8","nodeType":"YulIdentifier","src":"9672:5:8"}],"functionName":{"name":"add","nativeSrc":"9662:3:8","nodeType":"YulIdentifier","src":"9662:3:8"},"nativeSrc":"9662:16:8","nodeType":"YulFunctionCall","src":"9662:16:8"},{"kind":"number","nativeSrc":"9680:2:8","nodeType":"YulLiteral","src":"9680:2:8","type":"","value":"32"}],"functionName":{"name":"keccak256","nativeSrc":"9652:9:8","nodeType":"YulIdentifier","src":"9652:9:8"},"nativeSrc":"9652:31:8","nodeType":"YulFunctionCall","src":"9652:31:8"},{"name":"q","nativeSrc":"9685:1:8","nodeType":"YulIdentifier","src":"9685:1:8"}],"functionName":{"name":"mod","nativeSrc":"9648:3:8","nodeType":"YulIdentifier","src":"9648:3:8"},"nativeSrc":"9648:39:8","nodeType":"YulFunctionCall","src":"9648:39:8"}],"functionName":{"name":"mstore","nativeSrc":"9621:6:8","nodeType":"YulIdentifier","src":"9621:6:8"},"nativeSrc":"9621:67:8","nodeType":"YulFunctionCall","src":"9621:67:8"},"nativeSrc":"9621:67:8","nodeType":"YulExpressionStatement","src":"9621:67:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9717:4:8","nodeType":"YulIdentifier","src":"9717:4:8"},{"name":"pAlpha","nativeSrc":"9723:6:8","nodeType":"YulIdentifier","src":"9723:6:8"}],"functionName":{"name":"add","nativeSrc":"9713:3:8","nodeType":"YulIdentifier","src":"9713:3:8"},"nativeSrc":"9713:17:8","nodeType":"YulFunctionCall","src":"9713:17:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9750:6:8","nodeType":"YulIdentifier","src":"9750:6:8"},{"name":"pZ","nativeSrc":"9758:2:8","nodeType":"YulIdentifier","src":"9758:2:8"}],"functionName":{"name":"add","nativeSrc":"9746:3:8","nodeType":"YulIdentifier","src":"9746:3:8"},"nativeSrc":"9746:15:8","nodeType":"YulFunctionCall","src":"9746:15:8"},{"kind":"number","nativeSrc":"9763:2:8","nodeType":"YulLiteral","src":"9763:2:8","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"9736:9:8","nodeType":"YulIdentifier","src":"9736:9:8"},"nativeSrc":"9736:30:8","nodeType":"YulFunctionCall","src":"9736:30:8"},{"name":"q","nativeSrc":"9768:1:8","nodeType":"YulIdentifier","src":"9768:1:8"}],"functionName":{"name":"mod","nativeSrc":"9732:3:8","nodeType":"YulIdentifier","src":"9732:3:8"},"nativeSrc":"9732:38:8","nodeType":"YulFunctionCall","src":"9732:38:8"}],"functionName":{"name":"mstore","nativeSrc":"9705:6:8","nodeType":"YulIdentifier","src":"9705:6:8"},"nativeSrc":"9705:66:8","nodeType":"YulFunctionCall","src":"9705:66:8"},"nativeSrc":"9705:66:8","nodeType":"YulExpressionStatement","src":"9705:66:8"},{"nativeSrc":"9805:45:8","nodeType":"YulAssignment","src":"9805:45:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"9828:6:8","nodeType":"YulIdentifier","src":"9828:6:8"},{"name":"pT1","nativeSrc":"9836:3:8","nodeType":"YulIdentifier","src":"9836:3:8"}],"functionName":{"name":"add","nativeSrc":"9824:3:8","nodeType":"YulIdentifier","src":"9824:3:8"},"nativeSrc":"9824:16:8","nodeType":"YulFunctionCall","src":"9824:16:8"},{"kind":"number","nativeSrc":"9842:3:8","nodeType":"YulLiteral","src":"9842:3:8","type":"","value":"192"}],"functionName":{"name":"keccak256","nativeSrc":"9814:9:8","nodeType":"YulIdentifier","src":"9814:9:8"},"nativeSrc":"9814:32:8","nodeType":"YulFunctionCall","src":"9814:32:8"},{"name":"q","nativeSrc":"9848:1:8","nodeType":"YulIdentifier","src":"9848:1:8"}],"functionName":{"name":"mod","nativeSrc":"9810:3:8","nodeType":"YulIdentifier","src":"9810:3:8"},"nativeSrc":"9810:40:8","nodeType":"YulFunctionCall","src":"9810:40:8"},"variableNames":[{"name":"a","nativeSrc":"9805:1:8","nodeType":"YulIdentifier","src":"9805:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9879:4:8","nodeType":"YulIdentifier","src":"9879:4:8"},{"name":"pXi","nativeSrc":"9885:3:8","nodeType":"YulIdentifier","src":"9885:3:8"}],"functionName":{"name":"add","nativeSrc":"9875:3:8","nodeType":"YulIdentifier","src":"9875:3:8"},"nativeSrc":"9875:14:8","nodeType":"YulFunctionCall","src":"9875:14:8"},{"name":"a","nativeSrc":"9891:1:8","nodeType":"YulIdentifier","src":"9891:1:8"}],"functionName":{"name":"mstore","nativeSrc":"9867:6:8","nodeType":"YulIdentifier","src":"9867:6:8"},"nativeSrc":"9867:26:8","nodeType":"YulFunctionCall","src":"9867:26:8"},"nativeSrc":"9867:26:8","nodeType":"YulExpressionStatement","src":"9867:26:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"9922:4:8","nodeType":"YulIdentifier","src":"9922:4:8"},{"name":"pBetaXi","nativeSrc":"9928:7:8","nodeType":"YulIdentifier","src":"9928:7:8"}],"functionName":{"name":"add","nativeSrc":"9918:3:8","nodeType":"YulIdentifier","src":"9918:3:8"},"nativeSrc":"9918:18:8","nodeType":"YulFunctionCall","src":"9918:18:8"},{"arguments":[{"name":"b","nativeSrc":"9945:1:8","nodeType":"YulIdentifier","src":"9945:1:8"},{"name":"a","nativeSrc":"9948:1:8","nodeType":"YulIdentifier","src":"9948:1:8"},{"name":"q","nativeSrc":"9951:1:8","nodeType":"YulIdentifier","src":"9951:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"9938:6:8","nodeType":"YulIdentifier","src":"9938:6:8"},"nativeSrc":"9938:15:8","nodeType":"YulFunctionCall","src":"9938:15:8"}],"functionName":{"name":"mstore","nativeSrc":"9910:6:8","nodeType":"YulIdentifier","src":"9910:6:8"},"nativeSrc":"9910:44:8","nodeType":"YulFunctionCall","src":"9910:44:8"},"nativeSrc":"9910:44:8","nodeType":"YulExpressionStatement","src":"9910:44:8"},{"nativeSrc":"9988:19:8","nodeType":"YulAssignment","src":"9988:19:8","value":{"arguments":[{"name":"a","nativeSrc":"9999:1:8","nodeType":"YulIdentifier","src":"9999:1:8"},{"name":"a","nativeSrc":"10002:1:8","nodeType":"YulIdentifier","src":"10002:1:8"},{"name":"q","nativeSrc":"10005:1:8","nodeType":"YulIdentifier","src":"10005:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"9992:6:8","nodeType":"YulIdentifier","src":"9992:6:8"},"nativeSrc":"9992:15:8","nodeType":"YulFunctionCall","src":"9992:15:8"},"variableNames":[{"name":"a","nativeSrc":"9988:1:8","nodeType":"YulIdentifier","src":"9988:1:8"}]},{"nativeSrc":"10041:19:8","nodeType":"YulAssignment","src":"10041:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10052:1:8","nodeType":"YulIdentifier","src":"10052:1:8"},{"name":"a","nativeSrc":"10055:1:8","nodeType":"YulIdentifier","src":"10055:1:8"},{"name":"q","nativeSrc":"10058:1:8","nodeType":"YulIdentifier","src":"10058:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10045:6:8","nodeType":"YulIdentifier","src":"10045:6:8"},"nativeSrc":"10045:15:8","nodeType":"YulFunctionCall","src":"10045:15:8"},"variableNames":[{"name":"a","nativeSrc":"10041:1:8","nodeType":"YulIdentifier","src":"10041:1:8"}]},{"nativeSrc":"10094:19:8","nodeType":"YulAssignment","src":"10094:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10105:1:8","nodeType":"YulIdentifier","src":"10105:1:8"},{"name":"a","nativeSrc":"10108:1:8","nodeType":"YulIdentifier","src":"10108:1:8"},{"name":"q","nativeSrc":"10111:1:8","nodeType":"YulIdentifier","src":"10111:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10098:6:8","nodeType":"YulIdentifier","src":"10098:6:8"},"nativeSrc":"10098:15:8","nodeType":"YulFunctionCall","src":"10098:15:8"},"variableNames":[{"name":"a","nativeSrc":"10094:1:8","nodeType":"YulIdentifier","src":"10094:1:8"}]},{"nativeSrc":"10147:19:8","nodeType":"YulAssignment","src":"10147:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10158:1:8","nodeType":"YulIdentifier","src":"10158:1:8"},{"name":"a","nativeSrc":"10161:1:8","nodeType":"YulIdentifier","src":"10161:1:8"},{"name":"q","nativeSrc":"10164:1:8","nodeType":"YulIdentifier","src":"10164:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10151:6:8","nodeType":"YulIdentifier","src":"10151:6:8"},"nativeSrc":"10151:15:8","nodeType":"YulFunctionCall","src":"10151:15:8"},"variableNames":[{"name":"a","nativeSrc":"10147:1:8","nodeType":"YulIdentifier","src":"10147:1:8"}]},{"nativeSrc":"10200:19:8","nodeType":"YulAssignment","src":"10200:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10211:1:8","nodeType":"YulIdentifier","src":"10211:1:8"},{"name":"a","nativeSrc":"10214:1:8","nodeType":"YulIdentifier","src":"10214:1:8"},{"name":"q","nativeSrc":"10217:1:8","nodeType":"YulIdentifier","src":"10217:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10204:6:8","nodeType":"YulIdentifier","src":"10204:6:8"},"nativeSrc":"10204:15:8","nodeType":"YulFunctionCall","src":"10204:15:8"},"variableNames":[{"name":"a","nativeSrc":"10200:1:8","nodeType":"YulIdentifier","src":"10200:1:8"}]},{"nativeSrc":"10253:19:8","nodeType":"YulAssignment","src":"10253:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10264:1:8","nodeType":"YulIdentifier","src":"10264:1:8"},{"name":"a","nativeSrc":"10267:1:8","nodeType":"YulIdentifier","src":"10267:1:8"},{"name":"q","nativeSrc":"10270:1:8","nodeType":"YulIdentifier","src":"10270:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10257:6:8","nodeType":"YulIdentifier","src":"10257:6:8"},"nativeSrc":"10257:15:8","nodeType":"YulFunctionCall","src":"10257:15:8"},"variableNames":[{"name":"a","nativeSrc":"10253:1:8","nodeType":"YulIdentifier","src":"10253:1:8"}]},{"nativeSrc":"10306:19:8","nodeType":"YulAssignment","src":"10306:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10317:1:8","nodeType":"YulIdentifier","src":"10317:1:8"},{"name":"a","nativeSrc":"10320:1:8","nodeType":"YulIdentifier","src":"10320:1:8"},{"name":"q","nativeSrc":"10323:1:8","nodeType":"YulIdentifier","src":"10323:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10310:6:8","nodeType":"YulIdentifier","src":"10310:6:8"},"nativeSrc":"10310:15:8","nodeType":"YulFunctionCall","src":"10310:15:8"},"variableNames":[{"name":"a","nativeSrc":"10306:1:8","nodeType":"YulIdentifier","src":"10306:1:8"}]},{"nativeSrc":"10359:19:8","nodeType":"YulAssignment","src":"10359:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10370:1:8","nodeType":"YulIdentifier","src":"10370:1:8"},{"name":"a","nativeSrc":"10373:1:8","nodeType":"YulIdentifier","src":"10373:1:8"},{"name":"q","nativeSrc":"10376:1:8","nodeType":"YulIdentifier","src":"10376:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10363:6:8","nodeType":"YulIdentifier","src":"10363:6:8"},"nativeSrc":"10363:15:8","nodeType":"YulFunctionCall","src":"10363:15:8"},"variableNames":[{"name":"a","nativeSrc":"10359:1:8","nodeType":"YulIdentifier","src":"10359:1:8"}]},{"nativeSrc":"10412:19:8","nodeType":"YulAssignment","src":"10412:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10423:1:8","nodeType":"YulIdentifier","src":"10423:1:8"},{"name":"a","nativeSrc":"10426:1:8","nodeType":"YulIdentifier","src":"10426:1:8"},{"name":"q","nativeSrc":"10429:1:8","nodeType":"YulIdentifier","src":"10429:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10416:6:8","nodeType":"YulIdentifier","src":"10416:6:8"},"nativeSrc":"10416:15:8","nodeType":"YulFunctionCall","src":"10416:15:8"},"variableNames":[{"name":"a","nativeSrc":"10412:1:8","nodeType":"YulIdentifier","src":"10412:1:8"}]},{"nativeSrc":"10465:19:8","nodeType":"YulAssignment","src":"10465:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10476:1:8","nodeType":"YulIdentifier","src":"10476:1:8"},{"name":"a","nativeSrc":"10479:1:8","nodeType":"YulIdentifier","src":"10479:1:8"},{"name":"q","nativeSrc":"10482:1:8","nodeType":"YulIdentifier","src":"10482:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10469:6:8","nodeType":"YulIdentifier","src":"10469:6:8"},"nativeSrc":"10469:15:8","nodeType":"YulFunctionCall","src":"10469:15:8"},"variableNames":[{"name":"a","nativeSrc":"10465:1:8","nodeType":"YulIdentifier","src":"10465:1:8"}]},{"nativeSrc":"10518:19:8","nodeType":"YulAssignment","src":"10518:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10529:1:8","nodeType":"YulIdentifier","src":"10529:1:8"},{"name":"a","nativeSrc":"10532:1:8","nodeType":"YulIdentifier","src":"10532:1:8"},{"name":"q","nativeSrc":"10535:1:8","nodeType":"YulIdentifier","src":"10535:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10522:6:8","nodeType":"YulIdentifier","src":"10522:6:8"},"nativeSrc":"10522:15:8","nodeType":"YulFunctionCall","src":"10522:15:8"},"variableNames":[{"name":"a","nativeSrc":"10518:1:8","nodeType":"YulIdentifier","src":"10518:1:8"}]},{"nativeSrc":"10571:19:8","nodeType":"YulAssignment","src":"10571:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10582:1:8","nodeType":"YulIdentifier","src":"10582:1:8"},{"name":"a","nativeSrc":"10585:1:8","nodeType":"YulIdentifier","src":"10585:1:8"},{"name":"q","nativeSrc":"10588:1:8","nodeType":"YulIdentifier","src":"10588:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10575:6:8","nodeType":"YulIdentifier","src":"10575:6:8"},"nativeSrc":"10575:15:8","nodeType":"YulFunctionCall","src":"10575:15:8"},"variableNames":[{"name":"a","nativeSrc":"10571:1:8","nodeType":"YulIdentifier","src":"10571:1:8"}]},{"nativeSrc":"10624:19:8","nodeType":"YulAssignment","src":"10624:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10635:1:8","nodeType":"YulIdentifier","src":"10635:1:8"},{"name":"a","nativeSrc":"10638:1:8","nodeType":"YulIdentifier","src":"10638:1:8"},{"name":"q","nativeSrc":"10641:1:8","nodeType":"YulIdentifier","src":"10641:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10628:6:8","nodeType":"YulIdentifier","src":"10628:6:8"},"nativeSrc":"10628:15:8","nodeType":"YulFunctionCall","src":"10628:15:8"},"variableNames":[{"name":"a","nativeSrc":"10624:1:8","nodeType":"YulIdentifier","src":"10624:1:8"}]},{"nativeSrc":"10677:19:8","nodeType":"YulAssignment","src":"10677:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10688:1:8","nodeType":"YulIdentifier","src":"10688:1:8"},{"name":"a","nativeSrc":"10691:1:8","nodeType":"YulIdentifier","src":"10691:1:8"},{"name":"q","nativeSrc":"10694:1:8","nodeType":"YulIdentifier","src":"10694:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10681:6:8","nodeType":"YulIdentifier","src":"10681:6:8"},"nativeSrc":"10681:15:8","nodeType":"YulFunctionCall","src":"10681:15:8"},"variableNames":[{"name":"a","nativeSrc":"10677:1:8","nodeType":"YulIdentifier","src":"10677:1:8"}]},{"nativeSrc":"10730:19:8","nodeType":"YulAssignment","src":"10730:19:8","value":{"arguments":[{"name":"a","nativeSrc":"10741:1:8","nodeType":"YulIdentifier","src":"10741:1:8"},{"name":"a","nativeSrc":"10744:1:8","nodeType":"YulIdentifier","src":"10744:1:8"},{"name":"q","nativeSrc":"10747:1:8","nodeType":"YulIdentifier","src":"10747:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"10734:6:8","nodeType":"YulIdentifier","src":"10734:6:8"},"nativeSrc":"10734:15:8","nodeType":"YulFunctionCall","src":"10734:15:8"},"variableNames":[{"name":"a","nativeSrc":"10730:1:8","nodeType":"YulIdentifier","src":"10730:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10795:4:8","nodeType":"YulIdentifier","src":"10795:4:8"},{"name":"pXin","nativeSrc":"10801:4:8","nodeType":"YulIdentifier","src":"10801:4:8"}],"functionName":{"name":"add","nativeSrc":"10791:3:8","nodeType":"YulIdentifier","src":"10791:3:8"},"nativeSrc":"10791:15:8","nodeType":"YulFunctionCall","src":"10791:15:8"},{"name":"a","nativeSrc":"10808:1:8","nodeType":"YulIdentifier","src":"10808:1:8"}],"functionName":{"name":"mstore","nativeSrc":"10783:6:8","nodeType":"YulIdentifier","src":"10783:6:8"},"nativeSrc":"10783:27:8","nodeType":"YulFunctionCall","src":"10783:27:8"},"nativeSrc":"10783:27:8","nodeType":"YulExpressionStatement","src":"10783:27:8"},{"nativeSrc":"10827:28:8","nodeType":"YulAssignment","src":"10827:28:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"a","nativeSrc":"10843:1:8","nodeType":"YulIdentifier","src":"10843:1:8"},{"kind":"number","nativeSrc":"10846:1:8","nodeType":"YulLiteral","src":"10846:1:8","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"10839:3:8","nodeType":"YulIdentifier","src":"10839:3:8"},"nativeSrc":"10839:9:8","nodeType":"YulFunctionCall","src":"10839:9:8"},{"name":"q","nativeSrc":"10849:1:8","nodeType":"YulIdentifier","src":"10849:1:8"}],"functionName":{"name":"add","nativeSrc":"10835:3:8","nodeType":"YulIdentifier","src":"10835:3:8"},"nativeSrc":"10835:16:8","nodeType":"YulFunctionCall","src":"10835:16:8"},{"name":"q","nativeSrc":"10853:1:8","nodeType":"YulIdentifier","src":"10853:1:8"}],"functionName":{"name":"mod","nativeSrc":"10831:3:8","nodeType":"YulIdentifier","src":"10831:3:8"},"nativeSrc":"10831:24:8","nodeType":"YulFunctionCall","src":"10831:24:8"},"variableNames":[{"name":"a","nativeSrc":"10827:1:8","nodeType":"YulIdentifier","src":"10827:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10884:4:8","nodeType":"YulIdentifier","src":"10884:4:8"},{"name":"pZh","nativeSrc":"10890:3:8","nodeType":"YulIdentifier","src":"10890:3:8"}],"functionName":{"name":"add","nativeSrc":"10880:3:8","nodeType":"YulIdentifier","src":"10880:3:8"},"nativeSrc":"10880:14:8","nodeType":"YulFunctionCall","src":"10880:14:8"},{"name":"a","nativeSrc":"10896:1:8","nodeType":"YulIdentifier","src":"10896:1:8"}],"functionName":{"name":"mstore","nativeSrc":"10872:6:8","nodeType":"YulIdentifier","src":"10872:6:8"},"nativeSrc":"10872:26:8","nodeType":"YulFunctionCall","src":"10872:26:8"},"nativeSrc":"10872:26:8","nodeType":"YulExpressionStatement","src":"10872:26:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"10927:4:8","nodeType":"YulIdentifier","src":"10927:4:8"},{"name":"pZhInv","nativeSrc":"10933:6:8","nodeType":"YulIdentifier","src":"10933:6:8"}],"functionName":{"name":"add","nativeSrc":"10923:3:8","nodeType":"YulIdentifier","src":"10923:3:8"},"nativeSrc":"10923:17:8","nodeType":"YulFunctionCall","src":"10923:17:8"},{"name":"a","nativeSrc":"10942:1:8","nodeType":"YulIdentifier","src":"10942:1:8"}],"functionName":{"name":"mstore","nativeSrc":"10915:6:8","nodeType":"YulIdentifier","src":"10915:6:8"},"nativeSrc":"10915:29:8","nodeType":"YulFunctionCall","src":"10915:29:8"},"nativeSrc":"10915:29:8","nodeType":"YulExpressionStatement","src":"10915:29:8"},{"nativeSrc":"11031:54:8","nodeType":"YulVariableDeclaration","src":"11031:54:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11059:6:8","nodeType":"YulIdentifier","src":"11059:6:8"},{"name":"pEval_a","nativeSrc":"11067:7:8","nodeType":"YulIdentifier","src":"11067:7:8"}],"functionName":{"name":"add","nativeSrc":"11055:3:8","nodeType":"YulIdentifier","src":"11055:3:8"},"nativeSrc":"11055:20:8","nodeType":"YulFunctionCall","src":"11055:20:8"},{"kind":"number","nativeSrc":"11077:3:8","nodeType":"YulLiteral","src":"11077:3:8","type":"","value":"224"}],"functionName":{"name":"keccak256","nativeSrc":"11045:9:8","nodeType":"YulIdentifier","src":"11045:9:8"},"nativeSrc":"11045:36:8","nodeType":"YulFunctionCall","src":"11045:36:8"},{"name":"q","nativeSrc":"11083:1:8","nodeType":"YulIdentifier","src":"11083:1:8"}],"functionName":{"name":"mod","nativeSrc":"11041:3:8","nodeType":"YulIdentifier","src":"11041:3:8"},"nativeSrc":"11041:44:8","nodeType":"YulFunctionCall","src":"11041:44:8"},"variables":[{"name":"v1","nativeSrc":"11035:2:8","nodeType":"YulTypedName","src":"11035:2:8","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11114:4:8","nodeType":"YulIdentifier","src":"11114:4:8"},{"name":"pV1","nativeSrc":"11120:3:8","nodeType":"YulIdentifier","src":"11120:3:8"}],"functionName":{"name":"add","nativeSrc":"11110:3:8","nodeType":"YulIdentifier","src":"11110:3:8"},"nativeSrc":"11110:14:8","nodeType":"YulFunctionCall","src":"11110:14:8"},{"name":"v1","nativeSrc":"11126:2:8","nodeType":"YulIdentifier","src":"11126:2:8"}],"functionName":{"name":"mstore","nativeSrc":"11102:6:8","nodeType":"YulIdentifier","src":"11102:6:8"},"nativeSrc":"11102:27:8","nodeType":"YulFunctionCall","src":"11102:27:8"},"nativeSrc":"11102:27:8","nodeType":"YulExpressionStatement","src":"11102:27:8"},{"nativeSrc":"11146:22:8","nodeType":"YulAssignment","src":"11146:22:8","value":{"arguments":[{"name":"v1","nativeSrc":"11158:2:8","nodeType":"YulIdentifier","src":"11158:2:8"},{"name":"v1","nativeSrc":"11162:2:8","nodeType":"YulIdentifier","src":"11162:2:8"},{"name":"q","nativeSrc":"11166:1:8","nodeType":"YulIdentifier","src":"11166:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"11151:6:8","nodeType":"YulIdentifier","src":"11151:6:8"},"nativeSrc":"11151:17:8","nodeType":"YulFunctionCall","src":"11151:17:8"},"variableNames":[{"name":"a","nativeSrc":"11146:1:8","nodeType":"YulIdentifier","src":"11146:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11197:4:8","nodeType":"YulIdentifier","src":"11197:4:8"},{"name":"pV2","nativeSrc":"11203:3:8","nodeType":"YulIdentifier","src":"11203:3:8"}],"functionName":{"name":"add","nativeSrc":"11193:3:8","nodeType":"YulIdentifier","src":"11193:3:8"},"nativeSrc":"11193:14:8","nodeType":"YulFunctionCall","src":"11193:14:8"},{"name":"a","nativeSrc":"11209:1:8","nodeType":"YulIdentifier","src":"11209:1:8"}],"functionName":{"name":"mstore","nativeSrc":"11185:6:8","nodeType":"YulIdentifier","src":"11185:6:8"},"nativeSrc":"11185:26:8","nodeType":"YulFunctionCall","src":"11185:26:8"},"nativeSrc":"11185:26:8","nodeType":"YulExpressionStatement","src":"11185:26:8"},{"nativeSrc":"11228:21:8","nodeType":"YulAssignment","src":"11228:21:8","value":{"arguments":[{"name":"a","nativeSrc":"11240:1:8","nodeType":"YulIdentifier","src":"11240:1:8"},{"name":"v1","nativeSrc":"11243:2:8","nodeType":"YulIdentifier","src":"11243:2:8"},{"name":"q","nativeSrc":"11247:1:8","nodeType":"YulIdentifier","src":"11247:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"11233:6:8","nodeType":"YulIdentifier","src":"11233:6:8"},"nativeSrc":"11233:16:8","nodeType":"YulFunctionCall","src":"11233:16:8"},"variableNames":[{"name":"a","nativeSrc":"11228:1:8","nodeType":"YulIdentifier","src":"11228:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11278:4:8","nodeType":"YulIdentifier","src":"11278:4:8"},{"name":"pV3","nativeSrc":"11284:3:8","nodeType":"YulIdentifier","src":"11284:3:8"}],"functionName":{"name":"add","nativeSrc":"11274:3:8","nodeType":"YulIdentifier","src":"11274:3:8"},"nativeSrc":"11274:14:8","nodeType":"YulFunctionCall","src":"11274:14:8"},{"name":"a","nativeSrc":"11290:1:8","nodeType":"YulIdentifier","src":"11290:1:8"}],"functionName":{"name":"mstore","nativeSrc":"11266:6:8","nodeType":"YulIdentifier","src":"11266:6:8"},"nativeSrc":"11266:26:8","nodeType":"YulFunctionCall","src":"11266:26:8"},"nativeSrc":"11266:26:8","nodeType":"YulExpressionStatement","src":"11266:26:8"},{"nativeSrc":"11309:21:8","nodeType":"YulAssignment","src":"11309:21:8","value":{"arguments":[{"name":"a","nativeSrc":"11321:1:8","nodeType":"YulIdentifier","src":"11321:1:8"},{"name":"v1","nativeSrc":"11324:2:8","nodeType":"YulIdentifier","src":"11324:2:8"},{"name":"q","nativeSrc":"11328:1:8","nodeType":"YulIdentifier","src":"11328:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"11314:6:8","nodeType":"YulIdentifier","src":"11314:6:8"},"nativeSrc":"11314:16:8","nodeType":"YulFunctionCall","src":"11314:16:8"},"variableNames":[{"name":"a","nativeSrc":"11309:1:8","nodeType":"YulIdentifier","src":"11309:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11359:4:8","nodeType":"YulIdentifier","src":"11359:4:8"},{"name":"pV4","nativeSrc":"11365:3:8","nodeType":"YulIdentifier","src":"11365:3:8"}],"functionName":{"name":"add","nativeSrc":"11355:3:8","nodeType":"YulIdentifier","src":"11355:3:8"},"nativeSrc":"11355:14:8","nodeType":"YulFunctionCall","src":"11355:14:8"},{"name":"a","nativeSrc":"11371:1:8","nodeType":"YulIdentifier","src":"11371:1:8"}],"functionName":{"name":"mstore","nativeSrc":"11347:6:8","nodeType":"YulIdentifier","src":"11347:6:8"},"nativeSrc":"11347:26:8","nodeType":"YulFunctionCall","src":"11347:26:8"},"nativeSrc":"11347:26:8","nodeType":"YulExpressionStatement","src":"11347:26:8"},{"nativeSrc":"11390:21:8","nodeType":"YulAssignment","src":"11390:21:8","value":{"arguments":[{"name":"a","nativeSrc":"11402:1:8","nodeType":"YulIdentifier","src":"11402:1:8"},{"name":"v1","nativeSrc":"11405:2:8","nodeType":"YulIdentifier","src":"11405:2:8"},{"name":"q","nativeSrc":"11409:1:8","nodeType":"YulIdentifier","src":"11409:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"11395:6:8","nodeType":"YulIdentifier","src":"11395:6:8"},"nativeSrc":"11395:16:8","nodeType":"YulFunctionCall","src":"11395:16:8"},"variableNames":[{"name":"a","nativeSrc":"11390:1:8","nodeType":"YulIdentifier","src":"11390:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11440:4:8","nodeType":"YulIdentifier","src":"11440:4:8"},{"name":"pV5","nativeSrc":"11446:3:8","nodeType":"YulIdentifier","src":"11446:3:8"}],"functionName":{"name":"add","nativeSrc":"11436:3:8","nodeType":"YulIdentifier","src":"11436:3:8"},"nativeSrc":"11436:14:8","nodeType":"YulFunctionCall","src":"11436:14:8"},{"name":"a","nativeSrc":"11452:1:8","nodeType":"YulIdentifier","src":"11452:1:8"}],"functionName":{"name":"mstore","nativeSrc":"11428:6:8","nodeType":"YulIdentifier","src":"11428:6:8"},"nativeSrc":"11428:26:8","nodeType":"YulFunctionCall","src":"11428:26:8"},"nativeSrc":"11428:26:8","nodeType":"YulExpressionStatement","src":"11428:26:8"},{"nativeSrc":"11471:21:8","nodeType":"YulAssignment","src":"11471:21:8","value":{"arguments":[{"name":"a","nativeSrc":"11483:1:8","nodeType":"YulIdentifier","src":"11483:1:8"},{"name":"v1","nativeSrc":"11486:2:8","nodeType":"YulIdentifier","src":"11486:2:8"},{"name":"q","nativeSrc":"11490:1:8","nodeType":"YulIdentifier","src":"11490:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"11476:6:8","nodeType":"YulIdentifier","src":"11476:6:8"},"nativeSrc":"11476:16:8","nodeType":"YulFunctionCall","src":"11476:16:8"},"variableNames":[{"name":"a","nativeSrc":"11471:1:8","nodeType":"YulIdentifier","src":"11471:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11521:4:8","nodeType":"YulIdentifier","src":"11521:4:8"},{"name":"pV6","nativeSrc":"11527:3:8","nodeType":"YulIdentifier","src":"11527:3:8"}],"functionName":{"name":"add","nativeSrc":"11517:3:8","nodeType":"YulIdentifier","src":"11517:3:8"},"nativeSrc":"11517:14:8","nodeType":"YulFunctionCall","src":"11517:14:8"},{"name":"a","nativeSrc":"11533:1:8","nodeType":"YulIdentifier","src":"11533:1:8"}],"functionName":{"name":"mstore","nativeSrc":"11509:6:8","nodeType":"YulIdentifier","src":"11509:6:8"},"nativeSrc":"11509:26:8","nodeType":"YulFunctionCall","src":"11509:26:8"},"nativeSrc":"11509:26:8","nodeType":"YulExpressionStatement","src":"11509:26:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11581:4:8","nodeType":"YulIdentifier","src":"11581:4:8"},{"name":"pU","nativeSrc":"11587:2:8","nodeType":"YulIdentifier","src":"11587:2:8"}],"functionName":{"name":"add","nativeSrc":"11577:3:8","nodeType":"YulIdentifier","src":"11577:3:8"},"nativeSrc":"11577:13:8","nodeType":"YulFunctionCall","src":"11577:13:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"11610:6:8","nodeType":"YulIdentifier","src":"11610:6:8"},{"name":"pWxi","nativeSrc":"11618:4:8","nodeType":"YulIdentifier","src":"11618:4:8"}],"functionName":{"name":"add","nativeSrc":"11606:3:8","nodeType":"YulIdentifier","src":"11606:3:8"},"nativeSrc":"11606:17:8","nodeType":"YulFunctionCall","src":"11606:17:8"},{"kind":"number","nativeSrc":"11625:3:8","nodeType":"YulLiteral","src":"11625:3:8","type":"","value":"128"}],"functionName":{"name":"keccak256","nativeSrc":"11596:9:8","nodeType":"YulIdentifier","src":"11596:9:8"},"nativeSrc":"11596:33:8","nodeType":"YulFunctionCall","src":"11596:33:8"},{"name":"q","nativeSrc":"11631:1:8","nodeType":"YulIdentifier","src":"11631:1:8"}],"functionName":{"name":"mod","nativeSrc":"11592:3:8","nodeType":"YulIdentifier","src":"11592:3:8"},"nativeSrc":"11592:41:8","nodeType":"YulFunctionCall","src":"11592:41:8"}],"functionName":{"name":"mstore","nativeSrc":"11569:6:8","nodeType":"YulIdentifier","src":"11569:6:8"},"nativeSrc":"11569:65:8","nodeType":"YulFunctionCall","src":"11569:65:8"},"nativeSrc":"11569:65:8","nodeType":"YulExpressionStatement","src":"11569:65:8"}]},"name":"calculateChallanges","nativeSrc":"8820:2828:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"8849:6:8","nodeType":"YulTypedName","src":"8849:6:8","type":""},{"name":"pMem","nativeSrc":"8857:4:8","nodeType":"YulTypedName","src":"8857:4:8","type":""},{"name":"pPublic","nativeSrc":"8863:7:8","nodeType":"YulTypedName","src":"8863:7:8","type":""}],"src":"8820:2828:8"},{"body":{"nativeSrc":"11707:1140:8","nodeType":"YulBlock","src":"11707:1140:8","statements":[{"nativeSrc":"11726:10:8","nodeType":"YulVariableDeclaration","src":"11726:10:8","value":{"kind":"number","nativeSrc":"11735:1:8","nodeType":"YulLiteral","src":"11735:1:8","type":"","value":"1"},"variables":[{"name":"w","nativeSrc":"11730:1:8","nodeType":"YulTypedName","src":"11730:1:8","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"11818:4:8","nodeType":"YulIdentifier","src":"11818:4:8"},{"name":"pEval_l1","nativeSrc":"11824:8:8","nodeType":"YulIdentifier","src":"11824:8:8"}],"functionName":{"name":"add","nativeSrc":"11814:3:8","nodeType":"YulIdentifier","src":"11814:3:8"},"nativeSrc":"11814:19:8","nodeType":"YulFunctionCall","src":"11814:19:8"},{"arguments":[{"name":"n","nativeSrc":"11888:1:8","nodeType":"YulIdentifier","src":"11888:1:8"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12037:4:8","nodeType":"YulIdentifier","src":"12037:4:8"},{"name":"pXi","nativeSrc":"12043:3:8","nodeType":"YulIdentifier","src":"12043:3:8"}],"functionName":{"name":"add","nativeSrc":"12033:3:8","nodeType":"YulIdentifier","src":"12033:3:8"},"nativeSrc":"12033:14:8","nodeType":"YulFunctionCall","src":"12033:14:8"}],"functionName":{"name":"mload","nativeSrc":"12027:5:8","nodeType":"YulIdentifier","src":"12027:5:8"},"nativeSrc":"12027:21:8","nodeType":"YulFunctionCall","src":"12027:21:8"},{"name":"w","nativeSrc":"12087:1:8","nodeType":"YulIdentifier","src":"12087:1:8"}],"functionName":{"name":"sub","nativeSrc":"11986:3:8","nodeType":"YulIdentifier","src":"11986:3:8"},"nativeSrc":"11986:136:8","nodeType":"YulFunctionCall","src":"11986:136:8"},{"name":"q","nativeSrc":"12157:1:8","nodeType":"YulIdentifier","src":"12157:1:8"}],"functionName":{"name":"add","nativeSrc":"11949:3:8","nodeType":"YulIdentifier","src":"11949:3:8"},"nativeSrc":"11949:239:8","nodeType":"YulFunctionCall","src":"11949:239:8"},{"name":"q","nativeSrc":"12218:1:8","nodeType":"YulIdentifier","src":"12218:1:8"}],"functionName":{"name":"mod","nativeSrc":"11916:3:8","nodeType":"YulIdentifier","src":"11916:3:8"},"nativeSrc":"11916:329:8","nodeType":"YulFunctionCall","src":"11916:329:8"},{"name":"q","nativeSrc":"12272:1:8","nodeType":"YulIdentifier","src":"12272:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"11856:6:8","nodeType":"YulIdentifier","src":"11856:6:8"},"nativeSrc":"11856:439:8","nodeType":"YulFunctionCall","src":"11856:439:8"}],"functionName":{"name":"mstore","nativeSrc":"11786:6:8","nodeType":"YulIdentifier","src":"11786:6:8"},"nativeSrc":"11786:527:8","nodeType":"YulFunctionCall","src":"11786:527:8"},"nativeSrc":"11786:527:8","nodeType":"YulExpressionStatement","src":"11786:527:8"},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12398:4:8","nodeType":"YulIdentifier","src":"12398:4:8"},{"name":"pZhInv","nativeSrc":"12404:6:8","nodeType":"YulIdentifier","src":"12404:6:8"}],"functionName":{"name":"add","nativeSrc":"12394:3:8","nodeType":"YulIdentifier","src":"12394:3:8"},"nativeSrc":"12394:17:8","nodeType":"YulFunctionCall","src":"12394:17:8"},{"kind":"number","nativeSrc":"12413:1:8","nodeType":"YulLiteral","src":"12413:1:8","type":"","value":"2"}],"functionName":{"name":"inverseArray","nativeSrc":"12381:12:8","nodeType":"YulIdentifier","src":"12381:12:8"},"nativeSrc":"12381:35:8","nodeType":"YulFunctionCall","src":"12381:35:8"},"nativeSrc":"12381:35:8","nodeType":"YulExpressionStatement","src":"12381:35:8"},{"nativeSrc":"12450:31:8","nodeType":"YulVariableDeclaration","src":"12450:31:8","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12470:4:8","nodeType":"YulIdentifier","src":"12470:4:8"},{"name":"pZh","nativeSrc":"12476:3:8","nodeType":"YulIdentifier","src":"12476:3:8"}],"functionName":{"name":"add","nativeSrc":"12466:3:8","nodeType":"YulIdentifier","src":"12466:3:8"},"nativeSrc":"12466:14:8","nodeType":"YulFunctionCall","src":"12466:14:8"}],"functionName":{"name":"mload","nativeSrc":"12460:5:8","nodeType":"YulIdentifier","src":"12460:5:8"},"nativeSrc":"12460:21:8","nodeType":"YulFunctionCall","src":"12460:21:8"},"variables":[{"name":"zh","nativeSrc":"12454:2:8","nodeType":"YulTypedName","src":"12454:2:8","type":""}]},{"nativeSrc":"12498:6:8","nodeType":"YulAssignment","src":"12498:6:8","value":{"kind":"number","nativeSrc":"12503:1:8","nodeType":"YulLiteral","src":"12503:1:8","type":"","value":"1"},"variableNames":[{"name":"w","nativeSrc":"12498:1:8","nodeType":"YulIdentifier","src":"12498:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12587:4:8","nodeType":"YulIdentifier","src":"12587:4:8"},{"name":"pEval_l1","nativeSrc":"12593:8:8","nodeType":"YulIdentifier","src":"12593:8:8"}],"functionName":{"name":"add","nativeSrc":"12583:3:8","nodeType":"YulIdentifier","src":"12583:3:8"},"nativeSrc":"12583:20:8","nodeType":"YulFunctionCall","src":"12583:20:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"12668:4:8","nodeType":"YulIdentifier","src":"12668:4:8"},{"name":"pEval_l1","nativeSrc":"12674:8:8","nodeType":"YulIdentifier","src":"12674:8:8"}],"functionName":{"name":"add","nativeSrc":"12664:3:8","nodeType":"YulIdentifier","src":"12664:3:8"},"nativeSrc":"12664:20:8","nodeType":"YulFunctionCall","src":"12664:20:8"}],"functionName":{"name":"mload","nativeSrc":"12658:5:8","nodeType":"YulIdentifier","src":"12658:5:8"},"nativeSrc":"12658:27:8","nodeType":"YulFunctionCall","src":"12658:27:8"},{"name":"zh","nativeSrc":"12711:2:8","nodeType":"YulIdentifier","src":"12711:2:8"},{"name":"q","nativeSrc":"12739:1:8","nodeType":"YulIdentifier","src":"12739:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"12626:6:8","nodeType":"YulIdentifier","src":"12626:6:8"},"nativeSrc":"12626:136:8","nodeType":"YulFunctionCall","src":"12626:136:8"}],"functionName":{"name":"mstore","nativeSrc":"12555:6:8","nodeType":"YulIdentifier","src":"12555:6:8"},"nativeSrc":"12555:225:8","nodeType":"YulFunctionCall","src":"12555:225:8"},"nativeSrc":"12555:225:8","nodeType":"YulExpressionStatement","src":"12555:225:8"}]},"name":"calculateLagrange","nativeSrc":"11674:1173:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"11701:4:8","nodeType":"YulTypedName","src":"11701:4:8","type":""}],"src":"11674:1173:8"},{"body":{"nativeSrc":"12906:618:8","nodeType":"YulBlock","src":"12906:618:8","statements":[{"nativeSrc":"12924:11:8","nodeType":"YulVariableDeclaration","src":"12924:11:8","value":{"kind":"number","nativeSrc":"12934:1:8","nodeType":"YulLiteral","src":"12934:1:8","type":"","value":"0"},"variables":[{"name":"pl","nativeSrc":"12928:2:8","nodeType":"YulTypedName","src":"12928:2:8","type":""}]},{"nativeSrc":"12987:428:8","nodeType":"YulAssignment","src":"12987:428:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pl","nativeSrc":"13080:2:8","nodeType":"YulIdentifier","src":"13080:2:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13164:4:8","nodeType":"YulIdentifier","src":"13164:4:8"},{"name":"pEval_l1","nativeSrc":"13170:8:8","nodeType":"YulIdentifier","src":"13170:8:8"}],"functionName":{"name":"add","nativeSrc":"13160:3:8","nodeType":"YulIdentifier","src":"13160:3:8"},"nativeSrc":"13160:19:8","nodeType":"YulFunctionCall","src":"13160:19:8"}],"functionName":{"name":"mload","nativeSrc":"13154:5:8","nodeType":"YulIdentifier","src":"13154:5:8"},"nativeSrc":"13154:26:8","nodeType":"YulFunctionCall","src":"13154:26:8"},{"arguments":[{"arguments":[{"name":"pPub","nativeSrc":"13224:4:8","nodeType":"YulIdentifier","src":"13224:4:8"},{"kind":"number","nativeSrc":"13230:2:8","nodeType":"YulLiteral","src":"13230:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13220:3:8","nodeType":"YulIdentifier","src":"13220:3:8"},"nativeSrc":"13220:13:8","nodeType":"YulFunctionCall","src":"13220:13:8"}],"functionName":{"name":"mload","nativeSrc":"13214:5:8","nodeType":"YulIdentifier","src":"13214:5:8"},"nativeSrc":"13214:20:8","nodeType":"YulFunctionCall","src":"13214:20:8"},{"name":"q","nativeSrc":"13268:1:8","nodeType":"YulIdentifier","src":"13268:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"13114:6:8","nodeType":"YulIdentifier","src":"13114:6:8"},"nativeSrc":"13114:185:8","nodeType":"YulFunctionCall","src":"13114:185:8"}],"functionName":{"name":"sub","nativeSrc":"13047:3:8","nodeType":"YulIdentifier","src":"13047:3:8"},"nativeSrc":"13047:278:8","nodeType":"YulFunctionCall","src":"13047:278:8"},{"name":"q","nativeSrc":"13351:1:8","nodeType":"YulIdentifier","src":"13351:1:8"}],"functionName":{"name":"add","nativeSrc":"13018:3:8","nodeType":"YulIdentifier","src":"13018:3:8"},"nativeSrc":"13018:356:8","nodeType":"YulFunctionCall","src":"13018:356:8"},{"name":"q","nativeSrc":"13396:1:8","nodeType":"YulIdentifier","src":"13396:1:8"}],"functionName":{"name":"mod","nativeSrc":"12993:3:8","nodeType":"YulIdentifier","src":"12993:3:8"},"nativeSrc":"12993:422:8","nodeType":"YulFunctionCall","src":"12993:422:8"},"variableNames":[{"name":"pl","nativeSrc":"12987:2:8","nodeType":"YulIdentifier","src":"12987:2:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13477:4:8","nodeType":"YulIdentifier","src":"13477:4:8"},{"name":"pPl","nativeSrc":"13483:3:8","nodeType":"YulIdentifier","src":"13483:3:8"}],"functionName":{"name":"add","nativeSrc":"13473:3:8","nodeType":"YulIdentifier","src":"13473:3:8"},"nativeSrc":"13473:14:8","nodeType":"YulFunctionCall","src":"13473:14:8"},{"name":"pl","nativeSrc":"13489:2:8","nodeType":"YulIdentifier","src":"13489:2:8"}],"functionName":{"name":"mstore","nativeSrc":"13466:6:8","nodeType":"YulIdentifier","src":"13466:6:8"},"nativeSrc":"13466:26:8","nodeType":"YulFunctionCall","src":"13466:26:8"},"nativeSrc":"13466:26:8","nodeType":"YulExpressionStatement","src":"13466:26:8"}]},"name":"calculatePl","nativeSrc":"12873:651:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"12894:4:8","nodeType":"YulTypedName","src":"12894:4:8","type":""},{"name":"pPub","nativeSrc":"12900:4:8","nodeType":"YulTypedName","src":"12900:4:8","type":""}],"src":"12873:651:8"},{"body":{"nativeSrc":"13572:2162:8","nodeType":"YulBlock","src":"13572:2162:8","statements":[{"nativeSrc":"13590:5:8","nodeType":"YulVariableDeclaration","src":"13590:5:8","variables":[{"name":"t","nativeSrc":"13594:1:8","nodeType":"YulTypedName","src":"13594:1:8","type":""}]},{"nativeSrc":"13612:6:8","nodeType":"YulVariableDeclaration","src":"13612:6:8","variables":[{"name":"t1","nativeSrc":"13616:2:8","nodeType":"YulTypedName","src":"13616:2:8","type":""}]},{"nativeSrc":"13635:6:8","nodeType":"YulVariableDeclaration","src":"13635:6:8","variables":[{"name":"t2","nativeSrc":"13639:2:8","nodeType":"YulTypedName","src":"13639:2:8","type":""}]},{"nativeSrc":"13658:146:8","nodeType":"YulAssignment","src":"13658:146:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13701:6:8","nodeType":"YulIdentifier","src":"13701:6:8"},{"name":"pEval_r","nativeSrc":"13709:7:8","nodeType":"YulIdentifier","src":"13709:7:8"}],"functionName":{"name":"add","nativeSrc":"13697:3:8","nodeType":"YulIdentifier","src":"13697:3:8"},"nativeSrc":"13697:20:8","nodeType":"YulFunctionCall","src":"13697:20:8"}],"functionName":{"name":"mload","nativeSrc":"13691:5:8","nodeType":"YulIdentifier","src":"13691:5:8"},"nativeSrc":"13691:27:8","nodeType":"YulFunctionCall","src":"13691:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13751:4:8","nodeType":"YulIdentifier","src":"13751:4:8"},{"name":"pPl","nativeSrc":"13757:3:8","nodeType":"YulIdentifier","src":"13757:3:8"}],"functionName":{"name":"add","nativeSrc":"13747:3:8","nodeType":"YulIdentifier","src":"13747:3:8"},"nativeSrc":"13747:14:8","nodeType":"YulFunctionCall","src":"13747:14:8"}],"functionName":{"name":"mload","nativeSrc":"13741:5:8","nodeType":"YulIdentifier","src":"13741:5:8"},"nativeSrc":"13741:21:8","nodeType":"YulFunctionCall","src":"13741:21:8"},{"name":"q","nativeSrc":"13785:1:8","nodeType":"YulIdentifier","src":"13785:1:8"}],"functionName":{"name":"addmod","nativeSrc":"13663:6:8","nodeType":"YulIdentifier","src":"13663:6:8"},"nativeSrc":"13663:141:8","nodeType":"YulFunctionCall","src":"13663:141:8"},"variableNames":[{"name":"t","nativeSrc":"13658:1:8","nodeType":"YulIdentifier","src":"13658:1:8"}]},{"nativeSrc":"13838:148:8","nodeType":"YulAssignment","src":"13838:148:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"13882:6:8","nodeType":"YulIdentifier","src":"13882:6:8"},{"name":"pEval_s1","nativeSrc":"13890:8:8","nodeType":"YulIdentifier","src":"13890:8:8"}],"functionName":{"name":"add","nativeSrc":"13878:3:8","nodeType":"YulIdentifier","src":"13878:3:8"},"nativeSrc":"13878:21:8","nodeType":"YulFunctionCall","src":"13878:21:8"}],"functionName":{"name":"mload","nativeSrc":"13872:5:8","nodeType":"YulIdentifier","src":"13872:5:8"},"nativeSrc":"13872:28:8","nodeType":"YulFunctionCall","src":"13872:28:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"13932:4:8","nodeType":"YulIdentifier","src":"13932:4:8"},{"name":"pBeta","nativeSrc":"13938:5:8","nodeType":"YulIdentifier","src":"13938:5:8"}],"functionName":{"name":"add","nativeSrc":"13928:3:8","nodeType":"YulIdentifier","src":"13928:3:8"},"nativeSrc":"13928:16:8","nodeType":"YulFunctionCall","src":"13928:16:8"}],"functionName":{"name":"mload","nativeSrc":"13922:5:8","nodeType":"YulIdentifier","src":"13922:5:8"},"nativeSrc":"13922:23:8","nodeType":"YulFunctionCall","src":"13922:23:8"},{"name":"q","nativeSrc":"13967:1:8","nodeType":"YulIdentifier","src":"13967:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"13844:6:8","nodeType":"YulIdentifier","src":"13844:6:8"},"nativeSrc":"13844:142:8","nodeType":"YulFunctionCall","src":"13844:142:8"},"variableNames":[{"name":"t1","nativeSrc":"13838:2:8","nodeType":"YulIdentifier","src":"13838:2:8"}]},{"nativeSrc":"14004:126:8","nodeType":"YulAssignment","src":"14004:126:8","value":{"arguments":[{"name":"t1","nativeSrc":"14038:2:8","nodeType":"YulIdentifier","src":"14038:2:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14072:6:8","nodeType":"YulIdentifier","src":"14072:6:8"},{"name":"pEval_a","nativeSrc":"14080:7:8","nodeType":"YulIdentifier","src":"14080:7:8"}],"functionName":{"name":"add","nativeSrc":"14068:3:8","nodeType":"YulIdentifier","src":"14068:3:8"},"nativeSrc":"14068:20:8","nodeType":"YulFunctionCall","src":"14068:20:8"}],"functionName":{"name":"mload","nativeSrc":"14062:5:8","nodeType":"YulIdentifier","src":"14062:5:8"},"nativeSrc":"14062:27:8","nodeType":"YulFunctionCall","src":"14062:27:8"},{"name":"q","nativeSrc":"14111:1:8","nodeType":"YulIdentifier","src":"14111:1:8"}],"functionName":{"name":"addmod","nativeSrc":"14010:6:8","nodeType":"YulIdentifier","src":"14010:6:8"},"nativeSrc":"14010:120:8","nodeType":"YulFunctionCall","src":"14010:120:8"},"variableNames":[{"name":"t1","nativeSrc":"14004:2:8","nodeType":"YulIdentifier","src":"14004:2:8"}]},{"nativeSrc":"14164:123:8","nodeType":"YulAssignment","src":"14164:123:8","value":{"arguments":[{"name":"t1","nativeSrc":"14198:2:8","nodeType":"YulIdentifier","src":"14198:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14232:4:8","nodeType":"YulIdentifier","src":"14232:4:8"},{"name":"pGamma","nativeSrc":"14238:6:8","nodeType":"YulIdentifier","src":"14238:6:8"}],"functionName":{"name":"add","nativeSrc":"14228:3:8","nodeType":"YulIdentifier","src":"14228:3:8"},"nativeSrc":"14228:17:8","nodeType":"YulFunctionCall","src":"14228:17:8"}],"functionName":{"name":"mload","nativeSrc":"14222:5:8","nodeType":"YulIdentifier","src":"14222:5:8"},"nativeSrc":"14222:24:8","nodeType":"YulFunctionCall","src":"14222:24:8"},{"name":"q","nativeSrc":"14268:1:8","nodeType":"YulIdentifier","src":"14268:1:8"}],"functionName":{"name":"addmod","nativeSrc":"14170:6:8","nodeType":"YulIdentifier","src":"14170:6:8"},"nativeSrc":"14170:117:8","nodeType":"YulFunctionCall","src":"14170:117:8"},"variableNames":[{"name":"t1","nativeSrc":"14164:2:8","nodeType":"YulIdentifier","src":"14164:2:8"}]},{"nativeSrc":"14305:148:8","nodeType":"YulAssignment","src":"14305:148:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14349:6:8","nodeType":"YulIdentifier","src":"14349:6:8"},{"name":"pEval_s2","nativeSrc":"14357:8:8","nodeType":"YulIdentifier","src":"14357:8:8"}],"functionName":{"name":"add","nativeSrc":"14345:3:8","nodeType":"YulIdentifier","src":"14345:3:8"},"nativeSrc":"14345:21:8","nodeType":"YulFunctionCall","src":"14345:21:8"}],"functionName":{"name":"mload","nativeSrc":"14339:5:8","nodeType":"YulIdentifier","src":"14339:5:8"},"nativeSrc":"14339:28:8","nodeType":"YulFunctionCall","src":"14339:28:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14399:4:8","nodeType":"YulIdentifier","src":"14399:4:8"},{"name":"pBeta","nativeSrc":"14405:5:8","nodeType":"YulIdentifier","src":"14405:5:8"}],"functionName":{"name":"add","nativeSrc":"14395:3:8","nodeType":"YulIdentifier","src":"14395:3:8"},"nativeSrc":"14395:16:8","nodeType":"YulFunctionCall","src":"14395:16:8"}],"functionName":{"name":"mload","nativeSrc":"14389:5:8","nodeType":"YulIdentifier","src":"14389:5:8"},"nativeSrc":"14389:23:8","nodeType":"YulFunctionCall","src":"14389:23:8"},{"name":"q","nativeSrc":"14434:1:8","nodeType":"YulIdentifier","src":"14434:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"14311:6:8","nodeType":"YulIdentifier","src":"14311:6:8"},"nativeSrc":"14311:142:8","nodeType":"YulFunctionCall","src":"14311:142:8"},"variableNames":[{"name":"t2","nativeSrc":"14305:2:8","nodeType":"YulIdentifier","src":"14305:2:8"}]},{"nativeSrc":"14471:126:8","nodeType":"YulAssignment","src":"14471:126:8","value":{"arguments":[{"name":"t2","nativeSrc":"14505:2:8","nodeType":"YulIdentifier","src":"14505:2:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14539:6:8","nodeType":"YulIdentifier","src":"14539:6:8"},{"name":"pEval_b","nativeSrc":"14547:7:8","nodeType":"YulIdentifier","src":"14547:7:8"}],"functionName":{"name":"add","nativeSrc":"14535:3:8","nodeType":"YulIdentifier","src":"14535:3:8"},"nativeSrc":"14535:20:8","nodeType":"YulFunctionCall","src":"14535:20:8"}],"functionName":{"name":"mload","nativeSrc":"14529:5:8","nodeType":"YulIdentifier","src":"14529:5:8"},"nativeSrc":"14529:27:8","nodeType":"YulFunctionCall","src":"14529:27:8"},{"name":"q","nativeSrc":"14578:1:8","nodeType":"YulIdentifier","src":"14578:1:8"}],"functionName":{"name":"addmod","nativeSrc":"14477:6:8","nodeType":"YulIdentifier","src":"14477:6:8"},"nativeSrc":"14477:120:8","nodeType":"YulFunctionCall","src":"14477:120:8"},"variableNames":[{"name":"t2","nativeSrc":"14471:2:8","nodeType":"YulIdentifier","src":"14471:2:8"}]},{"nativeSrc":"14631:123:8","nodeType":"YulAssignment","src":"14631:123:8","value":{"arguments":[{"name":"t2","nativeSrc":"14665:2:8","nodeType":"YulIdentifier","src":"14665:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14699:4:8","nodeType":"YulIdentifier","src":"14699:4:8"},{"name":"pGamma","nativeSrc":"14705:6:8","nodeType":"YulIdentifier","src":"14705:6:8"}],"functionName":{"name":"add","nativeSrc":"14695:3:8","nodeType":"YulIdentifier","src":"14695:3:8"},"nativeSrc":"14695:17:8","nodeType":"YulFunctionCall","src":"14695:17:8"}],"functionName":{"name":"mload","nativeSrc":"14689:5:8","nodeType":"YulIdentifier","src":"14689:5:8"},"nativeSrc":"14689:24:8","nodeType":"YulFunctionCall","src":"14689:24:8"},{"name":"q","nativeSrc":"14735:1:8","nodeType":"YulIdentifier","src":"14735:1:8"}],"functionName":{"name":"addmod","nativeSrc":"14637:6:8","nodeType":"YulIdentifier","src":"14637:6:8"},"nativeSrc":"14637:117:8","nodeType":"YulFunctionCall","src":"14637:117:8"},"variableNames":[{"name":"t2","nativeSrc":"14631:2:8","nodeType":"YulIdentifier","src":"14631:2:8"}]},{"nativeSrc":"14788:23:8","nodeType":"YulAssignment","src":"14788:23:8","value":{"arguments":[{"name":"t1","nativeSrc":"14801:2:8","nodeType":"YulIdentifier","src":"14801:2:8"},{"name":"t2","nativeSrc":"14805:2:8","nodeType":"YulIdentifier","src":"14805:2:8"},{"name":"q","nativeSrc":"14809:1:8","nodeType":"YulIdentifier","src":"14809:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"14794:6:8","nodeType":"YulIdentifier","src":"14794:6:8"},"nativeSrc":"14794:17:8","nodeType":"YulFunctionCall","src":"14794:17:8"},"variableNames":[{"name":"t1","nativeSrc":"14788:2:8","nodeType":"YulIdentifier","src":"14788:2:8"}]},{"nativeSrc":"14845:148:8","nodeType":"YulAssignment","src":"14845:148:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"14889:6:8","nodeType":"YulIdentifier","src":"14889:6:8"},{"name":"pEval_c","nativeSrc":"14897:7:8","nodeType":"YulIdentifier","src":"14897:7:8"}],"functionName":{"name":"add","nativeSrc":"14885:3:8","nodeType":"YulIdentifier","src":"14885:3:8"},"nativeSrc":"14885:20:8","nodeType":"YulFunctionCall","src":"14885:20:8"}],"functionName":{"name":"mload","nativeSrc":"14879:5:8","nodeType":"YulIdentifier","src":"14879:5:8"},"nativeSrc":"14879:27:8","nodeType":"YulFunctionCall","src":"14879:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"14938:4:8","nodeType":"YulIdentifier","src":"14938:4:8"},{"name":"pGamma","nativeSrc":"14944:6:8","nodeType":"YulIdentifier","src":"14944:6:8"}],"functionName":{"name":"add","nativeSrc":"14934:3:8","nodeType":"YulIdentifier","src":"14934:3:8"},"nativeSrc":"14934:17:8","nodeType":"YulFunctionCall","src":"14934:17:8"}],"functionName":{"name":"mload","nativeSrc":"14928:5:8","nodeType":"YulIdentifier","src":"14928:5:8"},"nativeSrc":"14928:24:8","nodeType":"YulFunctionCall","src":"14928:24:8"},{"name":"q","nativeSrc":"14974:1:8","nodeType":"YulIdentifier","src":"14974:1:8"}],"functionName":{"name":"addmod","nativeSrc":"14851:6:8","nodeType":"YulIdentifier","src":"14851:6:8"},"nativeSrc":"14851:142:8","nodeType":"YulFunctionCall","src":"14851:142:8"},"variableNames":[{"name":"t2","nativeSrc":"14845:2:8","nodeType":"YulIdentifier","src":"14845:2:8"}]},{"nativeSrc":"15011:23:8","nodeType":"YulAssignment","src":"15011:23:8","value":{"arguments":[{"name":"t1","nativeSrc":"15024:2:8","nodeType":"YulIdentifier","src":"15024:2:8"},{"name":"t2","nativeSrc":"15028:2:8","nodeType":"YulIdentifier","src":"15028:2:8"},{"name":"q","nativeSrc":"15032:1:8","nodeType":"YulIdentifier","src":"15032:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"15017:6:8","nodeType":"YulIdentifier","src":"15017:6:8"},"nativeSrc":"15017:17:8","nodeType":"YulFunctionCall","src":"15017:17:8"},"variableNames":[{"name":"t1","nativeSrc":"15011:2:8","nodeType":"YulIdentifier","src":"15011:2:8"}]},{"nativeSrc":"15051:49:8","nodeType":"YulAssignment","src":"15051:49:8","value":{"arguments":[{"name":"t1","nativeSrc":"15064:2:8","nodeType":"YulIdentifier","src":"15064:2:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"15078:6:8","nodeType":"YulIdentifier","src":"15078:6:8"},{"name":"pEval_zw","nativeSrc":"15086:8:8","nodeType":"YulIdentifier","src":"15086:8:8"}],"functionName":{"name":"add","nativeSrc":"15074:3:8","nodeType":"YulIdentifier","src":"15074:3:8"},"nativeSrc":"15074:21:8","nodeType":"YulFunctionCall","src":"15074:21:8"}],"functionName":{"name":"mload","nativeSrc":"15068:5:8","nodeType":"YulIdentifier","src":"15068:5:8"},"nativeSrc":"15068:28:8","nodeType":"YulFunctionCall","src":"15068:28:8"},{"name":"q","nativeSrc":"15098:1:8","nodeType":"YulIdentifier","src":"15098:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"15057:6:8","nodeType":"YulIdentifier","src":"15057:6:8"},"nativeSrc":"15057:43:8","nodeType":"YulFunctionCall","src":"15057:43:8"},"variableNames":[{"name":"t1","nativeSrc":"15051:2:8","nodeType":"YulIdentifier","src":"15051:2:8"}]},{"nativeSrc":"15117:45:8","nodeType":"YulAssignment","src":"15117:45:8","value":{"arguments":[{"name":"t1","nativeSrc":"15130:2:8","nodeType":"YulIdentifier","src":"15130:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15144:4:8","nodeType":"YulIdentifier","src":"15144:4:8"},{"name":"pAlpha","nativeSrc":"15150:6:8","nodeType":"YulIdentifier","src":"15150:6:8"}],"functionName":{"name":"add","nativeSrc":"15140:3:8","nodeType":"YulIdentifier","src":"15140:3:8"},"nativeSrc":"15140:17:8","nodeType":"YulFunctionCall","src":"15140:17:8"}],"functionName":{"name":"mload","nativeSrc":"15134:5:8","nodeType":"YulIdentifier","src":"15134:5:8"},"nativeSrc":"15134:24:8","nodeType":"YulFunctionCall","src":"15134:24:8"},{"name":"q","nativeSrc":"15160:1:8","nodeType":"YulIdentifier","src":"15160:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"15123:6:8","nodeType":"YulIdentifier","src":"15123:6:8"},"nativeSrc":"15123:39:8","nodeType":"YulFunctionCall","src":"15123:39:8"},"variableNames":[{"name":"t1","nativeSrc":"15117:2:8","nodeType":"YulIdentifier","src":"15117:2:8"}]},{"nativeSrc":"15196:149:8","nodeType":"YulAssignment","src":"15196:149:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15240:4:8","nodeType":"YulIdentifier","src":"15240:4:8"},{"name":"pEval_l1","nativeSrc":"15246:8:8","nodeType":"YulIdentifier","src":"15246:8:8"}],"functionName":{"name":"add","nativeSrc":"15236:3:8","nodeType":"YulIdentifier","src":"15236:3:8"},"nativeSrc":"15236:19:8","nodeType":"YulFunctionCall","src":"15236:19:8"}],"functionName":{"name":"mload","nativeSrc":"15230:5:8","nodeType":"YulIdentifier","src":"15230:5:8"},"nativeSrc":"15230:26:8","nodeType":"YulFunctionCall","src":"15230:26:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15289:4:8","nodeType":"YulIdentifier","src":"15289:4:8"},{"name":"pAlpha","nativeSrc":"15295:6:8","nodeType":"YulIdentifier","src":"15295:6:8"}],"functionName":{"name":"add","nativeSrc":"15285:3:8","nodeType":"YulIdentifier","src":"15285:3:8"},"nativeSrc":"15285:17:8","nodeType":"YulFunctionCall","src":"15285:17:8"}],"functionName":{"name":"mload","nativeSrc":"15279:5:8","nodeType":"YulIdentifier","src":"15279:5:8"},"nativeSrc":"15279:24:8","nodeType":"YulFunctionCall","src":"15279:24:8"},{"name":"q","nativeSrc":"15326:1:8","nodeType":"YulIdentifier","src":"15326:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"15202:6:8","nodeType":"YulIdentifier","src":"15202:6:8"},"nativeSrc":"15202:143:8","nodeType":"YulFunctionCall","src":"15202:143:8"},"variableNames":[{"name":"t2","nativeSrc":"15196:2:8","nodeType":"YulIdentifier","src":"15196:2:8"}]},{"nativeSrc":"15363:125:8","nodeType":"YulAssignment","src":"15363:125:8","value":{"arguments":[{"name":"t2","nativeSrc":"15397:2:8","nodeType":"YulIdentifier","src":"15397:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15432:4:8","nodeType":"YulIdentifier","src":"15432:4:8"},{"name":"pAlpha","nativeSrc":"15438:6:8","nodeType":"YulIdentifier","src":"15438:6:8"}],"functionName":{"name":"add","nativeSrc":"15428:3:8","nodeType":"YulIdentifier","src":"15428:3:8"},"nativeSrc":"15428:17:8","nodeType":"YulFunctionCall","src":"15428:17:8"}],"functionName":{"name":"mload","nativeSrc":"15422:5:8","nodeType":"YulIdentifier","src":"15422:5:8"},"nativeSrc":"15422:24:8","nodeType":"YulFunctionCall","src":"15422:24:8"},{"name":"q","nativeSrc":"15469:1:8","nodeType":"YulIdentifier","src":"15469:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"15369:6:8","nodeType":"YulIdentifier","src":"15369:6:8"},"nativeSrc":"15369:119:8","nodeType":"YulFunctionCall","src":"15369:119:8"},"variableNames":[{"name":"t2","nativeSrc":"15363:2:8","nodeType":"YulIdentifier","src":"15363:2:8"}]},{"nativeSrc":"15506:23:8","nodeType":"YulAssignment","src":"15506:23:8","value":{"arguments":[{"name":"t1","nativeSrc":"15519:2:8","nodeType":"YulIdentifier","src":"15519:2:8"},{"name":"t2","nativeSrc":"15523:2:8","nodeType":"YulIdentifier","src":"15523:2:8"},{"name":"q","nativeSrc":"15527:1:8","nodeType":"YulIdentifier","src":"15527:1:8"}],"functionName":{"name":"addmod","nativeSrc":"15512:6:8","nodeType":"YulIdentifier","src":"15512:6:8"},"nativeSrc":"15512:17:8","nodeType":"YulFunctionCall","src":"15512:17:8"},"variableNames":[{"name":"t1","nativeSrc":"15506:2:8","nodeType":"YulIdentifier","src":"15506:2:8"}]},{"nativeSrc":"15563:31:8","nodeType":"YulAssignment","src":"15563:31:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"t","nativeSrc":"15580:1:8","nodeType":"YulIdentifier","src":"15580:1:8"},{"name":"q","nativeSrc":"15583:1:8","nodeType":"YulIdentifier","src":"15583:1:8"}],"functionName":{"name":"add","nativeSrc":"15576:3:8","nodeType":"YulIdentifier","src":"15576:3:8"},"nativeSrc":"15576:9:8","nodeType":"YulFunctionCall","src":"15576:9:8"},{"name":"t1","nativeSrc":"15587:2:8","nodeType":"YulIdentifier","src":"15587:2:8"}],"functionName":{"name":"sub","nativeSrc":"15572:3:8","nodeType":"YulIdentifier","src":"15572:3:8"},"nativeSrc":"15572:18:8","nodeType":"YulFunctionCall","src":"15572:18:8"},{"name":"q","nativeSrc":"15592:1:8","nodeType":"YulIdentifier","src":"15592:1:8"}],"functionName":{"name":"mod","nativeSrc":"15568:3:8","nodeType":"YulIdentifier","src":"15568:3:8"},"nativeSrc":"15568:26:8","nodeType":"YulFunctionCall","src":"15568:26:8"},"variableNames":[{"name":"t","nativeSrc":"15563:1:8","nodeType":"YulIdentifier","src":"15563:1:8"}]},{"nativeSrc":"15611:43:8","nodeType":"YulAssignment","src":"15611:43:8","value":{"arguments":[{"name":"t","nativeSrc":"15623:1:8","nodeType":"YulIdentifier","src":"15623:1:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15636:4:8","nodeType":"YulIdentifier","src":"15636:4:8"},{"name":"pZhInv","nativeSrc":"15642:6:8","nodeType":"YulIdentifier","src":"15642:6:8"}],"functionName":{"name":"add","nativeSrc":"15632:3:8","nodeType":"YulIdentifier","src":"15632:3:8"},"nativeSrc":"15632:17:8","nodeType":"YulFunctionCall","src":"15632:17:8"}],"functionName":{"name":"mload","nativeSrc":"15626:5:8","nodeType":"YulIdentifier","src":"15626:5:8"},"nativeSrc":"15626:24:8","nodeType":"YulFunctionCall","src":"15626:24:8"},{"name":"q","nativeSrc":"15652:1:8","nodeType":"YulIdentifier","src":"15652:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"15616:6:8","nodeType":"YulIdentifier","src":"15616:6:8"},"nativeSrc":"15616:38:8","nodeType":"YulFunctionCall","src":"15616:38:8"},"variableNames":[{"name":"t","nativeSrc":"15611:1:8","nodeType":"YulIdentifier","src":"15611:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"15700:4:8","nodeType":"YulIdentifier","src":"15700:4:8"},{"name":"pEval_t","nativeSrc":"15706:7:8","nodeType":"YulIdentifier","src":"15706:7:8"}],"functionName":{"name":"add","nativeSrc":"15696:3:8","nodeType":"YulIdentifier","src":"15696:3:8"},"nativeSrc":"15696:18:8","nodeType":"YulFunctionCall","src":"15696:18:8"},{"name":"t","nativeSrc":"15717:1:8","nodeType":"YulIdentifier","src":"15717:1:8"}],"functionName":{"name":"mstore","nativeSrc":"15688:6:8","nodeType":"YulIdentifier","src":"15688:6:8"},"nativeSrc":"15688:31:8","nodeType":"YulFunctionCall","src":"15688:31:8"},"nativeSrc":"15688:31:8","nodeType":"YulExpressionStatement","src":"15688:31:8"}]},"name":"calculateT","nativeSrc":"13538:2196:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"13558:6:8","nodeType":"YulTypedName","src":"13558:6:8","type":""},{"name":"pMem","nativeSrc":"13566:4:8","nodeType":"YulTypedName","src":"13566:4:8","type":""}],"src":"13538:2196:8"},{"body":{"nativeSrc":"15784:108:8","nodeType":"YulBlock","src":"15784:108:8","statements":[{"expression":{"arguments":[{"name":"pR","nativeSrc":"15809:2:8","nodeType":"YulIdentifier","src":"15809:2:8"},{"arguments":[{"name":"pP","nativeSrc":"15819:2:8","nodeType":"YulIdentifier","src":"15819:2:8"}],"functionName":{"name":"mload","nativeSrc":"15813:5:8","nodeType":"YulIdentifier","src":"15813:5:8"},"nativeSrc":"15813:9:8","nodeType":"YulFunctionCall","src":"15813:9:8"}],"functionName":{"name":"mstore","nativeSrc":"15802:6:8","nodeType":"YulIdentifier","src":"15802:6:8"},"nativeSrc":"15802:21:8","nodeType":"YulFunctionCall","src":"15802:21:8"},"nativeSrc":"15802:21:8","nodeType":"YulExpressionStatement","src":"15802:21:8"},{"expression":{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"15851:2:8","nodeType":"YulIdentifier","src":"15851:2:8"},{"kind":"number","nativeSrc":"15855:2:8","nodeType":"YulLiteral","src":"15855:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15847:3:8","nodeType":"YulIdentifier","src":"15847:3:8"},"nativeSrc":"15847:11:8","nodeType":"YulFunctionCall","src":"15847:11:8"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"15870:2:8","nodeType":"YulIdentifier","src":"15870:2:8"},{"kind":"number","nativeSrc":"15873:2:8","nodeType":"YulLiteral","src":"15873:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15866:3:8","nodeType":"YulIdentifier","src":"15866:3:8"},"nativeSrc":"15866:10:8","nodeType":"YulFunctionCall","src":"15866:10:8"}],"functionName":{"name":"mload","nativeSrc":"15860:5:8","nodeType":"YulIdentifier","src":"15860:5:8"},"nativeSrc":"15860:17:8","nodeType":"YulFunctionCall","src":"15860:17:8"}],"functionName":{"name":"mstore","nativeSrc":"15840:6:8","nodeType":"YulIdentifier","src":"15840:6:8"},"nativeSrc":"15840:38:8","nodeType":"YulFunctionCall","src":"15840:38:8"},"nativeSrc":"15840:38:8","nodeType":"YulExpressionStatement","src":"15840:38:8"}]},"name":"g1_set","nativeSrc":"15760:132:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15776:2:8","nodeType":"YulTypedName","src":"15776:2:8","type":""},{"name":"pP","nativeSrc":"15780:2:8","nodeType":"YulTypedName","src":"15780:2:8","type":""}],"src":"15760:132:8"},{"body":{"nativeSrc":"15930:474:8","nodeType":"YulBlock","src":"15930:474:8","statements":[{"nativeSrc":"15948:22:8","nodeType":"YulVariableDeclaration","src":"15948:22:8","value":{"arguments":[{"kind":"number","nativeSrc":"15965:4:8","nodeType":"YulLiteral","src":"15965:4:8","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"15959:5:8","nodeType":"YulIdentifier","src":"15959:5:8"},"nativeSrc":"15959:11:8","nodeType":"YulFunctionCall","src":"15959:11:8"},"variables":[{"name":"mIn","nativeSrc":"15952:3:8","nodeType":"YulTypedName","src":"15952:3:8","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"15994:3:8","nodeType":"YulIdentifier","src":"15994:3:8"},{"arguments":[{"name":"pR","nativeSrc":"16005:2:8","nodeType":"YulIdentifier","src":"16005:2:8"}],"functionName":{"name":"mload","nativeSrc":"15999:5:8","nodeType":"YulIdentifier","src":"15999:5:8"},"nativeSrc":"15999:9:8","nodeType":"YulFunctionCall","src":"15999:9:8"}],"functionName":{"name":"mstore","nativeSrc":"15987:6:8","nodeType":"YulIdentifier","src":"15987:6:8"},"nativeSrc":"15987:22:8","nodeType":"YulFunctionCall","src":"15987:22:8"},"nativeSrc":"15987:22:8","nodeType":"YulExpressionStatement","src":"15987:22:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16037:3:8","nodeType":"YulIdentifier","src":"16037:3:8"},{"kind":"number","nativeSrc":"16041:2:8","nodeType":"YulLiteral","src":"16041:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16033:3:8","nodeType":"YulIdentifier","src":"16033:3:8"},"nativeSrc":"16033:11:8","nodeType":"YulFunctionCall","src":"16033:11:8"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16056:2:8","nodeType":"YulIdentifier","src":"16056:2:8"},{"kind":"number","nativeSrc":"16060:2:8","nodeType":"YulLiteral","src":"16060:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16052:3:8","nodeType":"YulIdentifier","src":"16052:3:8"},"nativeSrc":"16052:11:8","nodeType":"YulFunctionCall","src":"16052:11:8"}],"functionName":{"name":"mload","nativeSrc":"16046:5:8","nodeType":"YulIdentifier","src":"16046:5:8"},"nativeSrc":"16046:18:8","nodeType":"YulFunctionCall","src":"16046:18:8"}],"functionName":{"name":"mstore","nativeSrc":"16026:6:8","nodeType":"YulIdentifier","src":"16026:6:8"},"nativeSrc":"16026:39:8","nodeType":"YulFunctionCall","src":"16026:39:8"},"nativeSrc":"16026:39:8","nodeType":"YulExpressionStatement","src":"16026:39:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16093:3:8","nodeType":"YulIdentifier","src":"16093:3:8"},{"kind":"number","nativeSrc":"16097:2:8","nodeType":"YulLiteral","src":"16097:2:8","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16089:3:8","nodeType":"YulIdentifier","src":"16089:3:8"},"nativeSrc":"16089:11:8","nodeType":"YulFunctionCall","src":"16089:11:8"},{"arguments":[{"name":"pP","nativeSrc":"16108:2:8","nodeType":"YulIdentifier","src":"16108:2:8"}],"functionName":{"name":"mload","nativeSrc":"16102:5:8","nodeType":"YulIdentifier","src":"16102:5:8"},"nativeSrc":"16102:9:8","nodeType":"YulFunctionCall","src":"16102:9:8"}],"functionName":{"name":"mstore","nativeSrc":"16082:6:8","nodeType":"YulIdentifier","src":"16082:6:8"},"nativeSrc":"16082:30:8","nodeType":"YulFunctionCall","src":"16082:30:8"},"nativeSrc":"16082:30:8","nodeType":"YulExpressionStatement","src":"16082:30:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16140:3:8","nodeType":"YulIdentifier","src":"16140:3:8"},{"kind":"number","nativeSrc":"16144:2:8","nodeType":"YulLiteral","src":"16144:2:8","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16136:3:8","nodeType":"YulIdentifier","src":"16136:3:8"},"nativeSrc":"16136:11:8","nodeType":"YulFunctionCall","src":"16136:11:8"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16159:2:8","nodeType":"YulIdentifier","src":"16159:2:8"},{"kind":"number","nativeSrc":"16163:2:8","nodeType":"YulLiteral","src":"16163:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16155:3:8","nodeType":"YulIdentifier","src":"16155:3:8"},"nativeSrc":"16155:11:8","nodeType":"YulFunctionCall","src":"16155:11:8"}],"functionName":{"name":"mload","nativeSrc":"16149:5:8","nodeType":"YulIdentifier","src":"16149:5:8"},"nativeSrc":"16149:18:8","nodeType":"YulFunctionCall","src":"16149:18:8"}],"functionName":{"name":"mstore","nativeSrc":"16129:6:8","nodeType":"YulIdentifier","src":"16129:6:8"},"nativeSrc":"16129:39:8","nodeType":"YulFunctionCall","src":"16129:39:8"},"nativeSrc":"16129:39:8","nodeType":"YulExpressionStatement","src":"16129:39:8"},{"nativeSrc":"16186:64:8","nodeType":"YulVariableDeclaration","src":"16186:64:8","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16216:3:8","nodeType":"YulIdentifier","src":"16216:3:8"},"nativeSrc":"16216:5:8","nodeType":"YulFunctionCall","src":"16216:5:8"},{"kind":"number","nativeSrc":"16223:4:8","nodeType":"YulLiteral","src":"16223:4:8","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16212:3:8","nodeType":"YulIdentifier","src":"16212:3:8"},"nativeSrc":"16212:16:8","nodeType":"YulFunctionCall","src":"16212:16:8"},{"kind":"number","nativeSrc":"16230:1:8","nodeType":"YulLiteral","src":"16230:1:8","type":"","value":"6"},{"name":"mIn","nativeSrc":"16233:3:8","nodeType":"YulIdentifier","src":"16233:3:8"},{"kind":"number","nativeSrc":"16238:3:8","nodeType":"YulLiteral","src":"16238:3:8","type":"","value":"128"},{"name":"pR","nativeSrc":"16243:2:8","nodeType":"YulIdentifier","src":"16243:2:8"},{"kind":"number","nativeSrc":"16247:2:8","nodeType":"YulLiteral","src":"16247:2:8","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16201:10:8","nodeType":"YulIdentifier","src":"16201:10:8"},"nativeSrc":"16201:49:8","nodeType":"YulFunctionCall","src":"16201:49:8"},"variables":[{"name":"success","nativeSrc":"16190:7:8","nodeType":"YulTypedName","src":"16190:7:8","type":""}]},{"body":{"nativeSrc":"16303:87:8","nodeType":"YulBlock","src":"16303:87:8","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16332:1:8","nodeType":"YulLiteral","src":"16332:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"16335:1:8","nodeType":"YulLiteral","src":"16335:1:8","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16325:6:8","nodeType":"YulIdentifier","src":"16325:6:8"},"nativeSrc":"16325:12:8","nodeType":"YulFunctionCall","src":"16325:12:8"},"nativeSrc":"16325:12:8","nodeType":"YulExpressionStatement","src":"16325:12:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16365:1:8","nodeType":"YulLiteral","src":"16365:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"16367:4:8","nodeType":"YulLiteral","src":"16367:4:8","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16358:6:8","nodeType":"YulIdentifier","src":"16358:6:8"},"nativeSrc":"16358:14:8","nodeType":"YulFunctionCall","src":"16358:14:8"},"nativeSrc":"16358:14:8","nodeType":"YulExpressionStatement","src":"16358:14:8"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16294:7:8","nodeType":"YulIdentifier","src":"16294:7:8"}],"functionName":{"name":"iszero","nativeSrc":"16287:6:8","nodeType":"YulIdentifier","src":"16287:6:8"},"nativeSrc":"16287:15:8","nodeType":"YulFunctionCall","src":"16287:15:8"},"nativeSrc":"16284:106:8","nodeType":"YulIf","src":"16284:106:8"}]},"name":"g1_acc","nativeSrc":"15906:498:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"15922:2:8","nodeType":"YulTypedName","src":"15922:2:8","type":""},{"name":"pP","nativeSrc":"15926:2:8","nodeType":"YulTypedName","src":"15926:2:8","type":""}],"src":"15906:498:8"},{"body":{"nativeSrc":"16448:789:8","nodeType":"YulBlock","src":"16448:789:8","statements":[{"nativeSrc":"16466:11:8","nodeType":"YulVariableDeclaration","src":"16466:11:8","variables":[{"name":"success","nativeSrc":"16470:7:8","nodeType":"YulTypedName","src":"16470:7:8","type":""}]},{"nativeSrc":"16494:22:8","nodeType":"YulVariableDeclaration","src":"16494:22:8","value":{"arguments":[{"kind":"number","nativeSrc":"16511:4:8","nodeType":"YulLiteral","src":"16511:4:8","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"16505:5:8","nodeType":"YulIdentifier","src":"16505:5:8"},"nativeSrc":"16505:11:8","nodeType":"YulFunctionCall","src":"16505:11:8"},"variables":[{"name":"mIn","nativeSrc":"16498:3:8","nodeType":"YulTypedName","src":"16498:3:8","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"16540:3:8","nodeType":"YulIdentifier","src":"16540:3:8"},{"arguments":[{"name":"pP","nativeSrc":"16551:2:8","nodeType":"YulIdentifier","src":"16551:2:8"}],"functionName":{"name":"mload","nativeSrc":"16545:5:8","nodeType":"YulIdentifier","src":"16545:5:8"},"nativeSrc":"16545:9:8","nodeType":"YulFunctionCall","src":"16545:9:8"}],"functionName":{"name":"mstore","nativeSrc":"16533:6:8","nodeType":"YulIdentifier","src":"16533:6:8"},"nativeSrc":"16533:22:8","nodeType":"YulFunctionCall","src":"16533:22:8"},"nativeSrc":"16533:22:8","nodeType":"YulExpressionStatement","src":"16533:22:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16583:3:8","nodeType":"YulIdentifier","src":"16583:3:8"},{"kind":"number","nativeSrc":"16587:2:8","nodeType":"YulLiteral","src":"16587:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16579:3:8","nodeType":"YulIdentifier","src":"16579:3:8"},"nativeSrc":"16579:11:8","nodeType":"YulFunctionCall","src":"16579:11:8"},{"arguments":[{"arguments":[{"name":"pP","nativeSrc":"16602:2:8","nodeType":"YulIdentifier","src":"16602:2:8"},{"kind":"number","nativeSrc":"16606:2:8","nodeType":"YulLiteral","src":"16606:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16598:3:8","nodeType":"YulIdentifier","src":"16598:3:8"},"nativeSrc":"16598:11:8","nodeType":"YulFunctionCall","src":"16598:11:8"}],"functionName":{"name":"mload","nativeSrc":"16592:5:8","nodeType":"YulIdentifier","src":"16592:5:8"},"nativeSrc":"16592:18:8","nodeType":"YulFunctionCall","src":"16592:18:8"}],"functionName":{"name":"mstore","nativeSrc":"16572:6:8","nodeType":"YulIdentifier","src":"16572:6:8"},"nativeSrc":"16572:39:8","nodeType":"YulFunctionCall","src":"16572:39:8"},"nativeSrc":"16572:39:8","nodeType":"YulExpressionStatement","src":"16572:39:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16639:3:8","nodeType":"YulIdentifier","src":"16639:3:8"},{"kind":"number","nativeSrc":"16643:2:8","nodeType":"YulLiteral","src":"16643:2:8","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16635:3:8","nodeType":"YulIdentifier","src":"16635:3:8"},"nativeSrc":"16635:11:8","nodeType":"YulFunctionCall","src":"16635:11:8"},{"name":"s","nativeSrc":"16648:1:8","nodeType":"YulIdentifier","src":"16648:1:8"}],"functionName":{"name":"mstore","nativeSrc":"16628:6:8","nodeType":"YulIdentifier","src":"16628:6:8"},"nativeSrc":"16628:22:8","nodeType":"YulFunctionCall","src":"16628:22:8"},"nativeSrc":"16628:22:8","nodeType":"YulExpressionStatement","src":"16628:22:8"},{"nativeSrc":"16668:60:8","nodeType":"YulAssignment","src":"16668:60:8","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"16694:3:8","nodeType":"YulIdentifier","src":"16694:3:8"},"nativeSrc":"16694:5:8","nodeType":"YulFunctionCall","src":"16694:5:8"},{"kind":"number","nativeSrc":"16701:4:8","nodeType":"YulLiteral","src":"16701:4:8","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"16690:3:8","nodeType":"YulIdentifier","src":"16690:3:8"},"nativeSrc":"16690:16:8","nodeType":"YulFunctionCall","src":"16690:16:8"},{"kind":"number","nativeSrc":"16708:1:8","nodeType":"YulLiteral","src":"16708:1:8","type":"","value":"7"},{"name":"mIn","nativeSrc":"16711:3:8","nodeType":"YulIdentifier","src":"16711:3:8"},{"kind":"number","nativeSrc":"16716:2:8","nodeType":"YulLiteral","src":"16716:2:8","type":"","value":"96"},{"name":"mIn","nativeSrc":"16720:3:8","nodeType":"YulIdentifier","src":"16720:3:8"},{"kind":"number","nativeSrc":"16725:2:8","nodeType":"YulLiteral","src":"16725:2:8","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"16679:10:8","nodeType":"YulIdentifier","src":"16679:10:8"},"nativeSrc":"16679:49:8","nodeType":"YulFunctionCall","src":"16679:49:8"},"variableNames":[{"name":"success","nativeSrc":"16668:7:8","nodeType":"YulIdentifier","src":"16668:7:8"}]},{"body":{"nativeSrc":"16781:87:8","nodeType":"YulBlock","src":"16781:87:8","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16810:1:8","nodeType":"YulLiteral","src":"16810:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"16813:1:8","nodeType":"YulLiteral","src":"16813:1:8","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"16803:6:8","nodeType":"YulIdentifier","src":"16803:6:8"},"nativeSrc":"16803:12:8","nodeType":"YulFunctionCall","src":"16803:12:8"},"nativeSrc":"16803:12:8","nodeType":"YulExpressionStatement","src":"16803:12:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16843:1:8","nodeType":"YulLiteral","src":"16843:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"16845:4:8","nodeType":"YulLiteral","src":"16845:4:8","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"16836:6:8","nodeType":"YulIdentifier","src":"16836:6:8"},"nativeSrc":"16836:14:8","nodeType":"YulFunctionCall","src":"16836:14:8"},"nativeSrc":"16836:14:8","nodeType":"YulExpressionStatement","src":"16836:14:8"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"16772:7:8","nodeType":"YulIdentifier","src":"16772:7:8"}],"functionName":{"name":"iszero","nativeSrc":"16765:6:8","nodeType":"YulIdentifier","src":"16765:6:8"},"nativeSrc":"16765:15:8","nodeType":"YulFunctionCall","src":"16765:15:8"},"nativeSrc":"16762:106:8","nodeType":"YulIf","src":"16762:106:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16913:3:8","nodeType":"YulIdentifier","src":"16913:3:8"},{"kind":"number","nativeSrc":"16917:2:8","nodeType":"YulLiteral","src":"16917:2:8","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"16909:3:8","nodeType":"YulIdentifier","src":"16909:3:8"},"nativeSrc":"16909:11:8","nodeType":"YulFunctionCall","src":"16909:11:8"},{"arguments":[{"name":"pR","nativeSrc":"16928:2:8","nodeType":"YulIdentifier","src":"16928:2:8"}],"functionName":{"name":"mload","nativeSrc":"16922:5:8","nodeType":"YulIdentifier","src":"16922:5:8"},"nativeSrc":"16922:9:8","nodeType":"YulFunctionCall","src":"16922:9:8"}],"functionName":{"name":"mstore","nativeSrc":"16902:6:8","nodeType":"YulIdentifier","src":"16902:6:8"},"nativeSrc":"16902:30:8","nodeType":"YulFunctionCall","src":"16902:30:8"},"nativeSrc":"16902:30:8","nodeType":"YulExpressionStatement","src":"16902:30:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"16960:3:8","nodeType":"YulIdentifier","src":"16960:3:8"},{"kind":"number","nativeSrc":"16964:2:8","nodeType":"YulLiteral","src":"16964:2:8","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16956:3:8","nodeType":"YulIdentifier","src":"16956:3:8"},"nativeSrc":"16956:11:8","nodeType":"YulFunctionCall","src":"16956:11:8"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"16979:2:8","nodeType":"YulIdentifier","src":"16979:2:8"},{"kind":"number","nativeSrc":"16983:2:8","nodeType":"YulLiteral","src":"16983:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"16975:3:8","nodeType":"YulIdentifier","src":"16975:3:8"},"nativeSrc":"16975:11:8","nodeType":"YulFunctionCall","src":"16975:11:8"}],"functionName":{"name":"mload","nativeSrc":"16969:5:8","nodeType":"YulIdentifier","src":"16969:5:8"},"nativeSrc":"16969:18:8","nodeType":"YulFunctionCall","src":"16969:18:8"}],"functionName":{"name":"mstore","nativeSrc":"16949:6:8","nodeType":"YulIdentifier","src":"16949:6:8"},"nativeSrc":"16949:39:8","nodeType":"YulFunctionCall","src":"16949:39:8"},"nativeSrc":"16949:39:8","nodeType":"YulExpressionStatement","src":"16949:39:8"},{"nativeSrc":"17006:60:8","nodeType":"YulAssignment","src":"17006:60:8","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17032:3:8","nodeType":"YulIdentifier","src":"17032:3:8"},"nativeSrc":"17032:5:8","nodeType":"YulFunctionCall","src":"17032:5:8"},{"kind":"number","nativeSrc":"17039:4:8","nodeType":"YulLiteral","src":"17039:4:8","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17028:3:8","nodeType":"YulIdentifier","src":"17028:3:8"},"nativeSrc":"17028:16:8","nodeType":"YulFunctionCall","src":"17028:16:8"},{"kind":"number","nativeSrc":"17046:1:8","nodeType":"YulLiteral","src":"17046:1:8","type":"","value":"6"},{"name":"mIn","nativeSrc":"17049:3:8","nodeType":"YulIdentifier","src":"17049:3:8"},{"kind":"number","nativeSrc":"17054:3:8","nodeType":"YulLiteral","src":"17054:3:8","type":"","value":"128"},{"name":"pR","nativeSrc":"17059:2:8","nodeType":"YulIdentifier","src":"17059:2:8"},{"kind":"number","nativeSrc":"17063:2:8","nodeType":"YulLiteral","src":"17063:2:8","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17017:10:8","nodeType":"YulIdentifier","src":"17017:10:8"},"nativeSrc":"17017:49:8","nodeType":"YulFunctionCall","src":"17017:49:8"},"variableNames":[{"name":"success","nativeSrc":"17006:7:8","nodeType":"YulIdentifier","src":"17006:7:8"}]},{"body":{"nativeSrc":"17119:87:8","nodeType":"YulBlock","src":"17119:87:8","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17148:1:8","nodeType":"YulLiteral","src":"17148:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"17151:1:8","nodeType":"YulLiteral","src":"17151:1:8","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17141:6:8","nodeType":"YulIdentifier","src":"17141:6:8"},"nativeSrc":"17141:12:8","nodeType":"YulFunctionCall","src":"17141:12:8"},"nativeSrc":"17141:12:8","nodeType":"YulExpressionStatement","src":"17141:12:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17181:1:8","nodeType":"YulLiteral","src":"17181:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"17183:4:8","nodeType":"YulLiteral","src":"17183:4:8","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17174:6:8","nodeType":"YulIdentifier","src":"17174:6:8"},"nativeSrc":"17174:14:8","nodeType":"YulFunctionCall","src":"17174:14:8"},"nativeSrc":"17174:14:8","nodeType":"YulExpressionStatement","src":"17174:14:8"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17110:7:8","nodeType":"YulIdentifier","src":"17110:7:8"}],"functionName":{"name":"iszero","nativeSrc":"17103:6:8","nodeType":"YulIdentifier","src":"17103:6:8"},"nativeSrc":"17103:15:8","nodeType":"YulFunctionCall","src":"17103:15:8"},"nativeSrc":"17100:106:8","nodeType":"YulIf","src":"17100:106:8"}]},"name":"g1_mulAcc","nativeSrc":"16418:819:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"16437:2:8","nodeType":"YulTypedName","src":"16437:2:8","type":""},{"name":"pP","nativeSrc":"16441:2:8","nodeType":"YulTypedName","src":"16441:2:8","type":""},{"name":"s","nativeSrc":"16445:1:8","nodeType":"YulTypedName","src":"16445:1:8","type":""}],"src":"16418:819:8"},{"body":{"nativeSrc":"17284:747:8","nodeType":"YulBlock","src":"17284:747:8","statements":[{"nativeSrc":"17302:11:8","nodeType":"YulVariableDeclaration","src":"17302:11:8","variables":[{"name":"success","nativeSrc":"17306:7:8","nodeType":"YulTypedName","src":"17306:7:8","type":""}]},{"nativeSrc":"17330:22:8","nodeType":"YulVariableDeclaration","src":"17330:22:8","value":{"arguments":[{"kind":"number","nativeSrc":"17347:4:8","nodeType":"YulLiteral","src":"17347:4:8","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17341:5:8","nodeType":"YulIdentifier","src":"17341:5:8"},"nativeSrc":"17341:11:8","nodeType":"YulFunctionCall","src":"17341:11:8"},"variables":[{"name":"mIn","nativeSrc":"17334:3:8","nodeType":"YulTypedName","src":"17334:3:8","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"17376:3:8","nodeType":"YulIdentifier","src":"17376:3:8"},{"name":"x","nativeSrc":"17381:1:8","nodeType":"YulIdentifier","src":"17381:1:8"}],"functionName":{"name":"mstore","nativeSrc":"17369:6:8","nodeType":"YulIdentifier","src":"17369:6:8"},"nativeSrc":"17369:14:8","nodeType":"YulFunctionCall","src":"17369:14:8"},"nativeSrc":"17369:14:8","nodeType":"YulExpressionStatement","src":"17369:14:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17411:3:8","nodeType":"YulIdentifier","src":"17411:3:8"},{"kind":"number","nativeSrc":"17415:2:8","nodeType":"YulLiteral","src":"17415:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17407:3:8","nodeType":"YulIdentifier","src":"17407:3:8"},"nativeSrc":"17407:11:8","nodeType":"YulFunctionCall","src":"17407:11:8"},{"name":"y","nativeSrc":"17420:1:8","nodeType":"YulIdentifier","src":"17420:1:8"}],"functionName":{"name":"mstore","nativeSrc":"17400:6:8","nodeType":"YulIdentifier","src":"17400:6:8"},"nativeSrc":"17400:22:8","nodeType":"YulFunctionCall","src":"17400:22:8"},"nativeSrc":"17400:22:8","nodeType":"YulExpressionStatement","src":"17400:22:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17450:3:8","nodeType":"YulIdentifier","src":"17450:3:8"},{"kind":"number","nativeSrc":"17454:2:8","nodeType":"YulLiteral","src":"17454:2:8","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17446:3:8","nodeType":"YulIdentifier","src":"17446:3:8"},"nativeSrc":"17446:11:8","nodeType":"YulFunctionCall","src":"17446:11:8"},{"name":"s","nativeSrc":"17459:1:8","nodeType":"YulIdentifier","src":"17459:1:8"}],"functionName":{"name":"mstore","nativeSrc":"17439:6:8","nodeType":"YulIdentifier","src":"17439:6:8"},"nativeSrc":"17439:22:8","nodeType":"YulFunctionCall","src":"17439:22:8"},"nativeSrc":"17439:22:8","nodeType":"YulExpressionStatement","src":"17439:22:8"},{"nativeSrc":"17479:60:8","nodeType":"YulAssignment","src":"17479:60:8","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17505:3:8","nodeType":"YulIdentifier","src":"17505:3:8"},"nativeSrc":"17505:5:8","nodeType":"YulFunctionCall","src":"17505:5:8"},{"kind":"number","nativeSrc":"17512:4:8","nodeType":"YulLiteral","src":"17512:4:8","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17501:3:8","nodeType":"YulIdentifier","src":"17501:3:8"},"nativeSrc":"17501:16:8","nodeType":"YulFunctionCall","src":"17501:16:8"},{"kind":"number","nativeSrc":"17519:1:8","nodeType":"YulLiteral","src":"17519:1:8","type":"","value":"7"},{"name":"mIn","nativeSrc":"17522:3:8","nodeType":"YulIdentifier","src":"17522:3:8"},{"kind":"number","nativeSrc":"17527:2:8","nodeType":"YulLiteral","src":"17527:2:8","type":"","value":"96"},{"name":"mIn","nativeSrc":"17531:3:8","nodeType":"YulIdentifier","src":"17531:3:8"},{"kind":"number","nativeSrc":"17536:2:8","nodeType":"YulLiteral","src":"17536:2:8","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17490:10:8","nodeType":"YulIdentifier","src":"17490:10:8"},"nativeSrc":"17490:49:8","nodeType":"YulFunctionCall","src":"17490:49:8"},"variableNames":[{"name":"success","nativeSrc":"17479:7:8","nodeType":"YulIdentifier","src":"17479:7:8"}]},{"body":{"nativeSrc":"17592:87:8","nodeType":"YulBlock","src":"17592:87:8","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17621:1:8","nodeType":"YulLiteral","src":"17621:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"17624:1:8","nodeType":"YulLiteral","src":"17624:1:8","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17614:6:8","nodeType":"YulIdentifier","src":"17614:6:8"},"nativeSrc":"17614:12:8","nodeType":"YulFunctionCall","src":"17614:12:8"},"nativeSrc":"17614:12:8","nodeType":"YulExpressionStatement","src":"17614:12:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17654:1:8","nodeType":"YulLiteral","src":"17654:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"17656:4:8","nodeType":"YulLiteral","src":"17656:4:8","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17647:6:8","nodeType":"YulIdentifier","src":"17647:6:8"},"nativeSrc":"17647:14:8","nodeType":"YulFunctionCall","src":"17647:14:8"},"nativeSrc":"17647:14:8","nodeType":"YulExpressionStatement","src":"17647:14:8"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17583:7:8","nodeType":"YulIdentifier","src":"17583:7:8"}],"functionName":{"name":"iszero","nativeSrc":"17576:6:8","nodeType":"YulIdentifier","src":"17576:6:8"},"nativeSrc":"17576:15:8","nodeType":"YulFunctionCall","src":"17576:15:8"},"nativeSrc":"17573:106:8","nodeType":"YulIf","src":"17573:106:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17724:3:8","nodeType":"YulIdentifier","src":"17724:3:8"},{"kind":"number","nativeSrc":"17728:2:8","nodeType":"YulLiteral","src":"17728:2:8","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17720:3:8","nodeType":"YulIdentifier","src":"17720:3:8"},"nativeSrc":"17720:11:8","nodeType":"YulFunctionCall","src":"17720:11:8"},{"arguments":[{"name":"pR","nativeSrc":"17739:2:8","nodeType":"YulIdentifier","src":"17739:2:8"}],"functionName":{"name":"mload","nativeSrc":"17733:5:8","nodeType":"YulIdentifier","src":"17733:5:8"},"nativeSrc":"17733:9:8","nodeType":"YulFunctionCall","src":"17733:9:8"}],"functionName":{"name":"mstore","nativeSrc":"17713:6:8","nodeType":"YulIdentifier","src":"17713:6:8"},"nativeSrc":"17713:30:8","nodeType":"YulFunctionCall","src":"17713:30:8"},"nativeSrc":"17713:30:8","nodeType":"YulExpressionStatement","src":"17713:30:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"17771:3:8","nodeType":"YulIdentifier","src":"17771:3:8"},{"kind":"number","nativeSrc":"17775:2:8","nodeType":"YulLiteral","src":"17775:2:8","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"17767:3:8","nodeType":"YulIdentifier","src":"17767:3:8"},"nativeSrc":"17767:11:8","nodeType":"YulFunctionCall","src":"17767:11:8"},{"arguments":[{"arguments":[{"name":"pR","nativeSrc":"17790:2:8","nodeType":"YulIdentifier","src":"17790:2:8"},{"kind":"number","nativeSrc":"17794:2:8","nodeType":"YulLiteral","src":"17794:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17786:3:8","nodeType":"YulIdentifier","src":"17786:3:8"},"nativeSrc":"17786:11:8","nodeType":"YulFunctionCall","src":"17786:11:8"}],"functionName":{"name":"mload","nativeSrc":"17780:5:8","nodeType":"YulIdentifier","src":"17780:5:8"},"nativeSrc":"17780:18:8","nodeType":"YulFunctionCall","src":"17780:18:8"}],"functionName":{"name":"mstore","nativeSrc":"17760:6:8","nodeType":"YulIdentifier","src":"17760:6:8"},"nativeSrc":"17760:39:8","nodeType":"YulFunctionCall","src":"17760:39:8"},"nativeSrc":"17760:39:8","nodeType":"YulExpressionStatement","src":"17760:39:8"},{"nativeSrc":"17817:60:8","nodeType":"YulAssignment","src":"17817:60:8","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"17843:3:8","nodeType":"YulIdentifier","src":"17843:3:8"},"nativeSrc":"17843:5:8","nodeType":"YulFunctionCall","src":"17843:5:8"},{"kind":"number","nativeSrc":"17850:4:8","nodeType":"YulLiteral","src":"17850:4:8","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"17839:3:8","nodeType":"YulIdentifier","src":"17839:3:8"},"nativeSrc":"17839:16:8","nodeType":"YulFunctionCall","src":"17839:16:8"},{"kind":"number","nativeSrc":"17857:1:8","nodeType":"YulLiteral","src":"17857:1:8","type":"","value":"6"},{"name":"mIn","nativeSrc":"17860:3:8","nodeType":"YulIdentifier","src":"17860:3:8"},{"kind":"number","nativeSrc":"17865:3:8","nodeType":"YulLiteral","src":"17865:3:8","type":"","value":"128"},{"name":"pR","nativeSrc":"17870:2:8","nodeType":"YulIdentifier","src":"17870:2:8"},{"kind":"number","nativeSrc":"17874:2:8","nodeType":"YulLiteral","src":"17874:2:8","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"17828:10:8","nodeType":"YulIdentifier","src":"17828:10:8"},"nativeSrc":"17828:49:8","nodeType":"YulFunctionCall","src":"17828:49:8"},"variableNames":[{"name":"success","nativeSrc":"17817:7:8","nodeType":"YulIdentifier","src":"17817:7:8"}]},{"body":{"nativeSrc":"17930:87:8","nodeType":"YulBlock","src":"17930:87:8","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17959:1:8","nodeType":"YulLiteral","src":"17959:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"17962:1:8","nodeType":"YulLiteral","src":"17962:1:8","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"17952:6:8","nodeType":"YulIdentifier","src":"17952:6:8"},"nativeSrc":"17952:12:8","nodeType":"YulFunctionCall","src":"17952:12:8"},"nativeSrc":"17952:12:8","nodeType":"YulExpressionStatement","src":"17952:12:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17992:1:8","nodeType":"YulLiteral","src":"17992:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"17994:4:8","nodeType":"YulLiteral","src":"17994:4:8","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"17985:6:8","nodeType":"YulIdentifier","src":"17985:6:8"},"nativeSrc":"17985:14:8","nodeType":"YulFunctionCall","src":"17985:14:8"},"nativeSrc":"17985:14:8","nodeType":"YulExpressionStatement","src":"17985:14:8"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"17921:7:8","nodeType":"YulIdentifier","src":"17921:7:8"}],"functionName":{"name":"iszero","nativeSrc":"17914:6:8","nodeType":"YulIdentifier","src":"17914:6:8"},"nativeSrc":"17914:15:8","nodeType":"YulFunctionCall","src":"17914:15:8"},"nativeSrc":"17911:106:8","nodeType":"YulIf","src":"17911:106:8"}]},"name":"g1_mulAccC","nativeSrc":"17251:780:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"17271:2:8","nodeType":"YulTypedName","src":"17271:2:8","type":""},{"name":"x","nativeSrc":"17275:1:8","nodeType":"YulTypedName","src":"17275:1:8","type":""},{"name":"y","nativeSrc":"17278:1:8","nodeType":"YulTypedName","src":"17278:1:8","type":""},{"name":"s","nativeSrc":"17281:1:8","nodeType":"YulTypedName","src":"17281:1:8","type":""}],"src":"17251:780:8"},{"body":{"nativeSrc":"18078:408:8","nodeType":"YulBlock","src":"18078:408:8","statements":[{"nativeSrc":"18096:11:8","nodeType":"YulVariableDeclaration","src":"18096:11:8","variables":[{"name":"success","nativeSrc":"18100:7:8","nodeType":"YulTypedName","src":"18100:7:8","type":""}]},{"nativeSrc":"18124:22:8","nodeType":"YulVariableDeclaration","src":"18124:22:8","value":{"arguments":[{"kind":"number","nativeSrc":"18141:4:8","nodeType":"YulLiteral","src":"18141:4:8","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"18135:5:8","nodeType":"YulIdentifier","src":"18135:5:8"},"nativeSrc":"18135:11:8","nodeType":"YulFunctionCall","src":"18135:11:8"},"variables":[{"name":"mIn","nativeSrc":"18128:3:8","nodeType":"YulTypedName","src":"18128:3:8","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"18170:3:8","nodeType":"YulIdentifier","src":"18170:3:8"},{"name":"x","nativeSrc":"18175:1:8","nodeType":"YulIdentifier","src":"18175:1:8"}],"functionName":{"name":"mstore","nativeSrc":"18163:6:8","nodeType":"YulIdentifier","src":"18163:6:8"},"nativeSrc":"18163:14:8","nodeType":"YulFunctionCall","src":"18163:14:8"},"nativeSrc":"18163:14:8","nodeType":"YulExpressionStatement","src":"18163:14:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18205:3:8","nodeType":"YulIdentifier","src":"18205:3:8"},{"kind":"number","nativeSrc":"18209:2:8","nodeType":"YulLiteral","src":"18209:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"18201:3:8","nodeType":"YulIdentifier","src":"18201:3:8"},"nativeSrc":"18201:11:8","nodeType":"YulFunctionCall","src":"18201:11:8"},{"name":"y","nativeSrc":"18214:1:8","nodeType":"YulIdentifier","src":"18214:1:8"}],"functionName":{"name":"mstore","nativeSrc":"18194:6:8","nodeType":"YulIdentifier","src":"18194:6:8"},"nativeSrc":"18194:22:8","nodeType":"YulFunctionCall","src":"18194:22:8"},"nativeSrc":"18194:22:8","nodeType":"YulExpressionStatement","src":"18194:22:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"18244:3:8","nodeType":"YulIdentifier","src":"18244:3:8"},{"kind":"number","nativeSrc":"18248:2:8","nodeType":"YulLiteral","src":"18248:2:8","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"18240:3:8","nodeType":"YulIdentifier","src":"18240:3:8"},"nativeSrc":"18240:11:8","nodeType":"YulFunctionCall","src":"18240:11:8"},{"name":"s","nativeSrc":"18253:1:8","nodeType":"YulIdentifier","src":"18253:1:8"}],"functionName":{"name":"mstore","nativeSrc":"18233:6:8","nodeType":"YulIdentifier","src":"18233:6:8"},"nativeSrc":"18233:22:8","nodeType":"YulFunctionCall","src":"18233:22:8"},"nativeSrc":"18233:22:8","nodeType":"YulExpressionStatement","src":"18233:22:8"},{"nativeSrc":"18273:59:8","nodeType":"YulAssignment","src":"18273:59:8","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"18299:3:8","nodeType":"YulIdentifier","src":"18299:3:8"},"nativeSrc":"18299:5:8","nodeType":"YulFunctionCall","src":"18299:5:8"},{"kind":"number","nativeSrc":"18306:4:8","nodeType":"YulLiteral","src":"18306:4:8","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"18295:3:8","nodeType":"YulIdentifier","src":"18295:3:8"},"nativeSrc":"18295:16:8","nodeType":"YulFunctionCall","src":"18295:16:8"},{"kind":"number","nativeSrc":"18313:1:8","nodeType":"YulLiteral","src":"18313:1:8","type":"","value":"7"},{"name":"mIn","nativeSrc":"18316:3:8","nodeType":"YulIdentifier","src":"18316:3:8"},{"kind":"number","nativeSrc":"18321:2:8","nodeType":"YulLiteral","src":"18321:2:8","type":"","value":"96"},{"name":"pR","nativeSrc":"18325:2:8","nodeType":"YulIdentifier","src":"18325:2:8"},{"kind":"number","nativeSrc":"18329:2:8","nodeType":"YulLiteral","src":"18329:2:8","type":"","value":"64"}],"functionName":{"name":"staticcall","nativeSrc":"18284:10:8","nodeType":"YulIdentifier","src":"18284:10:8"},"nativeSrc":"18284:48:8","nodeType":"YulFunctionCall","src":"18284:48:8"},"variableNames":[{"name":"success","nativeSrc":"18273:7:8","nodeType":"YulIdentifier","src":"18273:7:8"}]},{"body":{"nativeSrc":"18385:87:8","nodeType":"YulBlock","src":"18385:87:8","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"18414:1:8","nodeType":"YulLiteral","src":"18414:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"18417:1:8","nodeType":"YulLiteral","src":"18417:1:8","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"18407:6:8","nodeType":"YulIdentifier","src":"18407:6:8"},"nativeSrc":"18407:12:8","nodeType":"YulFunctionCall","src":"18407:12:8"},"nativeSrc":"18407:12:8","nodeType":"YulExpressionStatement","src":"18407:12:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18447:1:8","nodeType":"YulLiteral","src":"18447:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"18449:4:8","nodeType":"YulLiteral","src":"18449:4:8","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"18440:6:8","nodeType":"YulIdentifier","src":"18440:6:8"},"nativeSrc":"18440:14:8","nodeType":"YulFunctionCall","src":"18440:14:8"},"nativeSrc":"18440:14:8","nodeType":"YulExpressionStatement","src":"18440:14:8"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"18376:7:8","nodeType":"YulIdentifier","src":"18376:7:8"}],"functionName":{"name":"iszero","nativeSrc":"18369:6:8","nodeType":"YulIdentifier","src":"18369:6:8"},"nativeSrc":"18369:15:8","nodeType":"YulFunctionCall","src":"18369:15:8"},"nativeSrc":"18366:106:8","nodeType":"YulIf","src":"18366:106:8"}]},"name":"g1_mulSetC","nativeSrc":"18045:441:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nativeSrc":"18065:2:8","nodeType":"YulTypedName","src":"18065:2:8","type":""},{"name":"x","nativeSrc":"18069:1:8","nodeType":"YulTypedName","src":"18069:1:8","type":""},{"name":"y","nativeSrc":"18072:1:8","nodeType":"YulTypedName","src":"18072:1:8","type":""},{"name":"s","nativeSrc":"18075:1:8","nodeType":"YulTypedName","src":"18075:1:8","type":""}],"src":"18045:441:8"},{"body":{"nativeSrc":"18536:171:8","nodeType":"YulBlock","src":"18536:171:8","statements":[{"nativeSrc":"18554:23:8","nodeType":"YulVariableDeclaration","src":"18554:23:8","value":{"arguments":[{"name":"pMem","nativeSrc":"18567:4:8","nodeType":"YulIdentifier","src":"18567:4:8"},{"name":"pA1","nativeSrc":"18573:3:8","nodeType":"YulIdentifier","src":"18573:3:8"}],"functionName":{"name":"add","nativeSrc":"18563:3:8","nodeType":"YulIdentifier","src":"18563:3:8"},"nativeSrc":"18563:14:8","nodeType":"YulFunctionCall","src":"18563:14:8"},"variables":[{"name":"p","nativeSrc":"18558:1:8","nodeType":"YulTypedName","src":"18558:1:8","type":""}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"18601:1:8","nodeType":"YulIdentifier","src":"18601:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"18608:6:8","nodeType":"YulIdentifier","src":"18608:6:8"},{"name":"pWxi","nativeSrc":"18616:4:8","nodeType":"YulIdentifier","src":"18616:4:8"}],"functionName":{"name":"add","nativeSrc":"18604:3:8","nodeType":"YulIdentifier","src":"18604:3:8"},"nativeSrc":"18604:17:8","nodeType":"YulFunctionCall","src":"18604:17:8"}],"functionName":{"name":"g1_set","nativeSrc":"18594:6:8","nodeType":"YulIdentifier","src":"18594:6:8"},"nativeSrc":"18594:28:8","nodeType":"YulFunctionCall","src":"18594:28:8"},"nativeSrc":"18594:28:8","nodeType":"YulExpressionStatement","src":"18594:28:8"},{"expression":{"arguments":[{"name":"p","nativeSrc":"18649:1:8","nodeType":"YulIdentifier","src":"18649:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"18656:6:8","nodeType":"YulIdentifier","src":"18656:6:8"},{"name":"pWxiw","nativeSrc":"18664:5:8","nodeType":"YulIdentifier","src":"18664:5:8"}],"functionName":{"name":"add","nativeSrc":"18652:3:8","nodeType":"YulIdentifier","src":"18652:3:8"},"nativeSrc":"18652:18:8","nodeType":"YulFunctionCall","src":"18652:18:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18682:4:8","nodeType":"YulIdentifier","src":"18682:4:8"},{"name":"pU","nativeSrc":"18688:2:8","nodeType":"YulIdentifier","src":"18688:2:8"}],"functionName":{"name":"add","nativeSrc":"18678:3:8","nodeType":"YulIdentifier","src":"18678:3:8"},"nativeSrc":"18678:13:8","nodeType":"YulFunctionCall","src":"18678:13:8"}],"functionName":{"name":"mload","nativeSrc":"18672:5:8","nodeType":"YulIdentifier","src":"18672:5:8"},"nativeSrc":"18672:20:8","nodeType":"YulFunctionCall","src":"18672:20:8"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"18639:9:8","nodeType":"YulIdentifier","src":"18639:9:8"},"nativeSrc":"18639:54:8","nodeType":"YulFunctionCall","src":"18639:54:8"},"nativeSrc":"18639:54:8","nodeType":"YulExpressionStatement","src":"18639:54:8"}]},"name":"calculateA1","nativeSrc":"18501:206:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18522:6:8","nodeType":"YulTypedName","src":"18522:6:8","type":""},{"name":"pMem","nativeSrc":"18530:4:8","nodeType":"YulTypedName","src":"18530:4:8","type":""}],"src":"18501:206:8"},{"body":{"nativeSrc":"18781:4443:8","nodeType":"YulBlock","src":"18781:4443:8","statements":[{"nativeSrc":"18799:5:8","nodeType":"YulVariableDeclaration","src":"18799:5:8","variables":[{"name":"s","nativeSrc":"18803:1:8","nodeType":"YulTypedName","src":"18803:1:8","type":""}]},{"nativeSrc":"18821:6:8","nodeType":"YulVariableDeclaration","src":"18821:6:8","variables":[{"name":"s1","nativeSrc":"18825:2:8","nodeType":"YulTypedName","src":"18825:2:8","type":""}]},{"nativeSrc":"18844:23:8","nodeType":"YulVariableDeclaration","src":"18844:23:8","value":{"arguments":[{"name":"pMem","nativeSrc":"18857:4:8","nodeType":"YulIdentifier","src":"18857:4:8"},{"name":"pB1","nativeSrc":"18863:3:8","nodeType":"YulIdentifier","src":"18863:3:8"}],"functionName":{"name":"add","nativeSrc":"18853:3:8","nodeType":"YulIdentifier","src":"18853:3:8"},"nativeSrc":"18853:14:8","nodeType":"YulFunctionCall","src":"18853:14:8"},"variables":[{"name":"p","nativeSrc":"18848:1:8","nodeType":"YulTypedName","src":"18848:1:8","type":""}]},{"nativeSrc":"18932:67:8","nodeType":"YulAssignment","src":"18932:67:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"18955:6:8","nodeType":"YulIdentifier","src":"18955:6:8"},{"name":"pEval_a","nativeSrc":"18963:7:8","nodeType":"YulIdentifier","src":"18963:7:8"}],"functionName":{"name":"add","nativeSrc":"18951:3:8","nodeType":"YulIdentifier","src":"18951:3:8"},"nativeSrc":"18951:20:8","nodeType":"YulFunctionCall","src":"18951:20:8"}],"functionName":{"name":"mload","nativeSrc":"18945:5:8","nodeType":"YulIdentifier","src":"18945:5:8"},"nativeSrc":"18945:27:8","nodeType":"YulFunctionCall","src":"18945:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"18984:4:8","nodeType":"YulIdentifier","src":"18984:4:8"},{"name":"pV1","nativeSrc":"18990:3:8","nodeType":"YulIdentifier","src":"18990:3:8"}],"functionName":{"name":"add","nativeSrc":"18980:3:8","nodeType":"YulIdentifier","src":"18980:3:8"},"nativeSrc":"18980:14:8","nodeType":"YulFunctionCall","src":"18980:14:8"}],"functionName":{"name":"mload","nativeSrc":"18974:5:8","nodeType":"YulIdentifier","src":"18974:5:8"},"nativeSrc":"18974:21:8","nodeType":"YulFunctionCall","src":"18974:21:8"},{"name":"q","nativeSrc":"18997:1:8","nodeType":"YulIdentifier","src":"18997:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"18937:6:8","nodeType":"YulIdentifier","src":"18937:6:8"},"nativeSrc":"18937:62:8","nodeType":"YulFunctionCall","src":"18937:62:8"},"variableNames":[{"name":"s","nativeSrc":"18932:1:8","nodeType":"YulIdentifier","src":"18932:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19027:1:8","nodeType":"YulIdentifier","src":"19027:1:8"},{"name":"Qlx","nativeSrc":"19030:3:8","nodeType":"YulIdentifier","src":"19030:3:8"},{"name":"Qly","nativeSrc":"19035:3:8","nodeType":"YulIdentifier","src":"19035:3:8"},{"name":"s","nativeSrc":"19040:1:8","nodeType":"YulIdentifier","src":"19040:1:8"}],"functionName":{"name":"g1_mulSetC","nativeSrc":"19016:10:8","nodeType":"YulIdentifier","src":"19016:10:8"},"nativeSrc":"19016:26:8","nodeType":"YulFunctionCall","src":"19016:26:8"},"nativeSrc":"19016:26:8","nodeType":"YulExpressionStatement","src":"19016:26:8"},{"nativeSrc":"19060:47:8","nodeType":"YulAssignment","src":"19060:47:8","value":{"arguments":[{"name":"s","nativeSrc":"19073:1:8","nodeType":"YulIdentifier","src":"19073:1:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19086:6:8","nodeType":"YulIdentifier","src":"19086:6:8"},{"name":"pEval_b","nativeSrc":"19094:7:8","nodeType":"YulIdentifier","src":"19094:7:8"}],"functionName":{"name":"add","nativeSrc":"19082:3:8","nodeType":"YulIdentifier","src":"19082:3:8"},"nativeSrc":"19082:20:8","nodeType":"YulFunctionCall","src":"19082:20:8"}],"functionName":{"name":"mload","nativeSrc":"19076:5:8","nodeType":"YulIdentifier","src":"19076:5:8"},"nativeSrc":"19076:27:8","nodeType":"YulFunctionCall","src":"19076:27:8"},{"name":"q","nativeSrc":"19105:1:8","nodeType":"YulIdentifier","src":"19105:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"19065:6:8","nodeType":"YulIdentifier","src":"19065:6:8"},"nativeSrc":"19065:42:8","nodeType":"YulFunctionCall","src":"19065:42:8"},"variableNames":[{"name":"s","nativeSrc":"19060:1:8","nodeType":"YulIdentifier","src":"19060:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19151:1:8","nodeType":"YulIdentifier","src":"19151:1:8"},{"name":"Qmx","nativeSrc":"19154:3:8","nodeType":"YulIdentifier","src":"19154:3:8"},{"name":"Qmy","nativeSrc":"19159:3:8","nodeType":"YulIdentifier","src":"19159:3:8"},{"name":"s","nativeSrc":"19164:1:8","nodeType":"YulIdentifier","src":"19164:1:8"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19140:10:8","nodeType":"YulIdentifier","src":"19140:10:8"},"nativeSrc":"19140:26:8","nodeType":"YulFunctionCall","src":"19140:26:8"},"nativeSrc":"19140:26:8","nodeType":"YulExpressionStatement","src":"19140:26:8"},{"nativeSrc":"19184:67:8","nodeType":"YulAssignment","src":"19184:67:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19207:6:8","nodeType":"YulIdentifier","src":"19207:6:8"},{"name":"pEval_b","nativeSrc":"19215:7:8","nodeType":"YulIdentifier","src":"19215:7:8"}],"functionName":{"name":"add","nativeSrc":"19203:3:8","nodeType":"YulIdentifier","src":"19203:3:8"},"nativeSrc":"19203:20:8","nodeType":"YulFunctionCall","src":"19203:20:8"}],"functionName":{"name":"mload","nativeSrc":"19197:5:8","nodeType":"YulIdentifier","src":"19197:5:8"},"nativeSrc":"19197:27:8","nodeType":"YulFunctionCall","src":"19197:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19236:4:8","nodeType":"YulIdentifier","src":"19236:4:8"},{"name":"pV1","nativeSrc":"19242:3:8","nodeType":"YulIdentifier","src":"19242:3:8"}],"functionName":{"name":"add","nativeSrc":"19232:3:8","nodeType":"YulIdentifier","src":"19232:3:8"},"nativeSrc":"19232:14:8","nodeType":"YulFunctionCall","src":"19232:14:8"}],"functionName":{"name":"mload","nativeSrc":"19226:5:8","nodeType":"YulIdentifier","src":"19226:5:8"},"nativeSrc":"19226:21:8","nodeType":"YulFunctionCall","src":"19226:21:8"},{"name":"q","nativeSrc":"19249:1:8","nodeType":"YulIdentifier","src":"19249:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"19189:6:8","nodeType":"YulIdentifier","src":"19189:6:8"},"nativeSrc":"19189:62:8","nodeType":"YulFunctionCall","src":"19189:62:8"},"variableNames":[{"name":"s","nativeSrc":"19184:1:8","nodeType":"YulIdentifier","src":"19184:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19279:1:8","nodeType":"YulIdentifier","src":"19279:1:8"},{"name":"Qrx","nativeSrc":"19282:3:8","nodeType":"YulIdentifier","src":"19282:3:8"},{"name":"Qry","nativeSrc":"19287:3:8","nodeType":"YulIdentifier","src":"19287:3:8"},{"name":"s","nativeSrc":"19292:1:8","nodeType":"YulIdentifier","src":"19292:1:8"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19268:10:8","nodeType":"YulIdentifier","src":"19268:10:8"},"nativeSrc":"19268:26:8","nodeType":"YulFunctionCall","src":"19268:26:8"},"nativeSrc":"19268:26:8","nodeType":"YulExpressionStatement","src":"19268:26:8"},{"nativeSrc":"19328:67:8","nodeType":"YulAssignment","src":"19328:67:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19351:6:8","nodeType":"YulIdentifier","src":"19351:6:8"},{"name":"pEval_c","nativeSrc":"19359:7:8","nodeType":"YulIdentifier","src":"19359:7:8"}],"functionName":{"name":"add","nativeSrc":"19347:3:8","nodeType":"YulIdentifier","src":"19347:3:8"},"nativeSrc":"19347:20:8","nodeType":"YulFunctionCall","src":"19347:20:8"}],"functionName":{"name":"mload","nativeSrc":"19341:5:8","nodeType":"YulIdentifier","src":"19341:5:8"},"nativeSrc":"19341:27:8","nodeType":"YulFunctionCall","src":"19341:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19380:4:8","nodeType":"YulIdentifier","src":"19380:4:8"},{"name":"pV1","nativeSrc":"19386:3:8","nodeType":"YulIdentifier","src":"19386:3:8"}],"functionName":{"name":"add","nativeSrc":"19376:3:8","nodeType":"YulIdentifier","src":"19376:3:8"},"nativeSrc":"19376:14:8","nodeType":"YulFunctionCall","src":"19376:14:8"}],"functionName":{"name":"mload","nativeSrc":"19370:5:8","nodeType":"YulIdentifier","src":"19370:5:8"},"nativeSrc":"19370:21:8","nodeType":"YulFunctionCall","src":"19370:21:8"},{"name":"q","nativeSrc":"19393:1:8","nodeType":"YulIdentifier","src":"19393:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"19333:6:8","nodeType":"YulIdentifier","src":"19333:6:8"},"nativeSrc":"19333:62:8","nodeType":"YulFunctionCall","src":"19333:62:8"},"variableNames":[{"name":"s","nativeSrc":"19328:1:8","nodeType":"YulIdentifier","src":"19328:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19423:1:8","nodeType":"YulIdentifier","src":"19423:1:8"},{"name":"Qox","nativeSrc":"19426:3:8","nodeType":"YulIdentifier","src":"19426:3:8"},{"name":"Qoy","nativeSrc":"19431:3:8","nodeType":"YulIdentifier","src":"19431:3:8"},{"name":"s","nativeSrc":"19436:1:8","nodeType":"YulIdentifier","src":"19436:1:8"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19412:10:8","nodeType":"YulIdentifier","src":"19412:10:8"},"nativeSrc":"19412:26:8","nodeType":"YulFunctionCall","src":"19412:26:8"},"nativeSrc":"19412:26:8","nodeType":"YulExpressionStatement","src":"19412:26:8"},{"nativeSrc":"19456:25:8","nodeType":"YulAssignment","src":"19456:25:8","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19470:4:8","nodeType":"YulIdentifier","src":"19470:4:8"},{"name":"pV1","nativeSrc":"19476:3:8","nodeType":"YulIdentifier","src":"19476:3:8"}],"functionName":{"name":"add","nativeSrc":"19466:3:8","nodeType":"YulIdentifier","src":"19466:3:8"},"nativeSrc":"19466:14:8","nodeType":"YulFunctionCall","src":"19466:14:8"}],"functionName":{"name":"mload","nativeSrc":"19460:5:8","nodeType":"YulIdentifier","src":"19460:5:8"},"nativeSrc":"19460:21:8","nodeType":"YulFunctionCall","src":"19460:21:8"},"variableNames":[{"name":"s","nativeSrc":"19456:1:8","nodeType":"YulIdentifier","src":"19456:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"19509:1:8","nodeType":"YulIdentifier","src":"19509:1:8"},{"name":"Qcx","nativeSrc":"19512:3:8","nodeType":"YulIdentifier","src":"19512:3:8"},{"name":"Qcy","nativeSrc":"19517:3:8","nodeType":"YulIdentifier","src":"19517:3:8"},{"name":"s","nativeSrc":"19522:1:8","nodeType":"YulIdentifier","src":"19522:1:8"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"19498:10:8","nodeType":"YulIdentifier","src":"19498:10:8"},"nativeSrc":"19498:26:8","nodeType":"YulFunctionCall","src":"19498:26:8"},"nativeSrc":"19498:26:8","nodeType":"YulExpressionStatement","src":"19498:26:8"},{"nativeSrc":"19542:70:8","nodeType":"YulAssignment","src":"19542:70:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19564:6:8","nodeType":"YulIdentifier","src":"19564:6:8"},{"name":"pEval_a","nativeSrc":"19572:7:8","nodeType":"YulIdentifier","src":"19572:7:8"}],"functionName":{"name":"add","nativeSrc":"19560:3:8","nodeType":"YulIdentifier","src":"19560:3:8"},"nativeSrc":"19560:20:8","nodeType":"YulFunctionCall","src":"19560:20:8"}],"functionName":{"name":"mload","nativeSrc":"19554:5:8","nodeType":"YulIdentifier","src":"19554:5:8"},"nativeSrc":"19554:27:8","nodeType":"YulFunctionCall","src":"19554:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19593:4:8","nodeType":"YulIdentifier","src":"19593:4:8"},{"name":"pBetaXi","nativeSrc":"19599:7:8","nodeType":"YulIdentifier","src":"19599:7:8"}],"functionName":{"name":"add","nativeSrc":"19589:3:8","nodeType":"YulIdentifier","src":"19589:3:8"},"nativeSrc":"19589:18:8","nodeType":"YulFunctionCall","src":"19589:18:8"}],"functionName":{"name":"mload","nativeSrc":"19583:5:8","nodeType":"YulIdentifier","src":"19583:5:8"},"nativeSrc":"19583:25:8","nodeType":"YulFunctionCall","src":"19583:25:8"},{"name":"q","nativeSrc":"19610:1:8","nodeType":"YulIdentifier","src":"19610:1:8"}],"functionName":{"name":"addmod","nativeSrc":"19547:6:8","nodeType":"YulIdentifier","src":"19547:6:8"},"nativeSrc":"19547:65:8","nodeType":"YulFunctionCall","src":"19547:65:8"},"variableNames":[{"name":"s","nativeSrc":"19542:1:8","nodeType":"YulIdentifier","src":"19542:1:8"}]},{"nativeSrc":"19629:43:8","nodeType":"YulAssignment","src":"19629:43:8","value":{"arguments":[{"name":"s","nativeSrc":"19641:1:8","nodeType":"YulIdentifier","src":"19641:1:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19654:4:8","nodeType":"YulIdentifier","src":"19654:4:8"},{"name":"pGamma","nativeSrc":"19660:6:8","nodeType":"YulIdentifier","src":"19660:6:8"}],"functionName":{"name":"add","nativeSrc":"19650:3:8","nodeType":"YulIdentifier","src":"19650:3:8"},"nativeSrc":"19650:17:8","nodeType":"YulFunctionCall","src":"19650:17:8"}],"functionName":{"name":"mload","nativeSrc":"19644:5:8","nodeType":"YulIdentifier","src":"19644:5:8"},"nativeSrc":"19644:24:8","nodeType":"YulFunctionCall","src":"19644:24:8"},{"name":"q","nativeSrc":"19670:1:8","nodeType":"YulIdentifier","src":"19670:1:8"}],"functionName":{"name":"addmod","nativeSrc":"19634:6:8","nodeType":"YulIdentifier","src":"19634:6:8"},"nativeSrc":"19634:38:8","nodeType":"YulFunctionCall","src":"19634:38:8"},"variableNames":[{"name":"s","nativeSrc":"19629:1:8","nodeType":"YulIdentifier","src":"19629:1:8"}]},{"nativeSrc":"19689:46:8","nodeType":"YulAssignment","src":"19689:46:8","value":{"arguments":[{"name":"k1","nativeSrc":"19702:2:8","nodeType":"YulIdentifier","src":"19702:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19716:4:8","nodeType":"YulIdentifier","src":"19716:4:8"},{"name":"pBetaXi","nativeSrc":"19722:7:8","nodeType":"YulIdentifier","src":"19722:7:8"}],"functionName":{"name":"add","nativeSrc":"19712:3:8","nodeType":"YulIdentifier","src":"19712:3:8"},"nativeSrc":"19712:18:8","nodeType":"YulFunctionCall","src":"19712:18:8"}],"functionName":{"name":"mload","nativeSrc":"19706:5:8","nodeType":"YulIdentifier","src":"19706:5:8"},"nativeSrc":"19706:25:8","nodeType":"YulFunctionCall","src":"19706:25:8"},{"name":"q","nativeSrc":"19733:1:8","nodeType":"YulIdentifier","src":"19733:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"19695:6:8","nodeType":"YulIdentifier","src":"19695:6:8"},"nativeSrc":"19695:40:8","nodeType":"YulFunctionCall","src":"19695:40:8"},"variableNames":[{"name":"s1","nativeSrc":"19689:2:8","nodeType":"YulIdentifier","src":"19689:2:8"}]},{"nativeSrc":"19752:48:8","nodeType":"YulAssignment","src":"19752:48:8","value":{"arguments":[{"name":"s1","nativeSrc":"19765:2:8","nodeType":"YulIdentifier","src":"19765:2:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"19779:6:8","nodeType":"YulIdentifier","src":"19779:6:8"},{"name":"pEval_b","nativeSrc":"19787:7:8","nodeType":"YulIdentifier","src":"19787:7:8"}],"functionName":{"name":"add","nativeSrc":"19775:3:8","nodeType":"YulIdentifier","src":"19775:3:8"},"nativeSrc":"19775:20:8","nodeType":"YulFunctionCall","src":"19775:20:8"}],"functionName":{"name":"mload","nativeSrc":"19769:5:8","nodeType":"YulIdentifier","src":"19769:5:8"},"nativeSrc":"19769:27:8","nodeType":"YulFunctionCall","src":"19769:27:8"},{"name":"q","nativeSrc":"19798:1:8","nodeType":"YulIdentifier","src":"19798:1:8"}],"functionName":{"name":"addmod","nativeSrc":"19758:6:8","nodeType":"YulIdentifier","src":"19758:6:8"},"nativeSrc":"19758:42:8","nodeType":"YulFunctionCall","src":"19758:42:8"},"variableNames":[{"name":"s1","nativeSrc":"19752:2:8","nodeType":"YulIdentifier","src":"19752:2:8"}]},{"nativeSrc":"19817:45:8","nodeType":"YulAssignment","src":"19817:45:8","value":{"arguments":[{"name":"s1","nativeSrc":"19830:2:8","nodeType":"YulIdentifier","src":"19830:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19844:4:8","nodeType":"YulIdentifier","src":"19844:4:8"},{"name":"pGamma","nativeSrc":"19850:6:8","nodeType":"YulIdentifier","src":"19850:6:8"}],"functionName":{"name":"add","nativeSrc":"19840:3:8","nodeType":"YulIdentifier","src":"19840:3:8"},"nativeSrc":"19840:17:8","nodeType":"YulFunctionCall","src":"19840:17:8"}],"functionName":{"name":"mload","nativeSrc":"19834:5:8","nodeType":"YulIdentifier","src":"19834:5:8"},"nativeSrc":"19834:24:8","nodeType":"YulFunctionCall","src":"19834:24:8"},{"name":"q","nativeSrc":"19860:1:8","nodeType":"YulIdentifier","src":"19860:1:8"}],"functionName":{"name":"addmod","nativeSrc":"19823:6:8","nodeType":"YulIdentifier","src":"19823:6:8"},"nativeSrc":"19823:39:8","nodeType":"YulFunctionCall","src":"19823:39:8"},"variableNames":[{"name":"s1","nativeSrc":"19817:2:8","nodeType":"YulIdentifier","src":"19817:2:8"}]},{"nativeSrc":"19879:21:8","nodeType":"YulAssignment","src":"19879:21:8","value":{"arguments":[{"name":"s","nativeSrc":"19891:1:8","nodeType":"YulIdentifier","src":"19891:1:8"},{"name":"s1","nativeSrc":"19894:2:8","nodeType":"YulIdentifier","src":"19894:2:8"},{"name":"q","nativeSrc":"19898:1:8","nodeType":"YulIdentifier","src":"19898:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"19884:6:8","nodeType":"YulIdentifier","src":"19884:6:8"},"nativeSrc":"19884:16:8","nodeType":"YulFunctionCall","src":"19884:16:8"},"variableNames":[{"name":"s","nativeSrc":"19879:1:8","nodeType":"YulIdentifier","src":"19879:1:8"}]},{"nativeSrc":"19917:46:8","nodeType":"YulAssignment","src":"19917:46:8","value":{"arguments":[{"name":"k2","nativeSrc":"19930:2:8","nodeType":"YulIdentifier","src":"19930:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"19944:4:8","nodeType":"YulIdentifier","src":"19944:4:8"},{"name":"pBetaXi","nativeSrc":"19950:7:8","nodeType":"YulIdentifier","src":"19950:7:8"}],"functionName":{"name":"add","nativeSrc":"19940:3:8","nodeType":"YulIdentifier","src":"19940:3:8"},"nativeSrc":"19940:18:8","nodeType":"YulFunctionCall","src":"19940:18:8"}],"functionName":{"name":"mload","nativeSrc":"19934:5:8","nodeType":"YulIdentifier","src":"19934:5:8"},"nativeSrc":"19934:25:8","nodeType":"YulFunctionCall","src":"19934:25:8"},{"name":"q","nativeSrc":"19961:1:8","nodeType":"YulIdentifier","src":"19961:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"19923:6:8","nodeType":"YulIdentifier","src":"19923:6:8"},"nativeSrc":"19923:40:8","nodeType":"YulFunctionCall","src":"19923:40:8"},"variableNames":[{"name":"s1","nativeSrc":"19917:2:8","nodeType":"YulIdentifier","src":"19917:2:8"}]},{"nativeSrc":"19980:48:8","nodeType":"YulAssignment","src":"19980:48:8","value":{"arguments":[{"name":"s1","nativeSrc":"19993:2:8","nodeType":"YulIdentifier","src":"19993:2:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20007:6:8","nodeType":"YulIdentifier","src":"20007:6:8"},{"name":"pEval_c","nativeSrc":"20015:7:8","nodeType":"YulIdentifier","src":"20015:7:8"}],"functionName":{"name":"add","nativeSrc":"20003:3:8","nodeType":"YulIdentifier","src":"20003:3:8"},"nativeSrc":"20003:20:8","nodeType":"YulFunctionCall","src":"20003:20:8"}],"functionName":{"name":"mload","nativeSrc":"19997:5:8","nodeType":"YulIdentifier","src":"19997:5:8"},"nativeSrc":"19997:27:8","nodeType":"YulFunctionCall","src":"19997:27:8"},{"name":"q","nativeSrc":"20026:1:8","nodeType":"YulIdentifier","src":"20026:1:8"}],"functionName":{"name":"addmod","nativeSrc":"19986:6:8","nodeType":"YulIdentifier","src":"19986:6:8"},"nativeSrc":"19986:42:8","nodeType":"YulFunctionCall","src":"19986:42:8"},"variableNames":[{"name":"s1","nativeSrc":"19980:2:8","nodeType":"YulIdentifier","src":"19980:2:8"}]},{"nativeSrc":"20045:45:8","nodeType":"YulAssignment","src":"20045:45:8","value":{"arguments":[{"name":"s1","nativeSrc":"20058:2:8","nodeType":"YulIdentifier","src":"20058:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20072:4:8","nodeType":"YulIdentifier","src":"20072:4:8"},{"name":"pGamma","nativeSrc":"20078:6:8","nodeType":"YulIdentifier","src":"20078:6:8"}],"functionName":{"name":"add","nativeSrc":"20068:3:8","nodeType":"YulIdentifier","src":"20068:3:8"},"nativeSrc":"20068:17:8","nodeType":"YulFunctionCall","src":"20068:17:8"}],"functionName":{"name":"mload","nativeSrc":"20062:5:8","nodeType":"YulIdentifier","src":"20062:5:8"},"nativeSrc":"20062:24:8","nodeType":"YulFunctionCall","src":"20062:24:8"},{"name":"q","nativeSrc":"20088:1:8","nodeType":"YulIdentifier","src":"20088:1:8"}],"functionName":{"name":"addmod","nativeSrc":"20051:6:8","nodeType":"YulIdentifier","src":"20051:6:8"},"nativeSrc":"20051:39:8","nodeType":"YulFunctionCall","src":"20051:39:8"},"variableNames":[{"name":"s1","nativeSrc":"20045:2:8","nodeType":"YulIdentifier","src":"20045:2:8"}]},{"nativeSrc":"20107:21:8","nodeType":"YulAssignment","src":"20107:21:8","value":{"arguments":[{"name":"s","nativeSrc":"20119:1:8","nodeType":"YulIdentifier","src":"20119:1:8"},{"name":"s1","nativeSrc":"20122:2:8","nodeType":"YulIdentifier","src":"20122:2:8"},{"name":"q","nativeSrc":"20126:1:8","nodeType":"YulIdentifier","src":"20126:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"20112:6:8","nodeType":"YulIdentifier","src":"20112:6:8"},"nativeSrc":"20112:16:8","nodeType":"YulFunctionCall","src":"20112:16:8"},"variableNames":[{"name":"s","nativeSrc":"20107:1:8","nodeType":"YulIdentifier","src":"20107:1:8"}]},{"nativeSrc":"20145:43:8","nodeType":"YulAssignment","src":"20145:43:8","value":{"arguments":[{"name":"s","nativeSrc":"20157:1:8","nodeType":"YulIdentifier","src":"20157:1:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20170:4:8","nodeType":"YulIdentifier","src":"20170:4:8"},{"name":"pAlpha","nativeSrc":"20176:6:8","nodeType":"YulIdentifier","src":"20176:6:8"}],"functionName":{"name":"add","nativeSrc":"20166:3:8","nodeType":"YulIdentifier","src":"20166:3:8"},"nativeSrc":"20166:17:8","nodeType":"YulFunctionCall","src":"20166:17:8"}],"functionName":{"name":"mload","nativeSrc":"20160:5:8","nodeType":"YulIdentifier","src":"20160:5:8"},"nativeSrc":"20160:24:8","nodeType":"YulFunctionCall","src":"20160:24:8"},{"name":"q","nativeSrc":"20186:1:8","nodeType":"YulIdentifier","src":"20186:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"20150:6:8","nodeType":"YulIdentifier","src":"20150:6:8"},"nativeSrc":"20150:38:8","nodeType":"YulFunctionCall","src":"20150:38:8"},"variableNames":[{"name":"s","nativeSrc":"20145:1:8","nodeType":"YulIdentifier","src":"20145:1:8"}]},{"nativeSrc":"20205:40:8","nodeType":"YulAssignment","src":"20205:40:8","value":{"arguments":[{"name":"s","nativeSrc":"20217:1:8","nodeType":"YulIdentifier","src":"20217:1:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20230:4:8","nodeType":"YulIdentifier","src":"20230:4:8"},{"name":"pV1","nativeSrc":"20236:3:8","nodeType":"YulIdentifier","src":"20236:3:8"}],"functionName":{"name":"add","nativeSrc":"20226:3:8","nodeType":"YulIdentifier","src":"20226:3:8"},"nativeSrc":"20226:14:8","nodeType":"YulFunctionCall","src":"20226:14:8"}],"functionName":{"name":"mload","nativeSrc":"20220:5:8","nodeType":"YulIdentifier","src":"20220:5:8"},"nativeSrc":"20220:21:8","nodeType":"YulFunctionCall","src":"20220:21:8"},{"name":"q","nativeSrc":"20243:1:8","nodeType":"YulIdentifier","src":"20243:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"20210:6:8","nodeType":"YulIdentifier","src":"20210:6:8"},"nativeSrc":"20210:35:8","nodeType":"YulFunctionCall","src":"20210:35:8"},"variableNames":[{"name":"s","nativeSrc":"20205:1:8","nodeType":"YulIdentifier","src":"20205:1:8"}]},{"nativeSrc":"20262:69:8","nodeType":"YulAssignment","src":"20262:69:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20285:4:8","nodeType":"YulIdentifier","src":"20285:4:8"},{"name":"pEval_l1","nativeSrc":"20291:8:8","nodeType":"YulIdentifier","src":"20291:8:8"}],"functionName":{"name":"add","nativeSrc":"20281:3:8","nodeType":"YulIdentifier","src":"20281:3:8"},"nativeSrc":"20281:19:8","nodeType":"YulFunctionCall","src":"20281:19:8"}],"functionName":{"name":"mload","nativeSrc":"20275:5:8","nodeType":"YulIdentifier","src":"20275:5:8"},"nativeSrc":"20275:26:8","nodeType":"YulFunctionCall","src":"20275:26:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20313:4:8","nodeType":"YulIdentifier","src":"20313:4:8"},{"name":"pAlpha","nativeSrc":"20319:6:8","nodeType":"YulIdentifier","src":"20319:6:8"}],"functionName":{"name":"add","nativeSrc":"20309:3:8","nodeType":"YulIdentifier","src":"20309:3:8"},"nativeSrc":"20309:17:8","nodeType":"YulFunctionCall","src":"20309:17:8"}],"functionName":{"name":"mload","nativeSrc":"20303:5:8","nodeType":"YulIdentifier","src":"20303:5:8"},"nativeSrc":"20303:24:8","nodeType":"YulFunctionCall","src":"20303:24:8"},{"name":"q","nativeSrc":"20329:1:8","nodeType":"YulIdentifier","src":"20329:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"20268:6:8","nodeType":"YulIdentifier","src":"20268:6:8"},"nativeSrc":"20268:63:8","nodeType":"YulFunctionCall","src":"20268:63:8"},"variableNames":[{"name":"s1","nativeSrc":"20262:2:8","nodeType":"YulIdentifier","src":"20262:2:8"}]},{"nativeSrc":"20348:45:8","nodeType":"YulAssignment","src":"20348:45:8","value":{"arguments":[{"name":"s1","nativeSrc":"20361:2:8","nodeType":"YulIdentifier","src":"20361:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20375:4:8","nodeType":"YulIdentifier","src":"20375:4:8"},{"name":"pAlpha","nativeSrc":"20381:6:8","nodeType":"YulIdentifier","src":"20381:6:8"}],"functionName":{"name":"add","nativeSrc":"20371:3:8","nodeType":"YulIdentifier","src":"20371:3:8"},"nativeSrc":"20371:17:8","nodeType":"YulFunctionCall","src":"20371:17:8"}],"functionName":{"name":"mload","nativeSrc":"20365:5:8","nodeType":"YulIdentifier","src":"20365:5:8"},"nativeSrc":"20365:24:8","nodeType":"YulFunctionCall","src":"20365:24:8"},{"name":"q","nativeSrc":"20391:1:8","nodeType":"YulIdentifier","src":"20391:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"20354:6:8","nodeType":"YulIdentifier","src":"20354:6:8"},"nativeSrc":"20354:39:8","nodeType":"YulFunctionCall","src":"20354:39:8"},"variableNames":[{"name":"s1","nativeSrc":"20348:2:8","nodeType":"YulIdentifier","src":"20348:2:8"}]},{"nativeSrc":"20410:42:8","nodeType":"YulAssignment","src":"20410:42:8","value":{"arguments":[{"name":"s1","nativeSrc":"20423:2:8","nodeType":"YulIdentifier","src":"20423:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20437:4:8","nodeType":"YulIdentifier","src":"20437:4:8"},{"name":"pV1","nativeSrc":"20443:3:8","nodeType":"YulIdentifier","src":"20443:3:8"}],"functionName":{"name":"add","nativeSrc":"20433:3:8","nodeType":"YulIdentifier","src":"20433:3:8"},"nativeSrc":"20433:14:8","nodeType":"YulFunctionCall","src":"20433:14:8"}],"functionName":{"name":"mload","nativeSrc":"20427:5:8","nodeType":"YulIdentifier","src":"20427:5:8"},"nativeSrc":"20427:21:8","nodeType":"YulFunctionCall","src":"20427:21:8"},{"name":"q","nativeSrc":"20450:1:8","nodeType":"YulIdentifier","src":"20450:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"20416:6:8","nodeType":"YulIdentifier","src":"20416:6:8"},"nativeSrc":"20416:36:8","nodeType":"YulFunctionCall","src":"20416:36:8"},"variableNames":[{"name":"s1","nativeSrc":"20410:2:8","nodeType":"YulIdentifier","src":"20410:2:8"}]},{"nativeSrc":"20469:21:8","nodeType":"YulAssignment","src":"20469:21:8","value":{"arguments":[{"name":"s","nativeSrc":"20481:1:8","nodeType":"YulIdentifier","src":"20481:1:8"},{"name":"s1","nativeSrc":"20484:2:8","nodeType":"YulIdentifier","src":"20484:2:8"},{"name":"q","nativeSrc":"20488:1:8","nodeType":"YulIdentifier","src":"20488:1:8"}],"functionName":{"name":"addmod","nativeSrc":"20474:6:8","nodeType":"YulIdentifier","src":"20474:6:8"},"nativeSrc":"20474:16:8","nodeType":"YulFunctionCall","src":"20474:16:8"},"variableNames":[{"name":"s","nativeSrc":"20469:1:8","nodeType":"YulIdentifier","src":"20469:1:8"}]},{"nativeSrc":"20507:39:8","nodeType":"YulAssignment","src":"20507:39:8","value":{"arguments":[{"name":"s","nativeSrc":"20519:1:8","nodeType":"YulIdentifier","src":"20519:1:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20532:4:8","nodeType":"YulIdentifier","src":"20532:4:8"},{"name":"pU","nativeSrc":"20538:2:8","nodeType":"YulIdentifier","src":"20538:2:8"}],"functionName":{"name":"add","nativeSrc":"20528:3:8","nodeType":"YulIdentifier","src":"20528:3:8"},"nativeSrc":"20528:13:8","nodeType":"YulFunctionCall","src":"20528:13:8"}],"functionName":{"name":"mload","nativeSrc":"20522:5:8","nodeType":"YulIdentifier","src":"20522:5:8"},"nativeSrc":"20522:20:8","nodeType":"YulFunctionCall","src":"20522:20:8"},{"name":"q","nativeSrc":"20544:1:8","nodeType":"YulIdentifier","src":"20544:1:8"}],"functionName":{"name":"addmod","nativeSrc":"20512:6:8","nodeType":"YulIdentifier","src":"20512:6:8"},"nativeSrc":"20512:34:8","nodeType":"YulFunctionCall","src":"20512:34:8"},"variableNames":[{"name":"s","nativeSrc":"20507:1:8","nodeType":"YulIdentifier","src":"20507:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"20573:1:8","nodeType":"YulIdentifier","src":"20573:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"20580:6:8","nodeType":"YulIdentifier","src":"20580:6:8"},{"name":"pZ","nativeSrc":"20588:2:8","nodeType":"YulIdentifier","src":"20588:2:8"}],"functionName":{"name":"add","nativeSrc":"20576:3:8","nodeType":"YulIdentifier","src":"20576:3:8"},"nativeSrc":"20576:15:8","nodeType":"YulFunctionCall","src":"20576:15:8"},{"name":"s","nativeSrc":"20593:1:8","nodeType":"YulIdentifier","src":"20593:1:8"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"20563:9:8","nodeType":"YulIdentifier","src":"20563:9:8"},"nativeSrc":"20563:32:8","nodeType":"YulFunctionCall","src":"20563:32:8"},"nativeSrc":"20563:32:8","nodeType":"YulExpressionStatement","src":"20563:32:8"},{"nativeSrc":"20629:69:8","nodeType":"YulAssignment","src":"20629:69:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20651:4:8","nodeType":"YulIdentifier","src":"20651:4:8"},{"name":"pBeta","nativeSrc":"20657:5:8","nodeType":"YulIdentifier","src":"20657:5:8"}],"functionName":{"name":"add","nativeSrc":"20647:3:8","nodeType":"YulIdentifier","src":"20647:3:8"},"nativeSrc":"20647:16:8","nodeType":"YulFunctionCall","src":"20647:16:8"}],"functionName":{"name":"mload","nativeSrc":"20641:5:8","nodeType":"YulIdentifier","src":"20641:5:8"},"nativeSrc":"20641:23:8","nodeType":"YulFunctionCall","src":"20641:23:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20676:6:8","nodeType":"YulIdentifier","src":"20676:6:8"},{"name":"pEval_s1","nativeSrc":"20684:8:8","nodeType":"YulIdentifier","src":"20684:8:8"}],"functionName":{"name":"add","nativeSrc":"20672:3:8","nodeType":"YulIdentifier","src":"20672:3:8"},"nativeSrc":"20672:21:8","nodeType":"YulFunctionCall","src":"20672:21:8"}],"functionName":{"name":"mload","nativeSrc":"20666:5:8","nodeType":"YulIdentifier","src":"20666:5:8"},"nativeSrc":"20666:28:8","nodeType":"YulFunctionCall","src":"20666:28:8"},{"name":"q","nativeSrc":"20696:1:8","nodeType":"YulIdentifier","src":"20696:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"20634:6:8","nodeType":"YulIdentifier","src":"20634:6:8"},"nativeSrc":"20634:64:8","nodeType":"YulFunctionCall","src":"20634:64:8"},"variableNames":[{"name":"s","nativeSrc":"20629:1:8","nodeType":"YulIdentifier","src":"20629:1:8"}]},{"nativeSrc":"20715:46:8","nodeType":"YulAssignment","src":"20715:46:8","value":{"arguments":[{"name":"s","nativeSrc":"20727:1:8","nodeType":"YulIdentifier","src":"20727:1:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20740:6:8","nodeType":"YulIdentifier","src":"20740:6:8"},{"name":"pEval_a","nativeSrc":"20748:7:8","nodeType":"YulIdentifier","src":"20748:7:8"}],"functionName":{"name":"add","nativeSrc":"20736:3:8","nodeType":"YulIdentifier","src":"20736:3:8"},"nativeSrc":"20736:20:8","nodeType":"YulFunctionCall","src":"20736:20:8"}],"functionName":{"name":"mload","nativeSrc":"20730:5:8","nodeType":"YulIdentifier","src":"20730:5:8"},"nativeSrc":"20730:27:8","nodeType":"YulFunctionCall","src":"20730:27:8"},{"name":"q","nativeSrc":"20759:1:8","nodeType":"YulIdentifier","src":"20759:1:8"}],"functionName":{"name":"addmod","nativeSrc":"20720:6:8","nodeType":"YulIdentifier","src":"20720:6:8"},"nativeSrc":"20720:41:8","nodeType":"YulFunctionCall","src":"20720:41:8"},"variableNames":[{"name":"s","nativeSrc":"20715:1:8","nodeType":"YulIdentifier","src":"20715:1:8"}]},{"nativeSrc":"20778:43:8","nodeType":"YulAssignment","src":"20778:43:8","value":{"arguments":[{"name":"s","nativeSrc":"20790:1:8","nodeType":"YulIdentifier","src":"20790:1:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20803:4:8","nodeType":"YulIdentifier","src":"20803:4:8"},{"name":"pGamma","nativeSrc":"20809:6:8","nodeType":"YulIdentifier","src":"20809:6:8"}],"functionName":{"name":"add","nativeSrc":"20799:3:8","nodeType":"YulIdentifier","src":"20799:3:8"},"nativeSrc":"20799:17:8","nodeType":"YulFunctionCall","src":"20799:17:8"}],"functionName":{"name":"mload","nativeSrc":"20793:5:8","nodeType":"YulIdentifier","src":"20793:5:8"},"nativeSrc":"20793:24:8","nodeType":"YulFunctionCall","src":"20793:24:8"},{"name":"q","nativeSrc":"20819:1:8","nodeType":"YulIdentifier","src":"20819:1:8"}],"functionName":{"name":"addmod","nativeSrc":"20783:6:8","nodeType":"YulIdentifier","src":"20783:6:8"},"nativeSrc":"20783:38:8","nodeType":"YulFunctionCall","src":"20783:38:8"},"variableNames":[{"name":"s","nativeSrc":"20778:1:8","nodeType":"YulIdentifier","src":"20778:1:8"}]},{"nativeSrc":"20838:70:8","nodeType":"YulAssignment","src":"20838:70:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"20861:4:8","nodeType":"YulIdentifier","src":"20861:4:8"},{"name":"pBeta","nativeSrc":"20867:5:8","nodeType":"YulIdentifier","src":"20867:5:8"}],"functionName":{"name":"add","nativeSrc":"20857:3:8","nodeType":"YulIdentifier","src":"20857:3:8"},"nativeSrc":"20857:16:8","nodeType":"YulFunctionCall","src":"20857:16:8"}],"functionName":{"name":"mload","nativeSrc":"20851:5:8","nodeType":"YulIdentifier","src":"20851:5:8"},"nativeSrc":"20851:23:8","nodeType":"YulFunctionCall","src":"20851:23:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20886:6:8","nodeType":"YulIdentifier","src":"20886:6:8"},{"name":"pEval_s2","nativeSrc":"20894:8:8","nodeType":"YulIdentifier","src":"20894:8:8"}],"functionName":{"name":"add","nativeSrc":"20882:3:8","nodeType":"YulIdentifier","src":"20882:3:8"},"nativeSrc":"20882:21:8","nodeType":"YulFunctionCall","src":"20882:21:8"}],"functionName":{"name":"mload","nativeSrc":"20876:5:8","nodeType":"YulIdentifier","src":"20876:5:8"},"nativeSrc":"20876:28:8","nodeType":"YulFunctionCall","src":"20876:28:8"},{"name":"q","nativeSrc":"20906:1:8","nodeType":"YulIdentifier","src":"20906:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"20844:6:8","nodeType":"YulIdentifier","src":"20844:6:8"},"nativeSrc":"20844:64:8","nodeType":"YulFunctionCall","src":"20844:64:8"},"variableNames":[{"name":"s1","nativeSrc":"20838:2:8","nodeType":"YulIdentifier","src":"20838:2:8"}]},{"nativeSrc":"20925:48:8","nodeType":"YulAssignment","src":"20925:48:8","value":{"arguments":[{"name":"s1","nativeSrc":"20938:2:8","nodeType":"YulIdentifier","src":"20938:2:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"20952:6:8","nodeType":"YulIdentifier","src":"20952:6:8"},{"name":"pEval_b","nativeSrc":"20960:7:8","nodeType":"YulIdentifier","src":"20960:7:8"}],"functionName":{"name":"add","nativeSrc":"20948:3:8","nodeType":"YulIdentifier","src":"20948:3:8"},"nativeSrc":"20948:20:8","nodeType":"YulFunctionCall","src":"20948:20:8"}],"functionName":{"name":"mload","nativeSrc":"20942:5:8","nodeType":"YulIdentifier","src":"20942:5:8"},"nativeSrc":"20942:27:8","nodeType":"YulFunctionCall","src":"20942:27:8"},{"name":"q","nativeSrc":"20971:1:8","nodeType":"YulIdentifier","src":"20971:1:8"}],"functionName":{"name":"addmod","nativeSrc":"20931:6:8","nodeType":"YulIdentifier","src":"20931:6:8"},"nativeSrc":"20931:42:8","nodeType":"YulFunctionCall","src":"20931:42:8"},"variableNames":[{"name":"s1","nativeSrc":"20925:2:8","nodeType":"YulIdentifier","src":"20925:2:8"}]},{"nativeSrc":"20990:45:8","nodeType":"YulAssignment","src":"20990:45:8","value":{"arguments":[{"name":"s1","nativeSrc":"21003:2:8","nodeType":"YulIdentifier","src":"21003:2:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21017:4:8","nodeType":"YulIdentifier","src":"21017:4:8"},{"name":"pGamma","nativeSrc":"21023:6:8","nodeType":"YulIdentifier","src":"21023:6:8"}],"functionName":{"name":"add","nativeSrc":"21013:3:8","nodeType":"YulIdentifier","src":"21013:3:8"},"nativeSrc":"21013:17:8","nodeType":"YulFunctionCall","src":"21013:17:8"}],"functionName":{"name":"mload","nativeSrc":"21007:5:8","nodeType":"YulIdentifier","src":"21007:5:8"},"nativeSrc":"21007:24:8","nodeType":"YulFunctionCall","src":"21007:24:8"},{"name":"q","nativeSrc":"21033:1:8","nodeType":"YulIdentifier","src":"21033:1:8"}],"functionName":{"name":"addmod","nativeSrc":"20996:6:8","nodeType":"YulIdentifier","src":"20996:6:8"},"nativeSrc":"20996:39:8","nodeType":"YulFunctionCall","src":"20996:39:8"},"variableNames":[{"name":"s1","nativeSrc":"20990:2:8","nodeType":"YulIdentifier","src":"20990:2:8"}]},{"nativeSrc":"21052:21:8","nodeType":"YulAssignment","src":"21052:21:8","value":{"arguments":[{"name":"s","nativeSrc":"21064:1:8","nodeType":"YulIdentifier","src":"21064:1:8"},{"name":"s1","nativeSrc":"21067:2:8","nodeType":"YulIdentifier","src":"21067:2:8"},{"name":"q","nativeSrc":"21071:1:8","nodeType":"YulIdentifier","src":"21071:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"21057:6:8","nodeType":"YulIdentifier","src":"21057:6:8"},"nativeSrc":"21057:16:8","nodeType":"YulFunctionCall","src":"21057:16:8"},"variableNames":[{"name":"s","nativeSrc":"21052:1:8","nodeType":"YulIdentifier","src":"21052:1:8"}]},{"nativeSrc":"21090:43:8","nodeType":"YulAssignment","src":"21090:43:8","value":{"arguments":[{"name":"s","nativeSrc":"21102:1:8","nodeType":"YulIdentifier","src":"21102:1:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21115:4:8","nodeType":"YulIdentifier","src":"21115:4:8"},{"name":"pAlpha","nativeSrc":"21121:6:8","nodeType":"YulIdentifier","src":"21121:6:8"}],"functionName":{"name":"add","nativeSrc":"21111:3:8","nodeType":"YulIdentifier","src":"21111:3:8"},"nativeSrc":"21111:17:8","nodeType":"YulFunctionCall","src":"21111:17:8"}],"functionName":{"name":"mload","nativeSrc":"21105:5:8","nodeType":"YulIdentifier","src":"21105:5:8"},"nativeSrc":"21105:24:8","nodeType":"YulFunctionCall","src":"21105:24:8"},{"name":"q","nativeSrc":"21131:1:8","nodeType":"YulIdentifier","src":"21131:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"21095:6:8","nodeType":"YulIdentifier","src":"21095:6:8"},"nativeSrc":"21095:38:8","nodeType":"YulFunctionCall","src":"21095:38:8"},"variableNames":[{"name":"s","nativeSrc":"21090:1:8","nodeType":"YulIdentifier","src":"21090:1:8"}]},{"nativeSrc":"21150:40:8","nodeType":"YulAssignment","src":"21150:40:8","value":{"arguments":[{"name":"s","nativeSrc":"21162:1:8","nodeType":"YulIdentifier","src":"21162:1:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21175:4:8","nodeType":"YulIdentifier","src":"21175:4:8"},{"name":"pV1","nativeSrc":"21181:3:8","nodeType":"YulIdentifier","src":"21181:3:8"}],"functionName":{"name":"add","nativeSrc":"21171:3:8","nodeType":"YulIdentifier","src":"21171:3:8"},"nativeSrc":"21171:14:8","nodeType":"YulFunctionCall","src":"21171:14:8"}],"functionName":{"name":"mload","nativeSrc":"21165:5:8","nodeType":"YulIdentifier","src":"21165:5:8"},"nativeSrc":"21165:21:8","nodeType":"YulFunctionCall","src":"21165:21:8"},{"name":"q","nativeSrc":"21188:1:8","nodeType":"YulIdentifier","src":"21188:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"21155:6:8","nodeType":"YulIdentifier","src":"21155:6:8"},"nativeSrc":"21155:35:8","nodeType":"YulFunctionCall","src":"21155:35:8"},"variableNames":[{"name":"s","nativeSrc":"21150:1:8","nodeType":"YulIdentifier","src":"21150:1:8"}]},{"nativeSrc":"21207:42:8","nodeType":"YulAssignment","src":"21207:42:8","value":{"arguments":[{"name":"s","nativeSrc":"21219:1:8","nodeType":"YulIdentifier","src":"21219:1:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21232:4:8","nodeType":"YulIdentifier","src":"21232:4:8"},{"name":"pBeta","nativeSrc":"21238:5:8","nodeType":"YulIdentifier","src":"21238:5:8"}],"functionName":{"name":"add","nativeSrc":"21228:3:8","nodeType":"YulIdentifier","src":"21228:3:8"},"nativeSrc":"21228:16:8","nodeType":"YulFunctionCall","src":"21228:16:8"}],"functionName":{"name":"mload","nativeSrc":"21222:5:8","nodeType":"YulIdentifier","src":"21222:5:8"},"nativeSrc":"21222:23:8","nodeType":"YulFunctionCall","src":"21222:23:8"},{"name":"q","nativeSrc":"21247:1:8","nodeType":"YulIdentifier","src":"21247:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"21212:6:8","nodeType":"YulIdentifier","src":"21212:6:8"},"nativeSrc":"21212:37:8","nodeType":"YulFunctionCall","src":"21212:37:8"},"variableNames":[{"name":"s","nativeSrc":"21207:1:8","nodeType":"YulIdentifier","src":"21207:1:8"}]},{"nativeSrc":"21266:47:8","nodeType":"YulAssignment","src":"21266:47:8","value":{"arguments":[{"name":"s","nativeSrc":"21278:1:8","nodeType":"YulIdentifier","src":"21278:1:8"},{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"21291:6:8","nodeType":"YulIdentifier","src":"21291:6:8"},{"name":"pEval_zw","nativeSrc":"21299:8:8","nodeType":"YulIdentifier","src":"21299:8:8"}],"functionName":{"name":"add","nativeSrc":"21287:3:8","nodeType":"YulIdentifier","src":"21287:3:8"},"nativeSrc":"21287:21:8","nodeType":"YulFunctionCall","src":"21287:21:8"}],"functionName":{"name":"mload","nativeSrc":"21281:5:8","nodeType":"YulIdentifier","src":"21281:5:8"},"nativeSrc":"21281:28:8","nodeType":"YulFunctionCall","src":"21281:28:8"},{"name":"q","nativeSrc":"21311:1:8","nodeType":"YulIdentifier","src":"21311:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"21271:6:8","nodeType":"YulIdentifier","src":"21271:6:8"},"nativeSrc":"21271:42:8","nodeType":"YulFunctionCall","src":"21271:42:8"},"variableNames":[{"name":"s","nativeSrc":"21266:1:8","nodeType":"YulIdentifier","src":"21266:1:8"}]},{"nativeSrc":"21330:22:8","nodeType":"YulAssignment","src":"21330:22:8","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"21343:1:8","nodeType":"YulIdentifier","src":"21343:1:8"},{"name":"s","nativeSrc":"21346:1:8","nodeType":"YulIdentifier","src":"21346:1:8"}],"functionName":{"name":"sub","nativeSrc":"21339:3:8","nodeType":"YulIdentifier","src":"21339:3:8"},"nativeSrc":"21339:9:8","nodeType":"YulFunctionCall","src":"21339:9:8"},{"name":"q","nativeSrc":"21350:1:8","nodeType":"YulIdentifier","src":"21350:1:8"}],"functionName":{"name":"mod","nativeSrc":"21335:3:8","nodeType":"YulIdentifier","src":"21335:3:8"},"nativeSrc":"21335:17:8","nodeType":"YulFunctionCall","src":"21335:17:8"},"variableNames":[{"name":"s","nativeSrc":"21330:1:8","nodeType":"YulIdentifier","src":"21330:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21380:1:8","nodeType":"YulIdentifier","src":"21380:1:8"},{"name":"S3x","nativeSrc":"21383:3:8","nodeType":"YulIdentifier","src":"21383:3:8"},{"name":"S3y","nativeSrc":"21388:3:8","nodeType":"YulIdentifier","src":"21388:3:8"},{"name":"s","nativeSrc":"21393:1:8","nodeType":"YulIdentifier","src":"21393:1:8"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21369:10:8","nodeType":"YulIdentifier","src":"21369:10:8"},"nativeSrc":"21369:26:8","nodeType":"YulFunctionCall","src":"21369:26:8"},"nativeSrc":"21369:26:8","nodeType":"YulExpressionStatement","src":"21369:26:8"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21452:1:8","nodeType":"YulIdentifier","src":"21452:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"21460:6:8","nodeType":"YulIdentifier","src":"21460:6:8"},{"name":"pT1","nativeSrc":"21468:3:8","nodeType":"YulIdentifier","src":"21468:3:8"}],"functionName":{"name":"add","nativeSrc":"21456:3:8","nodeType":"YulIdentifier","src":"21456:3:8"},"nativeSrc":"21456:16:8","nodeType":"YulFunctionCall","src":"21456:16:8"}],"functionName":{"name":"g1_acc","nativeSrc":"21445:6:8","nodeType":"YulIdentifier","src":"21445:6:8"},"nativeSrc":"21445:28:8","nodeType":"YulFunctionCall","src":"21445:28:8"},"nativeSrc":"21445:28:8","nodeType":"YulExpressionStatement","src":"21445:28:8"},{"nativeSrc":"21491:27:8","nodeType":"YulAssignment","src":"21491:27:8","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21506:4:8","nodeType":"YulIdentifier","src":"21506:4:8"},{"name":"pXin","nativeSrc":"21512:4:8","nodeType":"YulIdentifier","src":"21512:4:8"}],"functionName":{"name":"add","nativeSrc":"21502:3:8","nodeType":"YulIdentifier","src":"21502:3:8"},"nativeSrc":"21502:15:8","nodeType":"YulFunctionCall","src":"21502:15:8"}],"functionName":{"name":"mload","nativeSrc":"21496:5:8","nodeType":"YulIdentifier","src":"21496:5:8"},"nativeSrc":"21496:22:8","nodeType":"YulFunctionCall","src":"21496:22:8"},"variableNames":[{"name":"s","nativeSrc":"21491:1:8","nodeType":"YulIdentifier","src":"21491:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21545:1:8","nodeType":"YulIdentifier","src":"21545:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"21552:6:8","nodeType":"YulIdentifier","src":"21552:6:8"},{"name":"pT2","nativeSrc":"21560:3:8","nodeType":"YulIdentifier","src":"21560:3:8"}],"functionName":{"name":"add","nativeSrc":"21548:3:8","nodeType":"YulIdentifier","src":"21548:3:8"},"nativeSrc":"21548:16:8","nodeType":"YulFunctionCall","src":"21548:16:8"},{"name":"s","nativeSrc":"21566:1:8","nodeType":"YulIdentifier","src":"21566:1:8"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21535:9:8","nodeType":"YulIdentifier","src":"21535:9:8"},"nativeSrc":"21535:33:8","nodeType":"YulFunctionCall","src":"21535:33:8"},"nativeSrc":"21535:33:8","nodeType":"YulExpressionStatement","src":"21535:33:8"},{"nativeSrc":"21602:20:8","nodeType":"YulAssignment","src":"21602:20:8","value":{"arguments":[{"name":"s","nativeSrc":"21614:1:8","nodeType":"YulIdentifier","src":"21614:1:8"},{"name":"s","nativeSrc":"21617:1:8","nodeType":"YulIdentifier","src":"21617:1:8"},{"name":"q","nativeSrc":"21620:1:8","nodeType":"YulIdentifier","src":"21620:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"21607:6:8","nodeType":"YulIdentifier","src":"21607:6:8"},"nativeSrc":"21607:15:8","nodeType":"YulFunctionCall","src":"21607:15:8"},"variableNames":[{"name":"s","nativeSrc":"21602:1:8","nodeType":"YulIdentifier","src":"21602:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"21649:1:8","nodeType":"YulIdentifier","src":"21649:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"21656:6:8","nodeType":"YulIdentifier","src":"21656:6:8"},{"name":"pT3","nativeSrc":"21664:3:8","nodeType":"YulIdentifier","src":"21664:3:8"}],"functionName":{"name":"add","nativeSrc":"21652:3:8","nodeType":"YulIdentifier","src":"21652:3:8"},"nativeSrc":"21652:16:8","nodeType":"YulFunctionCall","src":"21652:16:8"},{"name":"s","nativeSrc":"21670:1:8","nodeType":"YulIdentifier","src":"21670:1:8"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21639:9:8","nodeType":"YulIdentifier","src":"21639:9:8"},"nativeSrc":"21639:33:8","nodeType":"YulFunctionCall","src":"21639:33:8"},"nativeSrc":"21639:33:8","nodeType":"YulExpressionStatement","src":"21639:33:8"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21716:1:8","nodeType":"YulIdentifier","src":"21716:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"21723:6:8","nodeType":"YulIdentifier","src":"21723:6:8"},{"name":"pA","nativeSrc":"21731:2:8","nodeType":"YulIdentifier","src":"21731:2:8"}],"functionName":{"name":"add","nativeSrc":"21719:3:8","nodeType":"YulIdentifier","src":"21719:3:8"},"nativeSrc":"21719:15:8","nodeType":"YulFunctionCall","src":"21719:15:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21746:4:8","nodeType":"YulIdentifier","src":"21746:4:8"},{"name":"pV2","nativeSrc":"21752:3:8","nodeType":"YulIdentifier","src":"21752:3:8"}],"functionName":{"name":"add","nativeSrc":"21742:3:8","nodeType":"YulIdentifier","src":"21742:3:8"},"nativeSrc":"21742:14:8","nodeType":"YulFunctionCall","src":"21742:14:8"}],"functionName":{"name":"mload","nativeSrc":"21736:5:8","nodeType":"YulIdentifier","src":"21736:5:8"},"nativeSrc":"21736:21:8","nodeType":"YulFunctionCall","src":"21736:21:8"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21706:9:8","nodeType":"YulIdentifier","src":"21706:9:8"},"nativeSrc":"21706:52:8","nodeType":"YulFunctionCall","src":"21706:52:8"},"nativeSrc":"21706:52:8","nodeType":"YulExpressionStatement","src":"21706:52:8"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21785:1:8","nodeType":"YulIdentifier","src":"21785:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"21792:6:8","nodeType":"YulIdentifier","src":"21792:6:8"},{"name":"pB","nativeSrc":"21800:2:8","nodeType":"YulIdentifier","src":"21800:2:8"}],"functionName":{"name":"add","nativeSrc":"21788:3:8","nodeType":"YulIdentifier","src":"21788:3:8"},"nativeSrc":"21788:15:8","nodeType":"YulFunctionCall","src":"21788:15:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21815:4:8","nodeType":"YulIdentifier","src":"21815:4:8"},{"name":"pV3","nativeSrc":"21821:3:8","nodeType":"YulIdentifier","src":"21821:3:8"}],"functionName":{"name":"add","nativeSrc":"21811:3:8","nodeType":"YulIdentifier","src":"21811:3:8"},"nativeSrc":"21811:14:8","nodeType":"YulFunctionCall","src":"21811:14:8"}],"functionName":{"name":"mload","nativeSrc":"21805:5:8","nodeType":"YulIdentifier","src":"21805:5:8"},"nativeSrc":"21805:21:8","nodeType":"YulFunctionCall","src":"21805:21:8"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21775:9:8","nodeType":"YulIdentifier","src":"21775:9:8"},"nativeSrc":"21775:52:8","nodeType":"YulFunctionCall","src":"21775:52:8"},"nativeSrc":"21775:52:8","nodeType":"YulExpressionStatement","src":"21775:52:8"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21854:1:8","nodeType":"YulIdentifier","src":"21854:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"21861:6:8","nodeType":"YulIdentifier","src":"21861:6:8"},{"name":"pC","nativeSrc":"21869:2:8","nodeType":"YulIdentifier","src":"21869:2:8"}],"functionName":{"name":"add","nativeSrc":"21857:3:8","nodeType":"YulIdentifier","src":"21857:3:8"},"nativeSrc":"21857:15:8","nodeType":"YulFunctionCall","src":"21857:15:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21884:4:8","nodeType":"YulIdentifier","src":"21884:4:8"},{"name":"pV4","nativeSrc":"21890:3:8","nodeType":"YulIdentifier","src":"21890:3:8"}],"functionName":{"name":"add","nativeSrc":"21880:3:8","nodeType":"YulIdentifier","src":"21880:3:8"},"nativeSrc":"21880:14:8","nodeType":"YulFunctionCall","src":"21880:14:8"}],"functionName":{"name":"mload","nativeSrc":"21874:5:8","nodeType":"YulIdentifier","src":"21874:5:8"},"nativeSrc":"21874:21:8","nodeType":"YulFunctionCall","src":"21874:21:8"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"21844:9:8","nodeType":"YulIdentifier","src":"21844:9:8"},"nativeSrc":"21844:52:8","nodeType":"YulFunctionCall","src":"21844:52:8"},"nativeSrc":"21844:52:8","nodeType":"YulExpressionStatement","src":"21844:52:8"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21924:1:8","nodeType":"YulIdentifier","src":"21924:1:8"},{"name":"S1x","nativeSrc":"21927:3:8","nodeType":"YulIdentifier","src":"21927:3:8"},{"name":"S1y","nativeSrc":"21932:3:8","nodeType":"YulIdentifier","src":"21932:3:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"21947:4:8","nodeType":"YulIdentifier","src":"21947:4:8"},{"name":"pV5","nativeSrc":"21953:3:8","nodeType":"YulIdentifier","src":"21953:3:8"}],"functionName":{"name":"add","nativeSrc":"21943:3:8","nodeType":"YulIdentifier","src":"21943:3:8"},"nativeSrc":"21943:14:8","nodeType":"YulFunctionCall","src":"21943:14:8"}],"functionName":{"name":"mload","nativeSrc":"21937:5:8","nodeType":"YulIdentifier","src":"21937:5:8"},"nativeSrc":"21937:21:8","nodeType":"YulFunctionCall","src":"21937:21:8"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21913:10:8","nodeType":"YulIdentifier","src":"21913:10:8"},"nativeSrc":"21913:46:8","nodeType":"YulFunctionCall","src":"21913:46:8"},"nativeSrc":"21913:46:8","nodeType":"YulExpressionStatement","src":"21913:46:8"},{"expression":{"arguments":[{"name":"p","nativeSrc":"21987:1:8","nodeType":"YulIdentifier","src":"21987:1:8"},{"name":"S2x","nativeSrc":"21990:3:8","nodeType":"YulIdentifier","src":"21990:3:8"},{"name":"S2y","nativeSrc":"21995:3:8","nodeType":"YulIdentifier","src":"21995:3:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22010:4:8","nodeType":"YulIdentifier","src":"22010:4:8"},{"name":"pV6","nativeSrc":"22016:3:8","nodeType":"YulIdentifier","src":"22016:3:8"}],"functionName":{"name":"add","nativeSrc":"22006:3:8","nodeType":"YulIdentifier","src":"22006:3:8"},"nativeSrc":"22006:14:8","nodeType":"YulFunctionCall","src":"22006:14:8"}],"functionName":{"name":"mload","nativeSrc":"22000:5:8","nodeType":"YulIdentifier","src":"22000:5:8"},"nativeSrc":"22000:21:8","nodeType":"YulFunctionCall","src":"22000:21:8"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"21976:10:8","nodeType":"YulIdentifier","src":"21976:10:8"},"nativeSrc":"21976:46:8","nodeType":"YulFunctionCall","src":"21976:46:8"},"nativeSrc":"21976:46:8","nodeType":"YulExpressionStatement","src":"21976:46:8"},{"nativeSrc":"22087:30:8","nodeType":"YulAssignment","src":"22087:30:8","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22102:4:8","nodeType":"YulIdentifier","src":"22102:4:8"},{"name":"pEval_t","nativeSrc":"22108:7:8","nodeType":"YulIdentifier","src":"22108:7:8"}],"functionName":{"name":"add","nativeSrc":"22098:3:8","nodeType":"YulIdentifier","src":"22098:3:8"},"nativeSrc":"22098:18:8","nodeType":"YulFunctionCall","src":"22098:18:8"}],"functionName":{"name":"mload","nativeSrc":"22092:5:8","nodeType":"YulIdentifier","src":"22092:5:8"},"nativeSrc":"22092:25:8","nodeType":"YulFunctionCall","src":"22092:25:8"},"variableNames":[{"name":"s","nativeSrc":"22087:1:8","nodeType":"YulIdentifier","src":"22087:1:8"}]},{"nativeSrc":"22134:80:8","nodeType":"YulAssignment","src":"22134:80:8","value":{"arguments":[{"name":"s","nativeSrc":"22146:1:8","nodeType":"YulIdentifier","src":"22146:1:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22166:6:8","nodeType":"YulIdentifier","src":"22166:6:8"},{"name":"pEval_r","nativeSrc":"22174:7:8","nodeType":"YulIdentifier","src":"22174:7:8"}],"functionName":{"name":"add","nativeSrc":"22162:3:8","nodeType":"YulIdentifier","src":"22162:3:8"},"nativeSrc":"22162:20:8","nodeType":"YulFunctionCall","src":"22162:20:8"}],"functionName":{"name":"mload","nativeSrc":"22156:5:8","nodeType":"YulIdentifier","src":"22156:5:8"},"nativeSrc":"22156:27:8","nodeType":"YulFunctionCall","src":"22156:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22195:4:8","nodeType":"YulIdentifier","src":"22195:4:8"},{"name":"pV1","nativeSrc":"22201:3:8","nodeType":"YulIdentifier","src":"22201:3:8"}],"functionName":{"name":"add","nativeSrc":"22191:3:8","nodeType":"YulIdentifier","src":"22191:3:8"},"nativeSrc":"22191:14:8","nodeType":"YulFunctionCall","src":"22191:14:8"}],"functionName":{"name":"mload","nativeSrc":"22185:5:8","nodeType":"YulIdentifier","src":"22185:5:8"},"nativeSrc":"22185:21:8","nodeType":"YulFunctionCall","src":"22185:21:8"},{"name":"q","nativeSrc":"22208:1:8","nodeType":"YulIdentifier","src":"22208:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"22149:6:8","nodeType":"YulIdentifier","src":"22149:6:8"},"nativeSrc":"22149:61:8","nodeType":"YulFunctionCall","src":"22149:61:8"},{"name":"q","nativeSrc":"22212:1:8","nodeType":"YulIdentifier","src":"22212:1:8"}],"functionName":{"name":"addmod","nativeSrc":"22139:6:8","nodeType":"YulIdentifier","src":"22139:6:8"},"nativeSrc":"22139:75:8","nodeType":"YulFunctionCall","src":"22139:75:8"},"variableNames":[{"name":"s","nativeSrc":"22134:1:8","nodeType":"YulIdentifier","src":"22134:1:8"}]},{"nativeSrc":"22231:80:8","nodeType":"YulAssignment","src":"22231:80:8","value":{"arguments":[{"name":"s","nativeSrc":"22243:1:8","nodeType":"YulIdentifier","src":"22243:1:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22263:6:8","nodeType":"YulIdentifier","src":"22263:6:8"},{"name":"pEval_a","nativeSrc":"22271:7:8","nodeType":"YulIdentifier","src":"22271:7:8"}],"functionName":{"name":"add","nativeSrc":"22259:3:8","nodeType":"YulIdentifier","src":"22259:3:8"},"nativeSrc":"22259:20:8","nodeType":"YulFunctionCall","src":"22259:20:8"}],"functionName":{"name":"mload","nativeSrc":"22253:5:8","nodeType":"YulIdentifier","src":"22253:5:8"},"nativeSrc":"22253:27:8","nodeType":"YulFunctionCall","src":"22253:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22292:4:8","nodeType":"YulIdentifier","src":"22292:4:8"},{"name":"pV2","nativeSrc":"22298:3:8","nodeType":"YulIdentifier","src":"22298:3:8"}],"functionName":{"name":"add","nativeSrc":"22288:3:8","nodeType":"YulIdentifier","src":"22288:3:8"},"nativeSrc":"22288:14:8","nodeType":"YulFunctionCall","src":"22288:14:8"}],"functionName":{"name":"mload","nativeSrc":"22282:5:8","nodeType":"YulIdentifier","src":"22282:5:8"},"nativeSrc":"22282:21:8","nodeType":"YulFunctionCall","src":"22282:21:8"},{"name":"q","nativeSrc":"22305:1:8","nodeType":"YulIdentifier","src":"22305:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"22246:6:8","nodeType":"YulIdentifier","src":"22246:6:8"},"nativeSrc":"22246:61:8","nodeType":"YulFunctionCall","src":"22246:61:8"},{"name":"q","nativeSrc":"22309:1:8","nodeType":"YulIdentifier","src":"22309:1:8"}],"functionName":{"name":"addmod","nativeSrc":"22236:6:8","nodeType":"YulIdentifier","src":"22236:6:8"},"nativeSrc":"22236:75:8","nodeType":"YulFunctionCall","src":"22236:75:8"},"variableNames":[{"name":"s","nativeSrc":"22231:1:8","nodeType":"YulIdentifier","src":"22231:1:8"}]},{"nativeSrc":"22328:80:8","nodeType":"YulAssignment","src":"22328:80:8","value":{"arguments":[{"name":"s","nativeSrc":"22340:1:8","nodeType":"YulIdentifier","src":"22340:1:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22360:6:8","nodeType":"YulIdentifier","src":"22360:6:8"},{"name":"pEval_b","nativeSrc":"22368:7:8","nodeType":"YulIdentifier","src":"22368:7:8"}],"functionName":{"name":"add","nativeSrc":"22356:3:8","nodeType":"YulIdentifier","src":"22356:3:8"},"nativeSrc":"22356:20:8","nodeType":"YulFunctionCall","src":"22356:20:8"}],"functionName":{"name":"mload","nativeSrc":"22350:5:8","nodeType":"YulIdentifier","src":"22350:5:8"},"nativeSrc":"22350:27:8","nodeType":"YulFunctionCall","src":"22350:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22389:4:8","nodeType":"YulIdentifier","src":"22389:4:8"},{"name":"pV3","nativeSrc":"22395:3:8","nodeType":"YulIdentifier","src":"22395:3:8"}],"functionName":{"name":"add","nativeSrc":"22385:3:8","nodeType":"YulIdentifier","src":"22385:3:8"},"nativeSrc":"22385:14:8","nodeType":"YulFunctionCall","src":"22385:14:8"}],"functionName":{"name":"mload","nativeSrc":"22379:5:8","nodeType":"YulIdentifier","src":"22379:5:8"},"nativeSrc":"22379:21:8","nodeType":"YulFunctionCall","src":"22379:21:8"},{"name":"q","nativeSrc":"22402:1:8","nodeType":"YulIdentifier","src":"22402:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"22343:6:8","nodeType":"YulIdentifier","src":"22343:6:8"},"nativeSrc":"22343:61:8","nodeType":"YulFunctionCall","src":"22343:61:8"},{"name":"q","nativeSrc":"22406:1:8","nodeType":"YulIdentifier","src":"22406:1:8"}],"functionName":{"name":"addmod","nativeSrc":"22333:6:8","nodeType":"YulIdentifier","src":"22333:6:8"},"nativeSrc":"22333:75:8","nodeType":"YulFunctionCall","src":"22333:75:8"},"variableNames":[{"name":"s","nativeSrc":"22328:1:8","nodeType":"YulIdentifier","src":"22328:1:8"}]},{"nativeSrc":"22425:80:8","nodeType":"YulAssignment","src":"22425:80:8","value":{"arguments":[{"name":"s","nativeSrc":"22437:1:8","nodeType":"YulIdentifier","src":"22437:1:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22457:6:8","nodeType":"YulIdentifier","src":"22457:6:8"},{"name":"pEval_c","nativeSrc":"22465:7:8","nodeType":"YulIdentifier","src":"22465:7:8"}],"functionName":{"name":"add","nativeSrc":"22453:3:8","nodeType":"YulIdentifier","src":"22453:3:8"},"nativeSrc":"22453:20:8","nodeType":"YulFunctionCall","src":"22453:20:8"}],"functionName":{"name":"mload","nativeSrc":"22447:5:8","nodeType":"YulIdentifier","src":"22447:5:8"},"nativeSrc":"22447:27:8","nodeType":"YulFunctionCall","src":"22447:27:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22486:4:8","nodeType":"YulIdentifier","src":"22486:4:8"},{"name":"pV4","nativeSrc":"22492:3:8","nodeType":"YulIdentifier","src":"22492:3:8"}],"functionName":{"name":"add","nativeSrc":"22482:3:8","nodeType":"YulIdentifier","src":"22482:3:8"},"nativeSrc":"22482:14:8","nodeType":"YulFunctionCall","src":"22482:14:8"}],"functionName":{"name":"mload","nativeSrc":"22476:5:8","nodeType":"YulIdentifier","src":"22476:5:8"},"nativeSrc":"22476:21:8","nodeType":"YulFunctionCall","src":"22476:21:8"},{"name":"q","nativeSrc":"22499:1:8","nodeType":"YulIdentifier","src":"22499:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"22440:6:8","nodeType":"YulIdentifier","src":"22440:6:8"},"nativeSrc":"22440:61:8","nodeType":"YulFunctionCall","src":"22440:61:8"},{"name":"q","nativeSrc":"22503:1:8","nodeType":"YulIdentifier","src":"22503:1:8"}],"functionName":{"name":"addmod","nativeSrc":"22430:6:8","nodeType":"YulIdentifier","src":"22430:6:8"},"nativeSrc":"22430:75:8","nodeType":"YulFunctionCall","src":"22430:75:8"},"variableNames":[{"name":"s","nativeSrc":"22425:1:8","nodeType":"YulIdentifier","src":"22425:1:8"}]},{"nativeSrc":"22522:81:8","nodeType":"YulAssignment","src":"22522:81:8","value":{"arguments":[{"name":"s","nativeSrc":"22534:1:8","nodeType":"YulIdentifier","src":"22534:1:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22554:6:8","nodeType":"YulIdentifier","src":"22554:6:8"},{"name":"pEval_s1","nativeSrc":"22562:8:8","nodeType":"YulIdentifier","src":"22562:8:8"}],"functionName":{"name":"add","nativeSrc":"22550:3:8","nodeType":"YulIdentifier","src":"22550:3:8"},"nativeSrc":"22550:21:8","nodeType":"YulFunctionCall","src":"22550:21:8"}],"functionName":{"name":"mload","nativeSrc":"22544:5:8","nodeType":"YulIdentifier","src":"22544:5:8"},"nativeSrc":"22544:28:8","nodeType":"YulFunctionCall","src":"22544:28:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22584:4:8","nodeType":"YulIdentifier","src":"22584:4:8"},{"name":"pV5","nativeSrc":"22590:3:8","nodeType":"YulIdentifier","src":"22590:3:8"}],"functionName":{"name":"add","nativeSrc":"22580:3:8","nodeType":"YulIdentifier","src":"22580:3:8"},"nativeSrc":"22580:14:8","nodeType":"YulFunctionCall","src":"22580:14:8"}],"functionName":{"name":"mload","nativeSrc":"22574:5:8","nodeType":"YulIdentifier","src":"22574:5:8"},"nativeSrc":"22574:21:8","nodeType":"YulFunctionCall","src":"22574:21:8"},{"name":"q","nativeSrc":"22597:1:8","nodeType":"YulIdentifier","src":"22597:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"22537:6:8","nodeType":"YulIdentifier","src":"22537:6:8"},"nativeSrc":"22537:62:8","nodeType":"YulFunctionCall","src":"22537:62:8"},{"name":"q","nativeSrc":"22601:1:8","nodeType":"YulIdentifier","src":"22601:1:8"}],"functionName":{"name":"addmod","nativeSrc":"22527:6:8","nodeType":"YulIdentifier","src":"22527:6:8"},"nativeSrc":"22527:76:8","nodeType":"YulFunctionCall","src":"22527:76:8"},"variableNames":[{"name":"s","nativeSrc":"22522:1:8","nodeType":"YulIdentifier","src":"22522:1:8"}]},{"nativeSrc":"22620:81:8","nodeType":"YulAssignment","src":"22620:81:8","value":{"arguments":[{"name":"s","nativeSrc":"22632:1:8","nodeType":"YulIdentifier","src":"22632:1:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22652:6:8","nodeType":"YulIdentifier","src":"22652:6:8"},{"name":"pEval_s2","nativeSrc":"22660:8:8","nodeType":"YulIdentifier","src":"22660:8:8"}],"functionName":{"name":"add","nativeSrc":"22648:3:8","nodeType":"YulIdentifier","src":"22648:3:8"},"nativeSrc":"22648:21:8","nodeType":"YulFunctionCall","src":"22648:21:8"}],"functionName":{"name":"mload","nativeSrc":"22642:5:8","nodeType":"YulIdentifier","src":"22642:5:8"},"nativeSrc":"22642:28:8","nodeType":"YulFunctionCall","src":"22642:28:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22682:4:8","nodeType":"YulIdentifier","src":"22682:4:8"},{"name":"pV6","nativeSrc":"22688:3:8","nodeType":"YulIdentifier","src":"22688:3:8"}],"functionName":{"name":"add","nativeSrc":"22678:3:8","nodeType":"YulIdentifier","src":"22678:3:8"},"nativeSrc":"22678:14:8","nodeType":"YulFunctionCall","src":"22678:14:8"}],"functionName":{"name":"mload","nativeSrc":"22672:5:8","nodeType":"YulIdentifier","src":"22672:5:8"},"nativeSrc":"22672:21:8","nodeType":"YulFunctionCall","src":"22672:21:8"},{"name":"q","nativeSrc":"22695:1:8","nodeType":"YulIdentifier","src":"22695:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"22635:6:8","nodeType":"YulIdentifier","src":"22635:6:8"},"nativeSrc":"22635:62:8","nodeType":"YulFunctionCall","src":"22635:62:8"},{"name":"q","nativeSrc":"22699:1:8","nodeType":"YulIdentifier","src":"22699:1:8"}],"functionName":{"name":"addmod","nativeSrc":"22625:6:8","nodeType":"YulIdentifier","src":"22625:6:8"},"nativeSrc":"22625:76:8","nodeType":"YulFunctionCall","src":"22625:76:8"},"variableNames":[{"name":"s","nativeSrc":"22620:1:8","nodeType":"YulIdentifier","src":"22620:1:8"}]},{"nativeSrc":"22718:80:8","nodeType":"YulAssignment","src":"22718:80:8","value":{"arguments":[{"name":"s","nativeSrc":"22730:1:8","nodeType":"YulIdentifier","src":"22730:1:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pProof","nativeSrc":"22750:6:8","nodeType":"YulIdentifier","src":"22750:6:8"},{"name":"pEval_zw","nativeSrc":"22758:8:8","nodeType":"YulIdentifier","src":"22758:8:8"}],"functionName":{"name":"add","nativeSrc":"22746:3:8","nodeType":"YulIdentifier","src":"22746:3:8"},"nativeSrc":"22746:21:8","nodeType":"YulFunctionCall","src":"22746:21:8"}],"functionName":{"name":"mload","nativeSrc":"22740:5:8","nodeType":"YulIdentifier","src":"22740:5:8"},"nativeSrc":"22740:28:8","nodeType":"YulFunctionCall","src":"22740:28:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22780:4:8","nodeType":"YulIdentifier","src":"22780:4:8"},{"name":"pU","nativeSrc":"22786:2:8","nodeType":"YulIdentifier","src":"22786:2:8"}],"functionName":{"name":"add","nativeSrc":"22776:3:8","nodeType":"YulIdentifier","src":"22776:3:8"},"nativeSrc":"22776:13:8","nodeType":"YulFunctionCall","src":"22776:13:8"}],"functionName":{"name":"mload","nativeSrc":"22770:5:8","nodeType":"YulIdentifier","src":"22770:5:8"},"nativeSrc":"22770:20:8","nodeType":"YulFunctionCall","src":"22770:20:8"},{"name":"q","nativeSrc":"22792:1:8","nodeType":"YulIdentifier","src":"22792:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"22733:6:8","nodeType":"YulIdentifier","src":"22733:6:8"},"nativeSrc":"22733:61:8","nodeType":"YulFunctionCall","src":"22733:61:8"},{"name":"q","nativeSrc":"22796:1:8","nodeType":"YulIdentifier","src":"22796:1:8"}],"functionName":{"name":"addmod","nativeSrc":"22723:6:8","nodeType":"YulIdentifier","src":"22723:6:8"},"nativeSrc":"22723:75:8","nodeType":"YulFunctionCall","src":"22723:75:8"},"variableNames":[{"name":"s","nativeSrc":"22718:1:8","nodeType":"YulIdentifier","src":"22718:1:8"}]},{"nativeSrc":"22815:22:8","nodeType":"YulAssignment","src":"22815:22:8","value":{"arguments":[{"arguments":[{"name":"q","nativeSrc":"22828:1:8","nodeType":"YulIdentifier","src":"22828:1:8"},{"name":"s","nativeSrc":"22831:1:8","nodeType":"YulIdentifier","src":"22831:1:8"}],"functionName":{"name":"sub","nativeSrc":"22824:3:8","nodeType":"YulIdentifier","src":"22824:3:8"},"nativeSrc":"22824:9:8","nodeType":"YulFunctionCall","src":"22824:9:8"},{"name":"q","nativeSrc":"22835:1:8","nodeType":"YulIdentifier","src":"22835:1:8"}],"functionName":{"name":"mod","nativeSrc":"22820:3:8","nodeType":"YulIdentifier","src":"22820:3:8"},"nativeSrc":"22820:17:8","nodeType":"YulFunctionCall","src":"22820:17:8"},"variableNames":[{"name":"s","nativeSrc":"22815:1:8","nodeType":"YulIdentifier","src":"22815:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"22865:1:8","nodeType":"YulIdentifier","src":"22865:1:8"},{"name":"G1x","nativeSrc":"22868:3:8","nodeType":"YulIdentifier","src":"22868:3:8"},{"name":"G1y","nativeSrc":"22873:3:8","nodeType":"YulIdentifier","src":"22873:3:8"},{"name":"s","nativeSrc":"22878:1:8","nodeType":"YulIdentifier","src":"22878:1:8"}],"functionName":{"name":"g1_mulAccC","nativeSrc":"22854:10:8","nodeType":"YulIdentifier","src":"22854:10:8"},"nativeSrc":"22854:26:8","nodeType":"YulFunctionCall","src":"22854:26:8"},"nativeSrc":"22854:26:8","nodeType":"YulExpressionStatement","src":"22854:26:8"},{"nativeSrc":"22965:26:8","nodeType":"YulAssignment","src":"22965:26:8","value":{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"22980:4:8","nodeType":"YulIdentifier","src":"22980:4:8"},{"name":"pXi","nativeSrc":"22986:3:8","nodeType":"YulIdentifier","src":"22986:3:8"}],"functionName":{"name":"add","nativeSrc":"22976:3:8","nodeType":"YulIdentifier","src":"22976:3:8"},"nativeSrc":"22976:14:8","nodeType":"YulFunctionCall","src":"22976:14:8"}],"functionName":{"name":"mload","nativeSrc":"22970:5:8","nodeType":"YulIdentifier","src":"22970:5:8"},"nativeSrc":"22970:21:8","nodeType":"YulFunctionCall","src":"22970:21:8"},"variableNames":[{"name":"s","nativeSrc":"22965:1:8","nodeType":"YulIdentifier","src":"22965:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23018:1:8","nodeType":"YulIdentifier","src":"23018:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"23025:6:8","nodeType":"YulIdentifier","src":"23025:6:8"},{"name":"pWxi","nativeSrc":"23033:4:8","nodeType":"YulIdentifier","src":"23033:4:8"}],"functionName":{"name":"add","nativeSrc":"23021:3:8","nodeType":"YulIdentifier","src":"23021:3:8"},"nativeSrc":"23021:17:8","nodeType":"YulFunctionCall","src":"23021:17:8"},{"name":"s","nativeSrc":"23040:1:8","nodeType":"YulIdentifier","src":"23040:1:8"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23008:9:8","nodeType":"YulIdentifier","src":"23008:9:8"},"nativeSrc":"23008:34:8","nodeType":"YulFunctionCall","src":"23008:34:8"},"nativeSrc":"23008:34:8","nodeType":"YulExpressionStatement","src":"23008:34:8"},{"nativeSrc":"23060:59:8","nodeType":"YulAssignment","src":"23060:59:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23082:4:8","nodeType":"YulIdentifier","src":"23082:4:8"},{"name":"pU","nativeSrc":"23088:2:8","nodeType":"YulIdentifier","src":"23088:2:8"}],"functionName":{"name":"add","nativeSrc":"23078:3:8","nodeType":"YulIdentifier","src":"23078:3:8"},"nativeSrc":"23078:13:8","nodeType":"YulFunctionCall","src":"23078:13:8"}],"functionName":{"name":"mload","nativeSrc":"23072:5:8","nodeType":"YulIdentifier","src":"23072:5:8"},"nativeSrc":"23072:20:8","nodeType":"YulFunctionCall","src":"23072:20:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23104:4:8","nodeType":"YulIdentifier","src":"23104:4:8"},{"name":"pXi","nativeSrc":"23110:3:8","nodeType":"YulIdentifier","src":"23110:3:8"}],"functionName":{"name":"add","nativeSrc":"23100:3:8","nodeType":"YulIdentifier","src":"23100:3:8"},"nativeSrc":"23100:14:8","nodeType":"YulFunctionCall","src":"23100:14:8"}],"functionName":{"name":"mload","nativeSrc":"23094:5:8","nodeType":"YulIdentifier","src":"23094:5:8"},"nativeSrc":"23094:21:8","nodeType":"YulFunctionCall","src":"23094:21:8"},{"name":"q","nativeSrc":"23117:1:8","nodeType":"YulIdentifier","src":"23117:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"23065:6:8","nodeType":"YulIdentifier","src":"23065:6:8"},"nativeSrc":"23065:54:8","nodeType":"YulFunctionCall","src":"23065:54:8"},"variableNames":[{"name":"s","nativeSrc":"23060:1:8","nodeType":"YulIdentifier","src":"23060:1:8"}]},{"nativeSrc":"23136:21:8","nodeType":"YulAssignment","src":"23136:21:8","value":{"arguments":[{"name":"s","nativeSrc":"23148:1:8","nodeType":"YulIdentifier","src":"23148:1:8"},{"name":"w1","nativeSrc":"23151:2:8","nodeType":"YulIdentifier","src":"23151:2:8"},{"name":"q","nativeSrc":"23155:1:8","nodeType":"YulIdentifier","src":"23155:1:8"}],"functionName":{"name":"mulmod","nativeSrc":"23141:6:8","nodeType":"YulIdentifier","src":"23141:6:8"},"nativeSrc":"23141:16:8","nodeType":"YulFunctionCall","src":"23141:16:8"},"variableNames":[{"name":"s","nativeSrc":"23136:1:8","nodeType":"YulIdentifier","src":"23136:1:8"}]},{"expression":{"arguments":[{"name":"p","nativeSrc":"23184:1:8","nodeType":"YulIdentifier","src":"23184:1:8"},{"arguments":[{"name":"pProof","nativeSrc":"23191:6:8","nodeType":"YulIdentifier","src":"23191:6:8"},{"name":"pWxiw","nativeSrc":"23199:5:8","nodeType":"YulIdentifier","src":"23199:5:8"}],"functionName":{"name":"add","nativeSrc":"23187:3:8","nodeType":"YulIdentifier","src":"23187:3:8"},"nativeSrc":"23187:18:8","nodeType":"YulFunctionCall","src":"23187:18:8"},{"name":"s","nativeSrc":"23207:1:8","nodeType":"YulIdentifier","src":"23207:1:8"}],"functionName":{"name":"g1_mulAcc","nativeSrc":"23174:9:8","nodeType":"YulIdentifier","src":"23174:9:8"},"nativeSrc":"23174:35:8","nodeType":"YulFunctionCall","src":"23174:35:8"},"nativeSrc":"23174:35:8","nodeType":"YulExpressionStatement","src":"23174:35:8"}]},"name":"calculateB1","nativeSrc":"18746:4478:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pProof","nativeSrc":"18767:6:8","nodeType":"YulTypedName","src":"18767:6:8","type":""},{"name":"pMem","nativeSrc":"18775:4:8","nodeType":"YulTypedName","src":"18775:4:8","type":""}],"src":"18746:4478:8"},{"body":{"nativeSrc":"23286:879:8","nodeType":"YulBlock","src":"23286:879:8","statements":[{"nativeSrc":"23304:22:8","nodeType":"YulVariableDeclaration","src":"23304:22:8","value":{"arguments":[{"kind":"number","nativeSrc":"23321:4:8","nodeType":"YulLiteral","src":"23321:4:8","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"23315:5:8","nodeType":"YulIdentifier","src":"23315:5:8"},"nativeSrc":"23315:11:8","nodeType":"YulFunctionCall","src":"23315:11:8"},"variables":[{"name":"mIn","nativeSrc":"23308:3:8","nodeType":"YulTypedName","src":"23308:3:8","type":""}]},{"expression":{"arguments":[{"name":"mIn","nativeSrc":"23350:3:8","nodeType":"YulIdentifier","src":"23350:3:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23365:4:8","nodeType":"YulIdentifier","src":"23365:4:8"},{"name":"pA1","nativeSrc":"23371:3:8","nodeType":"YulIdentifier","src":"23371:3:8"}],"functionName":{"name":"add","nativeSrc":"23361:3:8","nodeType":"YulIdentifier","src":"23361:3:8"},"nativeSrc":"23361:14:8","nodeType":"YulFunctionCall","src":"23361:14:8"}],"functionName":{"name":"mload","nativeSrc":"23355:5:8","nodeType":"YulIdentifier","src":"23355:5:8"},"nativeSrc":"23355:21:8","nodeType":"YulFunctionCall","src":"23355:21:8"}],"functionName":{"name":"mstore","nativeSrc":"23343:6:8","nodeType":"YulIdentifier","src":"23343:6:8"},"nativeSrc":"23343:34:8","nodeType":"YulFunctionCall","src":"23343:34:8"},"nativeSrc":"23343:34:8","nodeType":"YulExpressionStatement","src":"23343:34:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23405:3:8","nodeType":"YulIdentifier","src":"23405:3:8"},{"kind":"number","nativeSrc":"23409:2:8","nodeType":"YulLiteral","src":"23409:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23401:3:8","nodeType":"YulIdentifier","src":"23401:3:8"},"nativeSrc":"23401:11:8","nodeType":"YulFunctionCall","src":"23401:11:8"},{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23428:4:8","nodeType":"YulIdentifier","src":"23428:4:8"},{"name":"pA1","nativeSrc":"23434:3:8","nodeType":"YulIdentifier","src":"23434:3:8"}],"functionName":{"name":"add","nativeSrc":"23424:3:8","nodeType":"YulIdentifier","src":"23424:3:8"},"nativeSrc":"23424:14:8","nodeType":"YulFunctionCall","src":"23424:14:8"},{"kind":"number","nativeSrc":"23440:2:8","nodeType":"YulLiteral","src":"23440:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23420:3:8","nodeType":"YulIdentifier","src":"23420:3:8"},"nativeSrc":"23420:23:8","nodeType":"YulFunctionCall","src":"23420:23:8"}],"functionName":{"name":"mload","nativeSrc":"23414:5:8","nodeType":"YulIdentifier","src":"23414:5:8"},"nativeSrc":"23414:30:8","nodeType":"YulFunctionCall","src":"23414:30:8"}],"functionName":{"name":"mstore","nativeSrc":"23394:6:8","nodeType":"YulIdentifier","src":"23394:6:8"},"nativeSrc":"23394:51:8","nodeType":"YulFunctionCall","src":"23394:51:8"},"nativeSrc":"23394:51:8","nodeType":"YulExpressionStatement","src":"23394:51:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23473:3:8","nodeType":"YulIdentifier","src":"23473:3:8"},{"kind":"number","nativeSrc":"23477:2:8","nodeType":"YulLiteral","src":"23477:2:8","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"23469:3:8","nodeType":"YulIdentifier","src":"23469:3:8"},"nativeSrc":"23469:11:8","nodeType":"YulFunctionCall","src":"23469:11:8"},{"name":"X2x2","nativeSrc":"23482:4:8","nodeType":"YulIdentifier","src":"23482:4:8"}],"functionName":{"name":"mstore","nativeSrc":"23462:6:8","nodeType":"YulIdentifier","src":"23462:6:8"},"nativeSrc":"23462:25:8","nodeType":"YulFunctionCall","src":"23462:25:8"},"nativeSrc":"23462:25:8","nodeType":"YulExpressionStatement","src":"23462:25:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23515:3:8","nodeType":"YulIdentifier","src":"23515:3:8"},{"kind":"number","nativeSrc":"23519:2:8","nodeType":"YulLiteral","src":"23519:2:8","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"23511:3:8","nodeType":"YulIdentifier","src":"23511:3:8"},"nativeSrc":"23511:11:8","nodeType":"YulFunctionCall","src":"23511:11:8"},{"name":"X2x1","nativeSrc":"23524:4:8","nodeType":"YulIdentifier","src":"23524:4:8"}],"functionName":{"name":"mstore","nativeSrc":"23504:6:8","nodeType":"YulIdentifier","src":"23504:6:8"},"nativeSrc":"23504:25:8","nodeType":"YulFunctionCall","src":"23504:25:8"},"nativeSrc":"23504:25:8","nodeType":"YulExpressionStatement","src":"23504:25:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23557:3:8","nodeType":"YulIdentifier","src":"23557:3:8"},{"kind":"number","nativeSrc":"23561:3:8","nodeType":"YulLiteral","src":"23561:3:8","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"23553:3:8","nodeType":"YulIdentifier","src":"23553:3:8"},"nativeSrc":"23553:12:8","nodeType":"YulFunctionCall","src":"23553:12:8"},{"name":"X2y2","nativeSrc":"23567:4:8","nodeType":"YulIdentifier","src":"23567:4:8"}],"functionName":{"name":"mstore","nativeSrc":"23546:6:8","nodeType":"YulIdentifier","src":"23546:6:8"},"nativeSrc":"23546:26:8","nodeType":"YulFunctionCall","src":"23546:26:8"},"nativeSrc":"23546:26:8","nodeType":"YulExpressionStatement","src":"23546:26:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23600:3:8","nodeType":"YulIdentifier","src":"23600:3:8"},{"kind":"number","nativeSrc":"23604:3:8","nodeType":"YulLiteral","src":"23604:3:8","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"23596:3:8","nodeType":"YulIdentifier","src":"23596:3:8"},"nativeSrc":"23596:12:8","nodeType":"YulFunctionCall","src":"23596:12:8"},{"name":"X2y1","nativeSrc":"23610:4:8","nodeType":"YulIdentifier","src":"23610:4:8"}],"functionName":{"name":"mstore","nativeSrc":"23589:6:8","nodeType":"YulIdentifier","src":"23589:6:8"},"nativeSrc":"23589:26:8","nodeType":"YulFunctionCall","src":"23589:26:8"},"nativeSrc":"23589:26:8","nodeType":"YulExpressionStatement","src":"23589:26:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23643:3:8","nodeType":"YulIdentifier","src":"23643:3:8"},{"kind":"number","nativeSrc":"23647:3:8","nodeType":"YulLiteral","src":"23647:3:8","type":"","value":"192"}],"functionName":{"name":"add","nativeSrc":"23639:3:8","nodeType":"YulIdentifier","src":"23639:3:8"},"nativeSrc":"23639:12:8","nodeType":"YulFunctionCall","src":"23639:12:8"},{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23663:4:8","nodeType":"YulIdentifier","src":"23663:4:8"},{"name":"pB1","nativeSrc":"23669:3:8","nodeType":"YulIdentifier","src":"23669:3:8"}],"functionName":{"name":"add","nativeSrc":"23659:3:8","nodeType":"YulIdentifier","src":"23659:3:8"},"nativeSrc":"23659:14:8","nodeType":"YulFunctionCall","src":"23659:14:8"}],"functionName":{"name":"mload","nativeSrc":"23653:5:8","nodeType":"YulIdentifier","src":"23653:5:8"},"nativeSrc":"23653:21:8","nodeType":"YulFunctionCall","src":"23653:21:8"}],"functionName":{"name":"mstore","nativeSrc":"23632:6:8","nodeType":"YulIdentifier","src":"23632:6:8"},"nativeSrc":"23632:43:8","nodeType":"YulFunctionCall","src":"23632:43:8"},"nativeSrc":"23632:43:8","nodeType":"YulExpressionStatement","src":"23632:43:8"},{"nativeSrc":"23692:39:8","nodeType":"YulVariableDeclaration","src":"23692:39:8","value":{"arguments":[{"arguments":[{"arguments":[{"name":"pMem","nativeSrc":"23715:4:8","nodeType":"YulIdentifier","src":"23715:4:8"},{"name":"pB1","nativeSrc":"23721:3:8","nodeType":"YulIdentifier","src":"23721:3:8"}],"functionName":{"name":"add","nativeSrc":"23711:3:8","nodeType":"YulIdentifier","src":"23711:3:8"},"nativeSrc":"23711:14:8","nodeType":"YulFunctionCall","src":"23711:14:8"},{"kind":"number","nativeSrc":"23727:2:8","nodeType":"YulLiteral","src":"23727:2:8","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"23707:3:8","nodeType":"YulIdentifier","src":"23707:3:8"},"nativeSrc":"23707:23:8","nodeType":"YulFunctionCall","src":"23707:23:8"}],"functionName":{"name":"mload","nativeSrc":"23701:5:8","nodeType":"YulIdentifier","src":"23701:5:8"},"nativeSrc":"23701:30:8","nodeType":"YulFunctionCall","src":"23701:30:8"},"variables":[{"name":"s","nativeSrc":"23696:1:8","nodeType":"YulTypedName","src":"23696:1:8","type":""}]},{"nativeSrc":"23748:24:8","nodeType":"YulAssignment","src":"23748:24:8","value":{"arguments":[{"arguments":[{"name":"qf","nativeSrc":"23761:2:8","nodeType":"YulIdentifier","src":"23761:2:8"},{"name":"s","nativeSrc":"23765:1:8","nodeType":"YulIdentifier","src":"23765:1:8"}],"functionName":{"name":"sub","nativeSrc":"23757:3:8","nodeType":"YulIdentifier","src":"23757:3:8"},"nativeSrc":"23757:10:8","nodeType":"YulFunctionCall","src":"23757:10:8"},{"name":"qf","nativeSrc":"23769:2:8","nodeType":"YulIdentifier","src":"23769:2:8"}],"functionName":{"name":"mod","nativeSrc":"23753:3:8","nodeType":"YulIdentifier","src":"23753:3:8"},"nativeSrc":"23753:19:8","nodeType":"YulFunctionCall","src":"23753:19:8"},"variableNames":[{"name":"s","nativeSrc":"23748:1:8","nodeType":"YulIdentifier","src":"23748:1:8"}]},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23800:3:8","nodeType":"YulIdentifier","src":"23800:3:8"},{"kind":"number","nativeSrc":"23804:3:8","nodeType":"YulLiteral","src":"23804:3:8","type":"","value":"224"}],"functionName":{"name":"add","nativeSrc":"23796:3:8","nodeType":"YulIdentifier","src":"23796:3:8"},"nativeSrc":"23796:12:8","nodeType":"YulFunctionCall","src":"23796:12:8"},{"name":"s","nativeSrc":"23810:1:8","nodeType":"YulIdentifier","src":"23810:1:8"}],"functionName":{"name":"mstore","nativeSrc":"23789:6:8","nodeType":"YulIdentifier","src":"23789:6:8"},"nativeSrc":"23789:23:8","nodeType":"YulFunctionCall","src":"23789:23:8"},"nativeSrc":"23789:23:8","nodeType":"YulExpressionStatement","src":"23789:23:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23840:3:8","nodeType":"YulIdentifier","src":"23840:3:8"},{"kind":"number","nativeSrc":"23844:3:8","nodeType":"YulLiteral","src":"23844:3:8","type":"","value":"256"}],"functionName":{"name":"add","nativeSrc":"23836:3:8","nodeType":"YulIdentifier","src":"23836:3:8"},"nativeSrc":"23836:12:8","nodeType":"YulFunctionCall","src":"23836:12:8"},{"name":"G2x2","nativeSrc":"23850:4:8","nodeType":"YulIdentifier","src":"23850:4:8"}],"functionName":{"name":"mstore","nativeSrc":"23829:6:8","nodeType":"YulIdentifier","src":"23829:6:8"},"nativeSrc":"23829:26:8","nodeType":"YulFunctionCall","src":"23829:26:8"},"nativeSrc":"23829:26:8","nodeType":"YulExpressionStatement","src":"23829:26:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23883:3:8","nodeType":"YulIdentifier","src":"23883:3:8"},{"kind":"number","nativeSrc":"23887:3:8","nodeType":"YulLiteral","src":"23887:3:8","type":"","value":"288"}],"functionName":{"name":"add","nativeSrc":"23879:3:8","nodeType":"YulIdentifier","src":"23879:3:8"},"nativeSrc":"23879:12:8","nodeType":"YulFunctionCall","src":"23879:12:8"},{"name":"G2x1","nativeSrc":"23893:4:8","nodeType":"YulIdentifier","src":"23893:4:8"}],"functionName":{"name":"mstore","nativeSrc":"23872:6:8","nodeType":"YulIdentifier","src":"23872:6:8"},"nativeSrc":"23872:26:8","nodeType":"YulFunctionCall","src":"23872:26:8"},"nativeSrc":"23872:26:8","nodeType":"YulExpressionStatement","src":"23872:26:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23926:3:8","nodeType":"YulIdentifier","src":"23926:3:8"},{"kind":"number","nativeSrc":"23930:3:8","nodeType":"YulLiteral","src":"23930:3:8","type":"","value":"320"}],"functionName":{"name":"add","nativeSrc":"23922:3:8","nodeType":"YulIdentifier","src":"23922:3:8"},"nativeSrc":"23922:12:8","nodeType":"YulFunctionCall","src":"23922:12:8"},{"name":"G2y2","nativeSrc":"23936:4:8","nodeType":"YulIdentifier","src":"23936:4:8"}],"functionName":{"name":"mstore","nativeSrc":"23915:6:8","nodeType":"YulIdentifier","src":"23915:6:8"},"nativeSrc":"23915:26:8","nodeType":"YulFunctionCall","src":"23915:26:8"},"nativeSrc":"23915:26:8","nodeType":"YulExpressionStatement","src":"23915:26:8"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nativeSrc":"23969:3:8","nodeType":"YulIdentifier","src":"23969:3:8"},{"kind":"number","nativeSrc":"23973:3:8","nodeType":"YulLiteral","src":"23973:3:8","type":"","value":"352"}],"functionName":{"name":"add","nativeSrc":"23965:3:8","nodeType":"YulIdentifier","src":"23965:3:8"},"nativeSrc":"23965:12:8","nodeType":"YulFunctionCall","src":"23965:12:8"},{"name":"G2y1","nativeSrc":"23979:4:8","nodeType":"YulIdentifier","src":"23979:4:8"}],"functionName":{"name":"mstore","nativeSrc":"23958:6:8","nodeType":"YulIdentifier","src":"23958:6:8"},"nativeSrc":"23958:26:8","nodeType":"YulFunctionCall","src":"23958:26:8"},"nativeSrc":"23958:26:8","nodeType":"YulExpressionStatement","src":"23958:26:8"},{"nativeSrc":"24018:67:8","nodeType":"YulVariableDeclaration","src":"24018:67:8","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"24048:3:8","nodeType":"YulIdentifier","src":"24048:3:8"},"nativeSrc":"24048:5:8","nodeType":"YulFunctionCall","src":"24048:5:8"},{"kind":"number","nativeSrc":"24055:4:8","nodeType":"YulLiteral","src":"24055:4:8","type":"","value":"2000"}],"functionName":{"name":"sub","nativeSrc":"24044:3:8","nodeType":"YulIdentifier","src":"24044:3:8"},"nativeSrc":"24044:16:8","nodeType":"YulFunctionCall","src":"24044:16:8"},{"kind":"number","nativeSrc":"24062:1:8","nodeType":"YulLiteral","src":"24062:1:8","type":"","value":"8"},{"name":"mIn","nativeSrc":"24065:3:8","nodeType":"YulIdentifier","src":"24065:3:8"},{"kind":"number","nativeSrc":"24070:3:8","nodeType":"YulLiteral","src":"24070:3:8","type":"","value":"384"},{"name":"mIn","nativeSrc":"24075:3:8","nodeType":"YulIdentifier","src":"24075:3:8"},{"kind":"number","nativeSrc":"24080:4:8","nodeType":"YulLiteral","src":"24080:4:8","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nativeSrc":"24033:10:8","nodeType":"YulIdentifier","src":"24033:10:8"},"nativeSrc":"24033:52:8","nodeType":"YulFunctionCall","src":"24033:52:8"},"variables":[{"name":"success","nativeSrc":"24022:7:8","nodeType":"YulTypedName","src":"24022:7:8","type":""}]},{"nativeSrc":"24119:32:8","nodeType":"YulAssignment","src":"24119:32:8","value":{"arguments":[{"name":"success","nativeSrc":"24131:7:8","nodeType":"YulIdentifier","src":"24131:7:8"},{"arguments":[{"name":"mIn","nativeSrc":"24146:3:8","nodeType":"YulIdentifier","src":"24146:3:8"}],"functionName":{"name":"mload","nativeSrc":"24140:5:8","nodeType":"YulIdentifier","src":"24140:5:8"},"nativeSrc":"24140:10:8","nodeType":"YulFunctionCall","src":"24140:10:8"}],"functionName":{"name":"and","nativeSrc":"24127:3:8","nodeType":"YulIdentifier","src":"24127:3:8"},"nativeSrc":"24127:24:8","nodeType":"YulFunctionCall","src":"24127:24:8"},"variableNames":[{"name":"isOk","nativeSrc":"24119:4:8","nodeType":"YulIdentifier","src":"24119:4:8"}]}]},"name":"checkPairing","nativeSrc":"23250:915:8","nodeType":"YulFunctionDefinition","parameters":[{"name":"pMem","nativeSrc":"23272:4:8","nodeType":"YulTypedName","src":"23272:4:8","type":""}],"returnVariables":[{"name":"isOk","nativeSrc":"23281:4:8","nodeType":"YulTypedName","src":"23281:4:8","type":""}],"src":"23250:915:8"},{"nativeSrc":"24191:23:8","nodeType":"YulVariableDeclaration","src":"24191:23:8","value":{"arguments":[{"kind":"number","nativeSrc":"24209:4:8","nodeType":"YulLiteral","src":"24209:4:8","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"24203:5:8","nodeType":"YulIdentifier","src":"24203:5:8"},"nativeSrc":"24203:11:8","nodeType":"YulFunctionCall","src":"24203:11:8"},"variables":[{"name":"pMem","nativeSrc":"24195:4:8","nodeType":"YulTypedName","src":"24195:4:8","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24234:4:8","nodeType":"YulLiteral","src":"24234:4:8","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24244:4:8","nodeType":"YulIdentifier","src":"24244:4:8"},{"name":"lastMem","nativeSrc":"24250:7:8","nodeType":"YulIdentifier","src":"24250:7:8"}],"functionName":{"name":"add","nativeSrc":"24240:3:8","nodeType":"YulIdentifier","src":"24240:3:8"},"nativeSrc":"24240:18:8","nodeType":"YulFunctionCall","src":"24240:18:8"}],"functionName":{"name":"mstore","nativeSrc":"24227:6:8","nodeType":"YulIdentifier","src":"24227:6:8"},"nativeSrc":"24227:32:8","nodeType":"YulFunctionCall","src":"24227:32:8"},"nativeSrc":"24227:32:8","nodeType":"YulExpressionStatement","src":"24227:32:8"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24296:5:8","nodeType":"YulIdentifier","src":"24296:5:8"}],"functionName":{"name":"checkInput","nativeSrc":"24285:10:8","nodeType":"YulIdentifier","src":"24285:10:8"},"nativeSrc":"24285:17:8","nodeType":"YulFunctionCall","src":"24285:17:8"},"nativeSrc":"24285:17:8","nodeType":"YulExpressionStatement","src":"24285:17:8"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24335:5:8","nodeType":"YulIdentifier","src":"24335:5:8"},{"name":"pMem","nativeSrc":"24342:4:8","nodeType":"YulIdentifier","src":"24342:4:8"},{"name":"pubSignals","nativeSrc":"24348:10:8","nodeType":"YulIdentifier","src":"24348:10:8"}],"functionName":{"name":"calculateChallanges","nativeSrc":"24315:19:8","nodeType":"YulIdentifier","src":"24315:19:8"},"nativeSrc":"24315:44:8","nodeType":"YulFunctionCall","src":"24315:44:8"},"nativeSrc":"24315:44:8","nodeType":"YulExpressionStatement","src":"24315:44:8"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24390:4:8","nodeType":"YulIdentifier","src":"24390:4:8"}],"functionName":{"name":"calculateLagrange","nativeSrc":"24372:17:8","nodeType":"YulIdentifier","src":"24372:17:8"},"nativeSrc":"24372:23:8","nodeType":"YulFunctionCall","src":"24372:23:8"},"nativeSrc":"24372:23:8","nodeType":"YulExpressionStatement","src":"24372:23:8"},{"expression":{"arguments":[{"name":"pMem","nativeSrc":"24420:4:8","nodeType":"YulIdentifier","src":"24420:4:8"},{"name":"pubSignals","nativeSrc":"24426:10:8","nodeType":"YulIdentifier","src":"24426:10:8"}],"functionName":{"name":"calculatePl","nativeSrc":"24408:11:8","nodeType":"YulIdentifier","src":"24408:11:8"},"nativeSrc":"24408:29:8","nodeType":"YulFunctionCall","src":"24408:29:8"},"nativeSrc":"24408:29:8","nodeType":"YulExpressionStatement","src":"24408:29:8"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24461:5:8","nodeType":"YulIdentifier","src":"24461:5:8"},{"name":"pMem","nativeSrc":"24468:4:8","nodeType":"YulIdentifier","src":"24468:4:8"}],"functionName":{"name":"calculateT","nativeSrc":"24450:10:8","nodeType":"YulIdentifier","src":"24450:10:8"},"nativeSrc":"24450:23:8","nodeType":"YulFunctionCall","src":"24450:23:8"},"nativeSrc":"24450:23:8","nodeType":"YulExpressionStatement","src":"24450:23:8"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24498:5:8","nodeType":"YulIdentifier","src":"24498:5:8"},{"name":"pMem","nativeSrc":"24505:4:8","nodeType":"YulIdentifier","src":"24505:4:8"}],"functionName":{"name":"calculateA1","nativeSrc":"24486:11:8","nodeType":"YulIdentifier","src":"24486:11:8"},"nativeSrc":"24486:24:8","nodeType":"YulFunctionCall","src":"24486:24:8"},"nativeSrc":"24486:24:8","nodeType":"YulExpressionStatement","src":"24486:24:8"},{"expression":{"arguments":[{"name":"proof","nativeSrc":"24535:5:8","nodeType":"YulIdentifier","src":"24535:5:8"},{"name":"pMem","nativeSrc":"24542:4:8","nodeType":"YulIdentifier","src":"24542:4:8"}],"functionName":{"name":"calculateB1","nativeSrc":"24523:11:8","nodeType":"YulIdentifier","src":"24523:11:8"},"nativeSrc":"24523:24:8","nodeType":"YulFunctionCall","src":"24523:24:8"},"nativeSrc":"24523:24:8","nodeType":"YulExpressionStatement","src":"24523:24:8"},{"nativeSrc":"24560:33:8","nodeType":"YulVariableDeclaration","src":"24560:33:8","value":{"arguments":[{"name":"pMem","nativeSrc":"24588:4:8","nodeType":"YulIdentifier","src":"24588:4:8"}],"functionName":{"name":"checkPairing","nativeSrc":"24575:12:8","nodeType":"YulIdentifier","src":"24575:12:8"},"nativeSrc":"24575:18:8","nodeType":"YulFunctionCall","src":"24575:18:8"},"variables":[{"name":"isValid","nativeSrc":"24564:7:8","nodeType":"YulTypedName","src":"24564:7:8","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24626:4:8","nodeType":"YulLiteral","src":"24626:4:8","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nativeSrc":"24636:4:8","nodeType":"YulIdentifier","src":"24636:4:8"},{"name":"lastMem","nativeSrc":"24642:7:8","nodeType":"YulIdentifier","src":"24642:7:8"}],"functionName":{"name":"sub","nativeSrc":"24632:3:8","nodeType":"YulIdentifier","src":"24632:3:8"},"nativeSrc":"24632:18:8","nodeType":"YulFunctionCall","src":"24632:18:8"}],"functionName":{"name":"mstore","nativeSrc":"24619:6:8","nodeType":"YulIdentifier","src":"24619:6:8"},"nativeSrc":"24619:32:8","nodeType":"YulFunctionCall","src":"24619:32:8"},"nativeSrc":"24619:32:8","nodeType":"YulExpressionStatement","src":"24619:32:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24671:1:8","nodeType":"YulLiteral","src":"24671:1:8","type":"","value":"0"},{"name":"isValid","nativeSrc":"24674:7:8","nodeType":"YulIdentifier","src":"24674:7:8"}],"functionName":{"name":"mstore","nativeSrc":"24664:6:8","nodeType":"YulIdentifier","src":"24664:6:8"},"nativeSrc":"24664:18:8","nodeType":"YulFunctionCall","src":"24664:18:8"},"nativeSrc":"24664:18:8","nodeType":"YulExpressionStatement","src":"24664:18:8"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24702:1:8","nodeType":"YulLiteral","src":"24702:1:8","type":"","value":"0"},{"kind":"number","nativeSrc":"24704:4:8","nodeType":"YulLiteral","src":"24704:4:8","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"24695:6:8","nodeType":"YulIdentifier","src":"24695:6:8"},"nativeSrc":"24695:14:8","nodeType":"YulFunctionCall","src":"24695:14:8"},"nativeSrc":"24695:14:8","nodeType":"YulExpressionStatement","src":"24695:14:8"}]},"evmVersion":"paris","externalReferences":[{"declaration":1133,"isOffset":false,"isSlot":false,"src":"22868:3:8","valueSize":1},{"declaration":1136,"isOffset":false,"isSlot":false,"src":"22873:3:8","valueSize":1},{"declaration":1139,"isOffset":false,"isSlot":false,"src":"23893:4:8","valueSize":1},{"declaration":1142,"isOffset":false,"isSlot":false,"src":"23850:4:8","valueSize":1},{"declaration":1145,"isOffset":false,"isSlot":false,"src":"23979:4:8","valueSize":1},{"declaration":1148,"isOffset":false,"isSlot":false,"src":"23936:4:8","valueSize":1},{"declaration":1082,"isOffset":false,"isSlot":false,"src":"19512:3:8","valueSize":1},{"declaration":1085,"isOffset":false,"isSlot":false,"src":"19517:3:8","valueSize":1},{"declaration":1064,"isOffset":false,"isSlot":false,"src":"19030:3:8","valueSize":1},{"declaration":1067,"isOffset":false,"isSlot":false,"src":"19035:3:8","valueSize":1},{"declaration":1058,"isOffset":false,"isSlot":false,"src":"19154:3:8","valueSize":1},{"declaration":1061,"isOffset":false,"isSlot":false,"src":"19159:3:8","valueSize":1},{"declaration":1076,"isOffset":false,"isSlot":false,"src":"19426:3:8","valueSize":1},{"declaration":1079,"isOffset":false,"isSlot":false,"src":"19431:3:8","valueSize":1},{"declaration":1070,"isOffset":false,"isSlot":false,"src":"19282:3:8","valueSize":1},{"declaration":1073,"isOffset":false,"isSlot":false,"src":"19287:3:8","valueSize":1},{"declaration":1088,"isOffset":false,"isSlot":false,"src":"21927:3:8","valueSize":1},{"declaration":1091,"isOffset":false,"isSlot":false,"src":"21932:3:8","valueSize":1},{"declaration":1094,"isOffset":false,"isSlot":false,"src":"21990:3:8","valueSize":1},{"declaration":1097,"isOffset":false,"isSlot":false,"src":"21995:3:8","valueSize":1},{"declaration":1100,"isOffset":false,"isSlot":false,"src":"21383:3:8","valueSize":1},{"declaration":1103,"isOffset":false,"isSlot":false,"src":"21388:3:8","valueSize":1},{"declaration":1112,"isOffset":false,"isSlot":false,"src":"23524:4:8","valueSize":1},{"declaration":1115,"isOffset":false,"isSlot":false,"src":"23482:4:8","valueSize":1},{"declaration":1118,"isOffset":false,"isSlot":false,"src":"23610:4:8","valueSize":1},{"declaration":1121,"isOffset":false,"isSlot":false,"src":"23567:4:8","valueSize":1},{"declaration":1106,"isOffset":false,"isSlot":false,"src":"19702:2:8","valueSize":1},{"declaration":1109,"isOffset":false,"isSlot":false,"src":"19930:2:8","valueSize":1},{"declaration":1259,"isOffset":false,"isSlot":false,"src":"24250:7:8","valueSize":1},{"declaration":1259,"isOffset":false,"isSlot":false,"src":"24642:7:8","valueSize":1},{"declaration":1259,"isOffset":false,"isSlot":false,"src":"9540:7:8","valueSize":1},{"declaration":1049,"isOffset":false,"isSlot":false,"src":"11888:1:8","valueSize":1},{"declaration":1151,"isOffset":false,"isSlot":false,"src":"21731:2:8","valueSize":1},{"declaration":1151,"isOffset":false,"isSlot":false,"src":"9095:2:8","valueSize":1},{"declaration":1151,"isOffset":false,"isSlot":false,"src":"9166:2:8","valueSize":1},{"declaration":1151,"isOffset":false,"isSlot":false,"src":"9241:2:8","valueSize":1},{"declaration":1151,"isOffset":false,"isSlot":false,"src":"9316:2:8","valueSize":1},{"declaration":1151,"isOffset":false,"isSlot":false,"src":"9391:2:8","valueSize":1},{"declaration":1151,"isOffset":false,"isSlot":false,"src":"9467:2:8","valueSize":1},{"declaration":1244,"isOffset":false,"isSlot":false,"src":"18573:3:8","valueSize":1},{"declaration":1244,"isOffset":false,"isSlot":false,"src":"23371:3:8","valueSize":1},{"declaration":1244,"isOffset":false,"isSlot":false,"src":"23434:3:8","valueSize":1},{"declaration":1199,"isOffset":false,"isSlot":false,"src":"15150:6:8","valueSize":1},{"declaration":1199,"isOffset":false,"isSlot":false,"src":"15295:6:8","valueSize":1},{"declaration":1199,"isOffset":false,"isSlot":false,"src":"15438:6:8","valueSize":1},{"declaration":1199,"isOffset":false,"isSlot":false,"src":"20176:6:8","valueSize":1},{"declaration":1199,"isOffset":false,"isSlot":false,"src":"20319:6:8","valueSize":1},{"declaration":1199,"isOffset":false,"isSlot":false,"src":"20381:6:8","valueSize":1},{"declaration":1199,"isOffset":false,"isSlot":false,"src":"21121:6:8","valueSize":1},{"declaration":1199,"isOffset":false,"isSlot":false,"src":"9723:6:8","valueSize":1},{"declaration":1154,"isOffset":false,"isSlot":false,"src":"21800:2:8","valueSize":1},{"declaration":1247,"isOffset":false,"isSlot":false,"src":"18863:3:8","valueSize":1},{"declaration":1247,"isOffset":false,"isSlot":false,"src":"23669:3:8","valueSize":1},{"declaration":1247,"isOffset":false,"isSlot":false,"src":"23721:3:8","valueSize":1},{"declaration":1202,"isOffset":false,"isSlot":false,"src":"13938:5:8","valueSize":1},{"declaration":1202,"isOffset":false,"isSlot":false,"src":"14405:5:8","valueSize":1},{"declaration":1202,"isOffset":false,"isSlot":false,"src":"20657:5:8","valueSize":1},{"declaration":1202,"isOffset":false,"isSlot":false,"src":"20867:5:8","valueSize":1},{"declaration":1202,"isOffset":false,"isSlot":false,"src":"21238:5:8","valueSize":1},{"declaration":1202,"isOffset":false,"isSlot":false,"src":"9594:5:8","valueSize":1},{"declaration":1202,"isOffset":false,"isSlot":false,"src":"9672:5:8","valueSize":1},{"declaration":1214,"isOffset":false,"isSlot":false,"src":"19599:7:8","valueSize":1},{"declaration":1214,"isOffset":false,"isSlot":false,"src":"19722:7:8","valueSize":1},{"declaration":1214,"isOffset":false,"isSlot":false,"src":"19950:7:8","valueSize":1},{"declaration":1214,"isOffset":false,"isSlot":false,"src":"9928:7:8","valueSize":1},{"declaration":1157,"isOffset":false,"isSlot":false,"src":"21869:2:8","valueSize":1},{"declaration":1178,"isOffset":false,"isSlot":false,"src":"11067:7:8","valueSize":1},{"declaration":1178,"isOffset":false,"isSlot":false,"src":"14080:7:8","valueSize":1},{"declaration":1178,"isOffset":false,"isSlot":false,"src":"18963:7:8","valueSize":1},{"declaration":1178,"isOffset":false,"isSlot":false,"src":"19572:7:8","valueSize":1},{"declaration":1178,"isOffset":false,"isSlot":false,"src":"20748:7:8","valueSize":1},{"declaration":1178,"isOffset":false,"isSlot":false,"src":"22271:7:8","valueSize":1},{"declaration":1178,"isOffset":false,"isSlot":false,"src":"8340:7:8","valueSize":1},{"declaration":1181,"isOffset":false,"isSlot":false,"src":"14547:7:8","valueSize":1},{"declaration":1181,"isOffset":false,"isSlot":false,"src":"19094:7:8","valueSize":1},{"declaration":1181,"isOffset":false,"isSlot":false,"src":"19215:7:8","valueSize":1},{"declaration":1181,"isOffset":false,"isSlot":false,"src":"19787:7:8","valueSize":1},{"declaration":1181,"isOffset":false,"isSlot":false,"src":"20960:7:8","valueSize":1},{"declaration":1181,"isOffset":false,"isSlot":false,"src":"22368:7:8","valueSize":1},{"declaration":1181,"isOffset":false,"isSlot":false,"src":"8396:7:8","valueSize":1},{"declaration":1184,"isOffset":false,"isSlot":false,"src":"14897:7:8","valueSize":1},{"declaration":1184,"isOffset":false,"isSlot":false,"src":"19359:7:8","valueSize":1},{"declaration":1184,"isOffset":false,"isSlot":false,"src":"20015:7:8","valueSize":1},{"declaration":1184,"isOffset":false,"isSlot":false,"src":"22465:7:8","valueSize":1},{"declaration":1184,"isOffset":false,"isSlot":false,"src":"8452:7:8","valueSize":1},{"declaration":1256,"isOffset":false,"isSlot":false,"src":"11824:8:8","valueSize":1},{"declaration":1256,"isOffset":false,"isSlot":false,"src":"12593:8:8","valueSize":1},{"declaration":1256,"isOffset":false,"isSlot":false,"src":"12674:8:8","valueSize":1},{"declaration":1256,"isOffset":false,"isSlot":false,"src":"13170:8:8","valueSize":1},{"declaration":1256,"isOffset":false,"isSlot":false,"src":"15246:8:8","valueSize":1},{"declaration":1256,"isOffset":false,"isSlot":false,"src":"20291:8:8","valueSize":1},{"declaration":1196,"isOffset":false,"isSlot":false,"src":"13709:7:8","valueSize":1},{"declaration":1196,"isOffset":false,"isSlot":false,"src":"22174:7:8","valueSize":1},{"declaration":1196,"isOffset":false,"isSlot":false,"src":"8679:7:8","valueSize":1},{"declaration":1187,"isOffset":false,"isSlot":false,"src":"13890:8:8","valueSize":1},{"declaration":1187,"isOffset":false,"isSlot":false,"src":"20684:8:8","valueSize":1},{"declaration":1187,"isOffset":false,"isSlot":false,"src":"22562:8:8","valueSize":1},{"declaration":1187,"isOffset":false,"isSlot":false,"src":"8508:8:8","valueSize":1},{"declaration":1190,"isOffset":false,"isSlot":false,"src":"14357:8:8","valueSize":1},{"declaration":1190,"isOffset":false,"isSlot":false,"src":"20894:8:8","valueSize":1},{"declaration":1190,"isOffset":false,"isSlot":false,"src":"22660:8:8","valueSize":1},{"declaration":1190,"isOffset":false,"isSlot":false,"src":"8565:8:8","valueSize":1},{"declaration":1241,"isOffset":false,"isSlot":false,"src":"15706:7:8","valueSize":1},{"declaration":1241,"isOffset":false,"isSlot":false,"src":"22108:7:8","valueSize":1},{"declaration":1193,"isOffset":false,"isSlot":false,"src":"15086:8:8","valueSize":1},{"declaration":1193,"isOffset":false,"isSlot":false,"src":"21299:8:8","valueSize":1},{"declaration":1193,"isOffset":false,"isSlot":false,"src":"22758:8:8","valueSize":1},{"declaration":1193,"isOffset":false,"isSlot":false,"src":"8622:8:8","valueSize":1},{"declaration":1205,"isOffset":false,"isSlot":false,"src":"14238:6:8","valueSize":1},{"declaration":1205,"isOffset":false,"isSlot":false,"src":"14705:6:8","valueSize":1},{"declaration":1205,"isOffset":false,"isSlot":false,"src":"14944:6:8","valueSize":1},{"declaration":1205,"isOffset":false,"isSlot":false,"src":"19660:6:8","valueSize":1},{"declaration":1205,"isOffset":false,"isSlot":false,"src":"19850:6:8","valueSize":1},{"declaration":1205,"isOffset":false,"isSlot":false,"src":"20078:6:8","valueSize":1},{"declaration":1205,"isOffset":false,"isSlot":false,"src":"20809:6:8","valueSize":1},{"declaration":1205,"isOffset":false,"isSlot":false,"src":"21023:6:8","valueSize":1},{"declaration":1205,"isOffset":false,"isSlot":false,"src":"9639:6:8","valueSize":1},{"declaration":1238,"isOffset":false,"isSlot":false,"src":"13483:3:8","valueSize":1},{"declaration":1238,"isOffset":false,"isSlot":false,"src":"13757:3:8","valueSize":1},{"declaration":1163,"isOffset":false,"isSlot":false,"src":"21468:3:8","valueSize":1},{"declaration":1163,"isOffset":false,"isSlot":false,"src":"9836:3:8","valueSize":1},{"declaration":1166,"isOffset":false,"isSlot":false,"src":"21560:3:8","valueSize":1},{"declaration":1169,"isOffset":false,"isSlot":false,"src":"21664:3:8","valueSize":1},{"declaration":1235,"isOffset":false,"isSlot":false,"src":"11587:2:8","valueSize":1},{"declaration":1235,"isOffset":false,"isSlot":false,"src":"18688:2:8","valueSize":1},{"declaration":1235,"isOffset":false,"isSlot":false,"src":"20538:2:8","valueSize":1},{"declaration":1235,"isOffset":false,"isSlot":false,"src":"22786:2:8","valueSize":1},{"declaration":1235,"isOffset":false,"isSlot":false,"src":"23088:2:8","valueSize":1},{"declaration":1217,"isOffset":false,"isSlot":false,"src":"11120:3:8","valueSize":1},{"declaration":1217,"isOffset":false,"isSlot":false,"src":"18990:3:8","valueSize":1},{"declaration":1217,"isOffset":false,"isSlot":false,"src":"19242:3:8","valueSize":1},{"declaration":1217,"isOffset":false,"isSlot":false,"src":"19386:3:8","valueSize":1},{"declaration":1217,"isOffset":false,"isSlot":false,"src":"19476:3:8","valueSize":1},{"declaration":1217,"isOffset":false,"isSlot":false,"src":"20236:3:8","valueSize":1},{"declaration":1217,"isOffset":false,"isSlot":false,"src":"20443:3:8","valueSize":1},{"declaration":1217,"isOffset":false,"isSlot":false,"src":"21181:3:8","valueSize":1},{"declaration":1217,"isOffset":false,"isSlot":false,"src":"22201:3:8","valueSize":1},{"declaration":1220,"isOffset":false,"isSlot":false,"src":"11203:3:8","valueSize":1},{"declaration":1220,"isOffset":false,"isSlot":false,"src":"21752:3:8","valueSize":1},{"declaration":1220,"isOffset":false,"isSlot":false,"src":"22298:3:8","valueSize":1},{"declaration":1223,"isOffset":false,"isSlot":false,"src":"11284:3:8","valueSize":1},{"declaration":1223,"isOffset":false,"isSlot":false,"src":"21821:3:8","valueSize":1},{"declaration":1223,"isOffset":false,"isSlot":false,"src":"22395:3:8","valueSize":1},{"declaration":1226,"isOffset":false,"isSlot":false,"src":"11365:3:8","valueSize":1},{"declaration":1226,"isOffset":false,"isSlot":false,"src":"21890:3:8","valueSize":1},{"declaration":1226,"isOffset":false,"isSlot":false,"src":"22492:3:8","valueSize":1},{"declaration":1229,"isOffset":false,"isSlot":false,"src":"11446:3:8","valueSize":1},{"declaration":1229,"isOffset":false,"isSlot":false,"src":"21953:3:8","valueSize":1},{"declaration":1229,"isOffset":false,"isSlot":false,"src":"22590:3:8","valueSize":1},{"declaration":1232,"isOffset":false,"isSlot":false,"src":"11527:3:8","valueSize":1},{"declaration":1232,"isOffset":false,"isSlot":false,"src":"22016:3:8","valueSize":1},{"declaration":1232,"isOffset":false,"isSlot":false,"src":"22688:3:8","valueSize":1},{"declaration":1172,"isOffset":false,"isSlot":false,"src":"11618:4:8","valueSize":1},{"declaration":1172,"isOffset":false,"isSlot":false,"src":"18616:4:8","valueSize":1},{"declaration":1172,"isOffset":false,"isSlot":false,"src":"23033:4:8","valueSize":1},{"declaration":1175,"isOffset":false,"isSlot":false,"src":"18664:5:8","valueSize":1},{"declaration":1175,"isOffset":false,"isSlot":false,"src":"23199:5:8","valueSize":1},{"declaration":1208,"isOffset":false,"isSlot":false,"src":"12043:3:8","valueSize":1},{"declaration":1208,"isOffset":false,"isSlot":false,"src":"22986:3:8","valueSize":1},{"declaration":1208,"isOffset":false,"isSlot":false,"src":"23110:3:8","valueSize":1},{"declaration":1208,"isOffset":false,"isSlot":false,"src":"9885:3:8","valueSize":1},{"declaration":1211,"isOffset":false,"isSlot":false,"src":"10801:4:8","valueSize":1},{"declaration":1211,"isOffset":false,"isSlot":false,"src":"21512:4:8","valueSize":1},{"declaration":1160,"isOffset":false,"isSlot":false,"src":"20588:2:8","valueSize":1},{"declaration":1160,"isOffset":false,"isSlot":false,"src":"9758:2:8","valueSize":1},{"declaration":1250,"isOffset":false,"isSlot":false,"src":"10890:3:8","valueSize":1},{"declaration":1250,"isOffset":false,"isSlot":false,"src":"12476:3:8","valueSize":1},{"declaration":1253,"isOffset":false,"isSlot":false,"src":"10933:6:8","valueSize":1},{"declaration":1253,"isOffset":false,"isSlot":false,"src":"12404:6:8","valueSize":1},{"declaration":1253,"isOffset":false,"isSlot":false,"src":"15642:6:8","valueSize":1},{"declaration":1261,"isOffset":false,"isSlot":false,"src":"24296:5:8","valueSize":1},{"declaration":1261,"isOffset":false,"isSlot":false,"src":"24335:5:8","valueSize":1},{"declaration":1261,"isOffset":false,"isSlot":false,"src":"24461:5:8","valueSize":1},{"declaration":1261,"isOffset":false,"isSlot":false,"src":"24498:5:8","valueSize":1},{"declaration":1261,"isOffset":false,"isSlot":false,"src":"24535:5:8","valueSize":1},{"declaration":1264,"isOffset":false,"isSlot":false,"src":"24348:10:8","valueSize":1},{"declaration":1264,"isOffset":false,"isSlot":false,"src":"24426:10:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10005:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10058:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10111:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10164:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10217:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10270:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10323:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10376:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10429:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10482:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10535:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10588:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10641:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10694:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10747:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10849:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"10853:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"11083:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"11166:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"11247:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"11328:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"11409:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"11490:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"11631:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"12157:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"12218:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"12272:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"12739:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"13268:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"13351:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"13396:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"13785:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"13967:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"14111:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"14268:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"14434:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"14578:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"14735:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"14809:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"14974:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"15032:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"15098:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"15160:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"15326:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"15469:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"15527:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"15583:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"15592:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"15652:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"18997:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19105:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19249:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19393:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19610:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19670:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19733:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19798:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19860:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19898:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"19961:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20026:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20088:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20126:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20186:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20243:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20329:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20391:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20450:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20488:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20544:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20696:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20759:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20819:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20906:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"20971:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"21033:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"21071:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"21131:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"21188:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"21247:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"21311:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"21343:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"21350:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"21620:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22208:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22212:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22305:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22309:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22402:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22406:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22499:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22503:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22597:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22601:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22695:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22699:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22792:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22796:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22828:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"22835:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"23117:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"23155:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"7063:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"7120:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"7690:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"7744:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"7995:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"9556:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"9685:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"9768:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"9848:1:8","valueSize":1},{"declaration":1124,"isOffset":false,"isSlot":false,"src":"9951:1:8","valueSize":1},{"declaration":1127,"isOffset":false,"isSlot":false,"src":"23761:2:8","valueSize":1},{"declaration":1127,"isOffset":false,"isSlot":false,"src":"23769:2:8","valueSize":1},{"declaration":1130,"isOffset":false,"isSlot":false,"src":"23151:2:8","valueSize":1}],"id":1269,"nodeType":"InlineAssembly","src":"5287:19432:8"}]},"functionSelector":"1e8e1e13","id":1271,"implemented":true,"kind":"function","modifiers":[],"name":"verifyProof","nameLocation":"5192:11:8","nodeType":"FunctionDefinition","parameters":{"id":1265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1261,"mutability":"mutable","name":"proof","nameLocation":"5217:5:8","nodeType":"VariableDeclaration","scope":1271,"src":"5204:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1260,"name":"bytes","nodeType":"ElementaryTypeName","src":"5204:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1264,"mutability":"mutable","name":"pubSignals","nameLocation":"5238:10:8","nodeType":"VariableDeclaration","scope":1271,"src":"5224:24:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1262,"name":"uint","nodeType":"ElementaryTypeName","src":"5224:4:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1263,"nodeType":"ArrayTypeName","src":"5224:6:8","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5203:46:8"},"returnParameters":{"id":1268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1267,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1271,"src":"5271:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1266,"name":"bool","nodeType":"ElementaryTypeName","src":"5271:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5270:6:8"},"scope":1272,"src":"5183:19551:8","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":1273,"src":"832:23904:8","usedErrors":[],"usedEvents":[]}],"src":"799:23938:8"},"id":8}},"contracts":{"@openzeppelin/contracts/access/AccessControl.sol":{"AccessControl":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ```solidity bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ```solidity function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules} to enforce additional security measures for this role.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80\",\"dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts/access/IAccessControl.sol":{"IAccessControl":{"abi":[{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC165 detection.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/Context.sol":{"Context":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/introspection/ERC165.sol":{"ERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ```\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"IERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}"}},"contracts/CcsmBpiStateAnchor.sol":{"CcsmBpiStateAnchor":{"abi":[{"inputs":[{"internalType":"address[]","name":"admins","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"workstepInstanceId","type":"string"},{"indexed":false,"internalType":"string","name":"anchorHash","type":"string"}],"name":"AnchorHashSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"anchorHashStore","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_workstepInstanceId","type":"string"}],"name":"getAnchorHash","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_workstepInstanceId","type":"string"},{"internalType":"string","name":"_anchorHash","type":"string"}],"name":"setAnchorHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_497":{"entryPoint":null,"id":497,"parameterSlots":1,"returnSlots":0},"@_grantRole_256":{"entryPoint":192,"id":256,"parameterSlots":2,"returnSlots":1},"@_msgSender_390":{"entryPoint":557,"id":390,"parameterSlots":0,"returnSlots":1},"@hasRole_80":{"entryPoint":451,"id":80,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory":{"entryPoint":892,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address_fromMemory":{"entryPoint":869,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory":{"entryPoint":1008,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory":{"entryPoint":1059,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":708,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":565,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_address_$dyn_memory_ptr":{"entryPoint":739,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_address":{"entryPoint":823,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":791,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":654,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x32":{"entryPoint":1140,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":607,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":585,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":786,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":580,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":575,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":590,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_address":{"entryPoint":843,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nativeSrc":"0:4030:9","nodeType":"YulBlock","src":"0:4030:9","statements":[{"body":{"nativeSrc":"47:35:9","nodeType":"YulBlock","src":"47:35:9","statements":[{"nativeSrc":"57:19:9","nodeType":"YulAssignment","src":"57:19:9","value":{"arguments":[{"kind":"number","nativeSrc":"73:2:9","nodeType":"YulLiteral","src":"73:2:9","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"67:5:9","nodeType":"YulIdentifier","src":"67:5:9"},"nativeSrc":"67:9:9","nodeType":"YulFunctionCall","src":"67:9:9"},"variableNames":[{"name":"memPtr","nativeSrc":"57:6:9","nodeType":"YulIdentifier","src":"57:6:9"}]}]},"name":"allocate_unbounded","nativeSrc":"7:75:9","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nativeSrc":"40:6:9","nodeType":"YulTypedName","src":"40:6:9","type":""}],"src":"7:75:9"},{"body":{"nativeSrc":"177:28:9","nodeType":"YulBlock","src":"177:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194:1:9","nodeType":"YulLiteral","src":"194:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"197:1:9","nodeType":"YulLiteral","src":"197:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"187:6:9","nodeType":"YulIdentifier","src":"187:6:9"},"nativeSrc":"187:12:9","nodeType":"YulFunctionCall","src":"187:12:9"},"nativeSrc":"187:12:9","nodeType":"YulExpressionStatement","src":"187:12:9"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"88:117:9","nodeType":"YulFunctionDefinition","src":"88:117:9"},{"body":{"nativeSrc":"300:28:9","nodeType":"YulBlock","src":"300:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"317:1:9","nodeType":"YulLiteral","src":"317:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"320:1:9","nodeType":"YulLiteral","src":"320:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"310:6:9","nodeType":"YulIdentifier","src":"310:6:9"},"nativeSrc":"310:12:9","nodeType":"YulFunctionCall","src":"310:12:9"},"nativeSrc":"310:12:9","nodeType":"YulExpressionStatement","src":"310:12:9"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"211:117:9","nodeType":"YulFunctionDefinition","src":"211:117:9"},{"body":{"nativeSrc":"423:28:9","nodeType":"YulBlock","src":"423:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"440:1:9","nodeType":"YulLiteral","src":"440:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"443:1:9","nodeType":"YulLiteral","src":"443:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"433:6:9","nodeType":"YulIdentifier","src":"433:6:9"},"nativeSrc":"433:12:9","nodeType":"YulFunctionCall","src":"433:12:9"},"nativeSrc":"433:12:9","nodeType":"YulExpressionStatement","src":"433:12:9"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"334:117:9","nodeType":"YulFunctionDefinition","src":"334:117:9"},{"body":{"nativeSrc":"505:54:9","nodeType":"YulBlock","src":"505:54:9","statements":[{"nativeSrc":"515:38:9","nodeType":"YulAssignment","src":"515:38:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"533:5:9","nodeType":"YulIdentifier","src":"533:5:9"},{"kind":"number","nativeSrc":"540:2:9","nodeType":"YulLiteral","src":"540:2:9","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"529:3:9","nodeType":"YulIdentifier","src":"529:3:9"},"nativeSrc":"529:14:9","nodeType":"YulFunctionCall","src":"529:14:9"},{"arguments":[{"kind":"number","nativeSrc":"549:2:9","nodeType":"YulLiteral","src":"549:2:9","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"545:3:9","nodeType":"YulIdentifier","src":"545:3:9"},"nativeSrc":"545:7:9","nodeType":"YulFunctionCall","src":"545:7:9"}],"functionName":{"name":"and","nativeSrc":"525:3:9","nodeType":"YulIdentifier","src":"525:3:9"},"nativeSrc":"525:28:9","nodeType":"YulFunctionCall","src":"525:28:9"},"variableNames":[{"name":"result","nativeSrc":"515:6:9","nodeType":"YulIdentifier","src":"515:6:9"}]}]},"name":"round_up_to_mul_of_32","nativeSrc":"457:102:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"488:5:9","nodeType":"YulTypedName","src":"488:5:9","type":""}],"returnVariables":[{"name":"result","nativeSrc":"498:6:9","nodeType":"YulTypedName","src":"498:6:9","type":""}],"src":"457:102:9"},{"body":{"nativeSrc":"593:152:9","nodeType":"YulBlock","src":"593:152:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"610:1:9","nodeType":"YulLiteral","src":"610:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"613:77:9","nodeType":"YulLiteral","src":"613:77:9","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"603:6:9","nodeType":"YulIdentifier","src":"603:6:9"},"nativeSrc":"603:88:9","nodeType":"YulFunctionCall","src":"603:88:9"},"nativeSrc":"603:88:9","nodeType":"YulExpressionStatement","src":"603:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"707:1:9","nodeType":"YulLiteral","src":"707:1:9","type":"","value":"4"},{"kind":"number","nativeSrc":"710:4:9","nodeType":"YulLiteral","src":"710:4:9","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"700:6:9","nodeType":"YulIdentifier","src":"700:6:9"},"nativeSrc":"700:15:9","nodeType":"YulFunctionCall","src":"700:15:9"},"nativeSrc":"700:15:9","nodeType":"YulExpressionStatement","src":"700:15:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"731:1:9","nodeType":"YulLiteral","src":"731:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"734:4:9","nodeType":"YulLiteral","src":"734:4:9","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"724:6:9","nodeType":"YulIdentifier","src":"724:6:9"},"nativeSrc":"724:15:9","nodeType":"YulFunctionCall","src":"724:15:9"},"nativeSrc":"724:15:9","nodeType":"YulExpressionStatement","src":"724:15:9"}]},"name":"panic_error_0x41","nativeSrc":"565:180:9","nodeType":"YulFunctionDefinition","src":"565:180:9"},{"body":{"nativeSrc":"794:238:9","nodeType":"YulBlock","src":"794:238:9","statements":[{"nativeSrc":"804:58:9","nodeType":"YulVariableDeclaration","src":"804:58:9","value":{"arguments":[{"name":"memPtr","nativeSrc":"826:6:9","nodeType":"YulIdentifier","src":"826:6:9"},{"arguments":[{"name":"size","nativeSrc":"856:4:9","nodeType":"YulIdentifier","src":"856:4:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"834:21:9","nodeType":"YulIdentifier","src":"834:21:9"},"nativeSrc":"834:27:9","nodeType":"YulFunctionCall","src":"834:27:9"}],"functionName":{"name":"add","nativeSrc":"822:3:9","nodeType":"YulIdentifier","src":"822:3:9"},"nativeSrc":"822:40:9","nodeType":"YulFunctionCall","src":"822:40:9"},"variables":[{"name":"newFreePtr","nativeSrc":"808:10:9","nodeType":"YulTypedName","src":"808:10:9","type":""}]},{"body":{"nativeSrc":"973:22:9","nodeType":"YulBlock","src":"973:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"975:16:9","nodeType":"YulIdentifier","src":"975:16:9"},"nativeSrc":"975:18:9","nodeType":"YulFunctionCall","src":"975:18:9"},"nativeSrc":"975:18:9","nodeType":"YulExpressionStatement","src":"975:18:9"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"916:10:9","nodeType":"YulIdentifier","src":"916:10:9"},{"kind":"number","nativeSrc":"928:18:9","nodeType":"YulLiteral","src":"928:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"913:2:9","nodeType":"YulIdentifier","src":"913:2:9"},"nativeSrc":"913:34:9","nodeType":"YulFunctionCall","src":"913:34:9"},{"arguments":[{"name":"newFreePtr","nativeSrc":"952:10:9","nodeType":"YulIdentifier","src":"952:10:9"},{"name":"memPtr","nativeSrc":"964:6:9","nodeType":"YulIdentifier","src":"964:6:9"}],"functionName":{"name":"lt","nativeSrc":"949:2:9","nodeType":"YulIdentifier","src":"949:2:9"},"nativeSrc":"949:22:9","nodeType":"YulFunctionCall","src":"949:22:9"}],"functionName":{"name":"or","nativeSrc":"910:2:9","nodeType":"YulIdentifier","src":"910:2:9"},"nativeSrc":"910:62:9","nodeType":"YulFunctionCall","src":"910:62:9"},"nativeSrc":"907:88:9","nodeType":"YulIf","src":"907:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1011:2:9","nodeType":"YulLiteral","src":"1011:2:9","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"1015:10:9","nodeType":"YulIdentifier","src":"1015:10:9"}],"functionName":{"name":"mstore","nativeSrc":"1004:6:9","nodeType":"YulIdentifier","src":"1004:6:9"},"nativeSrc":"1004:22:9","nodeType":"YulFunctionCall","src":"1004:22:9"},"nativeSrc":"1004:22:9","nodeType":"YulExpressionStatement","src":"1004:22:9"}]},"name":"finalize_allocation","nativeSrc":"751:281:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"780:6:9","nodeType":"YulTypedName","src":"780:6:9","type":""},{"name":"size","nativeSrc":"788:4:9","nodeType":"YulTypedName","src":"788:4:9","type":""}],"src":"751:281:9"},{"body":{"nativeSrc":"1079:88:9","nodeType":"YulBlock","src":"1079:88:9","statements":[{"nativeSrc":"1089:30:9","nodeType":"YulAssignment","src":"1089:30:9","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nativeSrc":"1099:18:9","nodeType":"YulIdentifier","src":"1099:18:9"},"nativeSrc":"1099:20:9","nodeType":"YulFunctionCall","src":"1099:20:9"},"variableNames":[{"name":"memPtr","nativeSrc":"1089:6:9","nodeType":"YulIdentifier","src":"1089:6:9"}]},{"expression":{"arguments":[{"name":"memPtr","nativeSrc":"1148:6:9","nodeType":"YulIdentifier","src":"1148:6:9"},{"name":"size","nativeSrc":"1156:4:9","nodeType":"YulIdentifier","src":"1156:4:9"}],"functionName":{"name":"finalize_allocation","nativeSrc":"1128:19:9","nodeType":"YulIdentifier","src":"1128:19:9"},"nativeSrc":"1128:33:9","nodeType":"YulFunctionCall","src":"1128:33:9"},"nativeSrc":"1128:33:9","nodeType":"YulExpressionStatement","src":"1128:33:9"}]},"name":"allocate_memory","nativeSrc":"1038:129:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"1063:4:9","nodeType":"YulTypedName","src":"1063:4:9","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"1072:6:9","nodeType":"YulTypedName","src":"1072:6:9","type":""}],"src":"1038:129:9"},{"body":{"nativeSrc":"1255:229:9","nodeType":"YulBlock","src":"1255:229:9","statements":[{"body":{"nativeSrc":"1360:22:9","nodeType":"YulBlock","src":"1360:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1362:16:9","nodeType":"YulIdentifier","src":"1362:16:9"},"nativeSrc":"1362:18:9","nodeType":"YulFunctionCall","src":"1362:18:9"},"nativeSrc":"1362:18:9","nodeType":"YulExpressionStatement","src":"1362:18:9"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"1332:6:9","nodeType":"YulIdentifier","src":"1332:6:9"},{"kind":"number","nativeSrc":"1340:18:9","nodeType":"YulLiteral","src":"1340:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1329:2:9","nodeType":"YulIdentifier","src":"1329:2:9"},"nativeSrc":"1329:30:9","nodeType":"YulFunctionCall","src":"1329:30:9"},"nativeSrc":"1326:56:9","nodeType":"YulIf","src":"1326:56:9"},{"nativeSrc":"1392:25:9","nodeType":"YulAssignment","src":"1392:25:9","value":{"arguments":[{"name":"length","nativeSrc":"1404:6:9","nodeType":"YulIdentifier","src":"1404:6:9"},{"kind":"number","nativeSrc":"1412:4:9","nodeType":"YulLiteral","src":"1412:4:9","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"1400:3:9","nodeType":"YulIdentifier","src":"1400:3:9"},"nativeSrc":"1400:17:9","nodeType":"YulFunctionCall","src":"1400:17:9"},"variableNames":[{"name":"size","nativeSrc":"1392:4:9","nodeType":"YulIdentifier","src":"1392:4:9"}]},{"nativeSrc":"1454:23:9","nodeType":"YulAssignment","src":"1454:23:9","value":{"arguments":[{"name":"size","nativeSrc":"1466:4:9","nodeType":"YulIdentifier","src":"1466:4:9"},{"kind":"number","nativeSrc":"1472:4:9","nodeType":"YulLiteral","src":"1472:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1462:3:9","nodeType":"YulIdentifier","src":"1462:3:9"},"nativeSrc":"1462:15:9","nodeType":"YulFunctionCall","src":"1462:15:9"},"variableNames":[{"name":"size","nativeSrc":"1454:4:9","nodeType":"YulIdentifier","src":"1454:4:9"}]}]},"name":"array_allocation_size_t_array$_t_address_$dyn_memory_ptr","nativeSrc":"1173:311:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"1239:6:9","nodeType":"YulTypedName","src":"1239:6:9","type":""}],"returnVariables":[{"name":"size","nativeSrc":"1250:4:9","nodeType":"YulTypedName","src":"1250:4:9","type":""}],"src":"1173:311:9"},{"body":{"nativeSrc":"1579:28:9","nodeType":"YulBlock","src":"1579:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1596:1:9","nodeType":"YulLiteral","src":"1596:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"1599:1:9","nodeType":"YulLiteral","src":"1599:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1589:6:9","nodeType":"YulIdentifier","src":"1589:6:9"},"nativeSrc":"1589:12:9","nodeType":"YulFunctionCall","src":"1589:12:9"},"nativeSrc":"1589:12:9","nodeType":"YulExpressionStatement","src":"1589:12:9"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"1490:117:9","nodeType":"YulFunctionDefinition","src":"1490:117:9"},{"body":{"nativeSrc":"1658:81:9","nodeType":"YulBlock","src":"1658:81:9","statements":[{"nativeSrc":"1668:65:9","nodeType":"YulAssignment","src":"1668:65:9","value":{"arguments":[{"name":"value","nativeSrc":"1683:5:9","nodeType":"YulIdentifier","src":"1683:5:9"},{"kind":"number","nativeSrc":"1690:42:9","nodeType":"YulLiteral","src":"1690:42:9","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"1679:3:9","nodeType":"YulIdentifier","src":"1679:3:9"},"nativeSrc":"1679:54:9","nodeType":"YulFunctionCall","src":"1679:54:9"},"variableNames":[{"name":"cleaned","nativeSrc":"1668:7:9","nodeType":"YulIdentifier","src":"1668:7:9"}]}]},"name":"cleanup_t_uint160","nativeSrc":"1613:126:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1640:5:9","nodeType":"YulTypedName","src":"1640:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"1650:7:9","nodeType":"YulTypedName","src":"1650:7:9","type":""}],"src":"1613:126:9"},{"body":{"nativeSrc":"1790:51:9","nodeType":"YulBlock","src":"1790:51:9","statements":[{"nativeSrc":"1800:35:9","nodeType":"YulAssignment","src":"1800:35:9","value":{"arguments":[{"name":"value","nativeSrc":"1829:5:9","nodeType":"YulIdentifier","src":"1829:5:9"}],"functionName":{"name":"cleanup_t_uint160","nativeSrc":"1811:17:9","nodeType":"YulIdentifier","src":"1811:17:9"},"nativeSrc":"1811:24:9","nodeType":"YulFunctionCall","src":"1811:24:9"},"variableNames":[{"name":"cleaned","nativeSrc":"1800:7:9","nodeType":"YulIdentifier","src":"1800:7:9"}]}]},"name":"cleanup_t_address","nativeSrc":"1745:96:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1772:5:9","nodeType":"YulTypedName","src":"1772:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"1782:7:9","nodeType":"YulTypedName","src":"1782:7:9","type":""}],"src":"1745:96:9"},{"body":{"nativeSrc":"1890:79:9","nodeType":"YulBlock","src":"1890:79:9","statements":[{"body":{"nativeSrc":"1947:16:9","nodeType":"YulBlock","src":"1947:16:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1956:1:9","nodeType":"YulLiteral","src":"1956:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"1959:1:9","nodeType":"YulLiteral","src":"1959:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1949:6:9","nodeType":"YulIdentifier","src":"1949:6:9"},"nativeSrc":"1949:12:9","nodeType":"YulFunctionCall","src":"1949:12:9"},"nativeSrc":"1949:12:9","nodeType":"YulExpressionStatement","src":"1949:12:9"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"1913:5:9","nodeType":"YulIdentifier","src":"1913:5:9"},{"arguments":[{"name":"value","nativeSrc":"1938:5:9","nodeType":"YulIdentifier","src":"1938:5:9"}],"functionName":{"name":"cleanup_t_address","nativeSrc":"1920:17:9","nodeType":"YulIdentifier","src":"1920:17:9"},"nativeSrc":"1920:24:9","nodeType":"YulFunctionCall","src":"1920:24:9"}],"functionName":{"name":"eq","nativeSrc":"1910:2:9","nodeType":"YulIdentifier","src":"1910:2:9"},"nativeSrc":"1910:35:9","nodeType":"YulFunctionCall","src":"1910:35:9"}],"functionName":{"name":"iszero","nativeSrc":"1903:6:9","nodeType":"YulIdentifier","src":"1903:6:9"},"nativeSrc":"1903:43:9","nodeType":"YulFunctionCall","src":"1903:43:9"},"nativeSrc":"1900:63:9","nodeType":"YulIf","src":"1900:63:9"}]},"name":"validator_revert_t_address","nativeSrc":"1847:122:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1883:5:9","nodeType":"YulTypedName","src":"1883:5:9","type":""}],"src":"1847:122:9"},{"body":{"nativeSrc":"2038:80:9","nodeType":"YulBlock","src":"2038:80:9","statements":[{"nativeSrc":"2048:22:9","nodeType":"YulAssignment","src":"2048:22:9","value":{"arguments":[{"name":"offset","nativeSrc":"2063:6:9","nodeType":"YulIdentifier","src":"2063:6:9"}],"functionName":{"name":"mload","nativeSrc":"2057:5:9","nodeType":"YulIdentifier","src":"2057:5:9"},"nativeSrc":"2057:13:9","nodeType":"YulFunctionCall","src":"2057:13:9"},"variableNames":[{"name":"value","nativeSrc":"2048:5:9","nodeType":"YulIdentifier","src":"2048:5:9"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"2106:5:9","nodeType":"YulIdentifier","src":"2106:5:9"}],"functionName":{"name":"validator_revert_t_address","nativeSrc":"2079:26:9","nodeType":"YulIdentifier","src":"2079:26:9"},"nativeSrc":"2079:33:9","nodeType":"YulFunctionCall","src":"2079:33:9"},"nativeSrc":"2079:33:9","nodeType":"YulExpressionStatement","src":"2079:33:9"}]},"name":"abi_decode_t_address_fromMemory","nativeSrc":"1975:143:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2016:6:9","nodeType":"YulTypedName","src":"2016:6:9","type":""},{"name":"end","nativeSrc":"2024:3:9","nodeType":"YulTypedName","src":"2024:3:9","type":""}],"returnVariables":[{"name":"value","nativeSrc":"2032:5:9","nodeType":"YulTypedName","src":"2032:5:9","type":""}],"src":"1975:143:9"},{"body":{"nativeSrc":"2254:619:9","nodeType":"YulBlock","src":"2254:619:9","statements":[{"nativeSrc":"2264:90:9","nodeType":"YulAssignment","src":"2264:90:9","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"2346:6:9","nodeType":"YulIdentifier","src":"2346:6:9"}],"functionName":{"name":"array_allocation_size_t_array$_t_address_$dyn_memory_ptr","nativeSrc":"2289:56:9","nodeType":"YulIdentifier","src":"2289:56:9"},"nativeSrc":"2289:64:9","nodeType":"YulFunctionCall","src":"2289:64:9"}],"functionName":{"name":"allocate_memory","nativeSrc":"2273:15:9","nodeType":"YulIdentifier","src":"2273:15:9"},"nativeSrc":"2273:81:9","nodeType":"YulFunctionCall","src":"2273:81:9"},"variableNames":[{"name":"array","nativeSrc":"2264:5:9","nodeType":"YulIdentifier","src":"2264:5:9"}]},{"nativeSrc":"2363:16:9","nodeType":"YulVariableDeclaration","src":"2363:16:9","value":{"name":"array","nativeSrc":"2374:5:9","nodeType":"YulIdentifier","src":"2374:5:9"},"variables":[{"name":"dst","nativeSrc":"2367:3:9","nodeType":"YulTypedName","src":"2367:3:9","type":""}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"2396:5:9","nodeType":"YulIdentifier","src":"2396:5:9"},{"name":"length","nativeSrc":"2403:6:9","nodeType":"YulIdentifier","src":"2403:6:9"}],"functionName":{"name":"mstore","nativeSrc":"2389:6:9","nodeType":"YulIdentifier","src":"2389:6:9"},"nativeSrc":"2389:21:9","nodeType":"YulFunctionCall","src":"2389:21:9"},"nativeSrc":"2389:21:9","nodeType":"YulExpressionStatement","src":"2389:21:9"},{"nativeSrc":"2419:23:9","nodeType":"YulAssignment","src":"2419:23:9","value":{"arguments":[{"name":"array","nativeSrc":"2430:5:9","nodeType":"YulIdentifier","src":"2430:5:9"},{"kind":"number","nativeSrc":"2437:4:9","nodeType":"YulLiteral","src":"2437:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2426:3:9","nodeType":"YulIdentifier","src":"2426:3:9"},"nativeSrc":"2426:16:9","nodeType":"YulFunctionCall","src":"2426:16:9"},"variableNames":[{"name":"dst","nativeSrc":"2419:3:9","nodeType":"YulIdentifier","src":"2419:3:9"}]},{"nativeSrc":"2452:44:9","nodeType":"YulVariableDeclaration","src":"2452:44:9","value":{"arguments":[{"name":"offset","nativeSrc":"2470:6:9","nodeType":"YulIdentifier","src":"2470:6:9"},{"arguments":[{"name":"length","nativeSrc":"2482:6:9","nodeType":"YulIdentifier","src":"2482:6:9"},{"kind":"number","nativeSrc":"2490:4:9","nodeType":"YulLiteral","src":"2490:4:9","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"2478:3:9","nodeType":"YulIdentifier","src":"2478:3:9"},"nativeSrc":"2478:17:9","nodeType":"YulFunctionCall","src":"2478:17:9"}],"functionName":{"name":"add","nativeSrc":"2466:3:9","nodeType":"YulIdentifier","src":"2466:3:9"},"nativeSrc":"2466:30:9","nodeType":"YulFunctionCall","src":"2466:30:9"},"variables":[{"name":"srcEnd","nativeSrc":"2456:6:9","nodeType":"YulTypedName","src":"2456:6:9","type":""}]},{"body":{"nativeSrc":"2524:103:9","nodeType":"YulBlock","src":"2524:103:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"2538:77:9","nodeType":"YulIdentifier","src":"2538:77:9"},"nativeSrc":"2538:79:9","nodeType":"YulFunctionCall","src":"2538:79:9"},"nativeSrc":"2538:79:9","nodeType":"YulExpressionStatement","src":"2538:79:9"}]},"condition":{"arguments":[{"name":"srcEnd","nativeSrc":"2511:6:9","nodeType":"YulIdentifier","src":"2511:6:9"},{"name":"end","nativeSrc":"2519:3:9","nodeType":"YulIdentifier","src":"2519:3:9"}],"functionName":{"name":"gt","nativeSrc":"2508:2:9","nodeType":"YulIdentifier","src":"2508:2:9"},"nativeSrc":"2508:15:9","nodeType":"YulFunctionCall","src":"2508:15:9"},"nativeSrc":"2505:122:9","nodeType":"YulIf","src":"2505:122:9"},{"body":{"nativeSrc":"2712:155:9","nodeType":"YulBlock","src":"2712:155:9","statements":[{"nativeSrc":"2727:21:9","nodeType":"YulVariableDeclaration","src":"2727:21:9","value":{"name":"src","nativeSrc":"2745:3:9","nodeType":"YulIdentifier","src":"2745:3:9"},"variables":[{"name":"elementPos","nativeSrc":"2731:10:9","nodeType":"YulTypedName","src":"2731:10:9","type":""}]},{"expression":{"arguments":[{"name":"dst","nativeSrc":"2769:3:9","nodeType":"YulIdentifier","src":"2769:3:9"},{"arguments":[{"name":"elementPos","nativeSrc":"2806:10:9","nodeType":"YulIdentifier","src":"2806:10:9"},{"name":"end","nativeSrc":"2818:3:9","nodeType":"YulIdentifier","src":"2818:3:9"}],"functionName":{"name":"abi_decode_t_address_fromMemory","nativeSrc":"2774:31:9","nodeType":"YulIdentifier","src":"2774:31:9"},"nativeSrc":"2774:48:9","nodeType":"YulFunctionCall","src":"2774:48:9"}],"functionName":{"name":"mstore","nativeSrc":"2762:6:9","nodeType":"YulIdentifier","src":"2762:6:9"},"nativeSrc":"2762:61:9","nodeType":"YulFunctionCall","src":"2762:61:9"},"nativeSrc":"2762:61:9","nodeType":"YulExpressionStatement","src":"2762:61:9"},{"nativeSrc":"2836:21:9","nodeType":"YulAssignment","src":"2836:21:9","value":{"arguments":[{"name":"dst","nativeSrc":"2847:3:9","nodeType":"YulIdentifier","src":"2847:3:9"},{"kind":"number","nativeSrc":"2852:4:9","nodeType":"YulLiteral","src":"2852:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2843:3:9","nodeType":"YulIdentifier","src":"2843:3:9"},"nativeSrc":"2843:14:9","nodeType":"YulFunctionCall","src":"2843:14:9"},"variableNames":[{"name":"dst","nativeSrc":"2836:3:9","nodeType":"YulIdentifier","src":"2836:3:9"}]}]},"condition":{"arguments":[{"name":"src","nativeSrc":"2665:3:9","nodeType":"YulIdentifier","src":"2665:3:9"},{"name":"srcEnd","nativeSrc":"2670:6:9","nodeType":"YulIdentifier","src":"2670:6:9"}],"functionName":{"name":"lt","nativeSrc":"2662:2:9","nodeType":"YulIdentifier","src":"2662:2:9"},"nativeSrc":"2662:15:9","nodeType":"YulFunctionCall","src":"2662:15:9"},"nativeSrc":"2636:231:9","nodeType":"YulForLoop","post":{"nativeSrc":"2678:25:9","nodeType":"YulBlock","src":"2678:25:9","statements":[{"nativeSrc":"2680:21:9","nodeType":"YulAssignment","src":"2680:21:9","value":{"arguments":[{"name":"src","nativeSrc":"2691:3:9","nodeType":"YulIdentifier","src":"2691:3:9"},{"kind":"number","nativeSrc":"2696:4:9","nodeType":"YulLiteral","src":"2696:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2687:3:9","nodeType":"YulIdentifier","src":"2687:3:9"},"nativeSrc":"2687:14:9","nodeType":"YulFunctionCall","src":"2687:14:9"},"variableNames":[{"name":"src","nativeSrc":"2680:3:9","nodeType":"YulIdentifier","src":"2680:3:9"}]}]},"pre":{"nativeSrc":"2640:21:9","nodeType":"YulBlock","src":"2640:21:9","statements":[{"nativeSrc":"2642:17:9","nodeType":"YulVariableDeclaration","src":"2642:17:9","value":{"name":"offset","nativeSrc":"2653:6:9","nodeType":"YulIdentifier","src":"2653:6:9"},"variables":[{"name":"src","nativeSrc":"2646:3:9","nodeType":"YulTypedName","src":"2646:3:9","type":""}]}]},"src":"2636:231:9"}]},"name":"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory","nativeSrc":"2141:732:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2224:6:9","nodeType":"YulTypedName","src":"2224:6:9","type":""},{"name":"length","nativeSrc":"2232:6:9","nodeType":"YulTypedName","src":"2232:6:9","type":""},{"name":"end","nativeSrc":"2240:3:9","nodeType":"YulTypedName","src":"2240:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2248:5:9","nodeType":"YulTypedName","src":"2248:5:9","type":""}],"src":"2141:732:9"},{"body":{"nativeSrc":"2984:297:9","nodeType":"YulBlock","src":"2984:297:9","statements":[{"body":{"nativeSrc":"3033:83:9","nodeType":"YulBlock","src":"3033:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"3035:77:9","nodeType":"YulIdentifier","src":"3035:77:9"},"nativeSrc":"3035:79:9","nodeType":"YulFunctionCall","src":"3035:79:9"},"nativeSrc":"3035:79:9","nodeType":"YulExpressionStatement","src":"3035:79:9"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3012:6:9","nodeType":"YulIdentifier","src":"3012:6:9"},{"kind":"number","nativeSrc":"3020:4:9","nodeType":"YulLiteral","src":"3020:4:9","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"3008:3:9","nodeType":"YulIdentifier","src":"3008:3:9"},"nativeSrc":"3008:17:9","nodeType":"YulFunctionCall","src":"3008:17:9"},{"name":"end","nativeSrc":"3027:3:9","nodeType":"YulIdentifier","src":"3027:3:9"}],"functionName":{"name":"slt","nativeSrc":"3004:3:9","nodeType":"YulIdentifier","src":"3004:3:9"},"nativeSrc":"3004:27:9","nodeType":"YulFunctionCall","src":"3004:27:9"}],"functionName":{"name":"iszero","nativeSrc":"2997:6:9","nodeType":"YulIdentifier","src":"2997:6:9"},"nativeSrc":"2997:35:9","nodeType":"YulFunctionCall","src":"2997:35:9"},"nativeSrc":"2994:122:9","nodeType":"YulIf","src":"2994:122:9"},{"nativeSrc":"3125:27:9","nodeType":"YulVariableDeclaration","src":"3125:27:9","value":{"arguments":[{"name":"offset","nativeSrc":"3145:6:9","nodeType":"YulIdentifier","src":"3145:6:9"}],"functionName":{"name":"mload","nativeSrc":"3139:5:9","nodeType":"YulIdentifier","src":"3139:5:9"},"nativeSrc":"3139:13:9","nodeType":"YulFunctionCall","src":"3139:13:9"},"variables":[{"name":"length","nativeSrc":"3129:6:9","nodeType":"YulTypedName","src":"3129:6:9","type":""}]},{"nativeSrc":"3161:114:9","nodeType":"YulAssignment","src":"3161:114:9","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3248:6:9","nodeType":"YulIdentifier","src":"3248:6:9"},{"kind":"number","nativeSrc":"3256:4:9","nodeType":"YulLiteral","src":"3256:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3244:3:9","nodeType":"YulIdentifier","src":"3244:3:9"},"nativeSrc":"3244:17:9","nodeType":"YulFunctionCall","src":"3244:17:9"},{"name":"length","nativeSrc":"3263:6:9","nodeType":"YulIdentifier","src":"3263:6:9"},{"name":"end","nativeSrc":"3271:3:9","nodeType":"YulIdentifier","src":"3271:3:9"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory","nativeSrc":"3170:73:9","nodeType":"YulIdentifier","src":"3170:73:9"},"nativeSrc":"3170:105:9","nodeType":"YulFunctionCall","src":"3170:105:9"},"variableNames":[{"name":"array","nativeSrc":"3161:5:9","nodeType":"YulIdentifier","src":"3161:5:9"}]}]},"name":"abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory","nativeSrc":"2896:385:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2962:6:9","nodeType":"YulTypedName","src":"2962:6:9","type":""},{"name":"end","nativeSrc":"2970:3:9","nodeType":"YulTypedName","src":"2970:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2978:5:9","nodeType":"YulTypedName","src":"2978:5:9","type":""}],"src":"2896:385:9"},{"body":{"nativeSrc":"3389:452:9","nodeType":"YulBlock","src":"3389:452:9","statements":[{"body":{"nativeSrc":"3435:83:9","nodeType":"YulBlock","src":"3435:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"3437:77:9","nodeType":"YulIdentifier","src":"3437:77:9"},"nativeSrc":"3437:79:9","nodeType":"YulFunctionCall","src":"3437:79:9"},"nativeSrc":"3437:79:9","nodeType":"YulExpressionStatement","src":"3437:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"3410:7:9","nodeType":"YulIdentifier","src":"3410:7:9"},{"name":"headStart","nativeSrc":"3419:9:9","nodeType":"YulIdentifier","src":"3419:9:9"}],"functionName":{"name":"sub","nativeSrc":"3406:3:9","nodeType":"YulIdentifier","src":"3406:3:9"},"nativeSrc":"3406:23:9","nodeType":"YulFunctionCall","src":"3406:23:9"},{"kind":"number","nativeSrc":"3431:2:9","nodeType":"YulLiteral","src":"3431:2:9","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"3402:3:9","nodeType":"YulIdentifier","src":"3402:3:9"},"nativeSrc":"3402:32:9","nodeType":"YulFunctionCall","src":"3402:32:9"},"nativeSrc":"3399:119:9","nodeType":"YulIf","src":"3399:119:9"},{"nativeSrc":"3528:306:9","nodeType":"YulBlock","src":"3528:306:9","statements":[{"nativeSrc":"3543:38:9","nodeType":"YulVariableDeclaration","src":"3543:38:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3567:9:9","nodeType":"YulIdentifier","src":"3567:9:9"},{"kind":"number","nativeSrc":"3578:1:9","nodeType":"YulLiteral","src":"3578:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"3563:3:9","nodeType":"YulIdentifier","src":"3563:3:9"},"nativeSrc":"3563:17:9","nodeType":"YulFunctionCall","src":"3563:17:9"}],"functionName":{"name":"mload","nativeSrc":"3557:5:9","nodeType":"YulIdentifier","src":"3557:5:9"},"nativeSrc":"3557:24:9","nodeType":"YulFunctionCall","src":"3557:24:9"},"variables":[{"name":"offset","nativeSrc":"3547:6:9","nodeType":"YulTypedName","src":"3547:6:9","type":""}]},{"body":{"nativeSrc":"3628:83:9","nodeType":"YulBlock","src":"3628:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"3630:77:9","nodeType":"YulIdentifier","src":"3630:77:9"},"nativeSrc":"3630:79:9","nodeType":"YulFunctionCall","src":"3630:79:9"},"nativeSrc":"3630:79:9","nodeType":"YulExpressionStatement","src":"3630:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"3600:6:9","nodeType":"YulIdentifier","src":"3600:6:9"},{"kind":"number","nativeSrc":"3608:18:9","nodeType":"YulLiteral","src":"3608:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"3597:2:9","nodeType":"YulIdentifier","src":"3597:2:9"},"nativeSrc":"3597:30:9","nodeType":"YulFunctionCall","src":"3597:30:9"},"nativeSrc":"3594:117:9","nodeType":"YulIf","src":"3594:117:9"},{"nativeSrc":"3725:99:9","nodeType":"YulAssignment","src":"3725:99:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3796:9:9","nodeType":"YulIdentifier","src":"3796:9:9"},{"name":"offset","nativeSrc":"3807:6:9","nodeType":"YulIdentifier","src":"3807:6:9"}],"functionName":{"name":"add","nativeSrc":"3792:3:9","nodeType":"YulIdentifier","src":"3792:3:9"},"nativeSrc":"3792:22:9","nodeType":"YulFunctionCall","src":"3792:22:9"},{"name":"dataEnd","nativeSrc":"3816:7:9","nodeType":"YulIdentifier","src":"3816:7:9"}],"functionName":{"name":"abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory","nativeSrc":"3735:56:9","nodeType":"YulIdentifier","src":"3735:56:9"},"nativeSrc":"3735:89:9","nodeType":"YulFunctionCall","src":"3735:89:9"},"variableNames":[{"name":"value0","nativeSrc":"3725:6:9","nodeType":"YulIdentifier","src":"3725:6:9"}]}]}]},"name":"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory","nativeSrc":"3287:554:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"3359:9:9","nodeType":"YulTypedName","src":"3359:9:9","type":""},{"name":"dataEnd","nativeSrc":"3370:7:9","nodeType":"YulTypedName","src":"3370:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"3382:6:9","nodeType":"YulTypedName","src":"3382:6:9","type":""}],"src":"3287:554:9"},{"body":{"nativeSrc":"3875:152:9","nodeType":"YulBlock","src":"3875:152:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3892:1:9","nodeType":"YulLiteral","src":"3892:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"3895:77:9","nodeType":"YulLiteral","src":"3895:77:9","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"3885:6:9","nodeType":"YulIdentifier","src":"3885:6:9"},"nativeSrc":"3885:88:9","nodeType":"YulFunctionCall","src":"3885:88:9"},"nativeSrc":"3885:88:9","nodeType":"YulExpressionStatement","src":"3885:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3989:1:9","nodeType":"YulLiteral","src":"3989:1:9","type":"","value":"4"},{"kind":"number","nativeSrc":"3992:4:9","nodeType":"YulLiteral","src":"3992:4:9","type":"","value":"0x32"}],"functionName":{"name":"mstore","nativeSrc":"3982:6:9","nodeType":"YulIdentifier","src":"3982:6:9"},"nativeSrc":"3982:15:9","nodeType":"YulFunctionCall","src":"3982:15:9"},"nativeSrc":"3982:15:9","nodeType":"YulExpressionStatement","src":"3982:15:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4013:1:9","nodeType":"YulLiteral","src":"4013:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"4016:4:9","nodeType":"YulLiteral","src":"4016:4:9","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"4006:6:9","nodeType":"YulIdentifier","src":"4006:6:9"},"nativeSrc":"4006:15:9","nodeType":"YulFunctionCall","src":"4006:15:9"},"nativeSrc":"4006:15:9","nodeType":"YulExpressionStatement","src":"4006:15:9"}]},"name":"panic_error_0x32","nativeSrc":"3847:180:9","nodeType":"YulFunctionDefinition","src":"3847:180:9"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n}\n","id":9,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162001b1c38038062001b1c833981810160405281019062000037919062000423565b6200004c6000801b33620000c060201b60201c565b5060005b8151811015620000b857620000a97fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177583838151811062000095576200009462000474565b5b6020026020010151620000c060201b60201c565b50808060010191505062000050565b5050620004a3565b6000620000d48383620001c360201b60201c565b620001b857600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001546200022d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050620001bd565b600090505b92915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000299826200024e565b810181811067ffffffffffffffff82111715620002bb57620002ba6200025f565b5b80604052505050565b6000620002d062000235565b9050620002de82826200028e565b919050565b600067ffffffffffffffff8211156200030157620003006200025f565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003448262000317565b9050919050565b620003568162000337565b81146200036257600080fd5b50565b60008151905062000376816200034b565b92915050565b6000620003936200038d84620002e3565b620002c4565b90508083825260208201905060208402830185811115620003b957620003b862000312565b5b835b81811015620003e65780620003d1888262000365565b845260208401935050602081019050620003bb565b5050509392505050565b600082601f83011262000408576200040762000249565b5b81516200041a8482602086016200037c565b91505092915050565b6000602082840312156200043c576200043b6200023f565b5b600082015167ffffffffffffffff8111156200045d576200045c62000244565b5b6200046b84828501620003f0565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61166980620004b36000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063513ec2f811610071578063513ec2f81461016257806375b238fc14610192578063890f10a0146101b057806391d14854146101e0578063a217fddf14610210578063d547741f1461022e576100a9565b806301ffc9a7146100ae578063248a9ca3146100de5780632588cd551461010e5780632f2ff15d1461012a57806336568abe14610146575b600080fd5b6100c860048036038101906100c39190610ad0565b61024a565b6040516100d59190610b18565b60405180910390f35b6100f860048036038101906100f39190610b69565b6102c4565b6040516101059190610ba5565b60405180910390f35b61012860048036038101906101239190610c25565b6102e3565b005b610144600480360381019061013f9190610d04565b6104ed565b005b610160600480360381019061015b9190610d04565b61050f565b005b61017c60048036038101906101779190610e85565b61058a565b6040516101899190610f4d565b60405180910390f35b61019a610640565b6040516101a79190610ba5565b60405180910390f35b6101ca60048036038101906101c59190610f6f565b610664565b6040516101d79190610f4d565b60405180910390f35b6101fa60048036038101906101f59190610d04565b610717565b6040516102079190610b18565b60405180910390f35b610218610781565b6040516102259190610ba5565b60405180910390f35b61024860048036038101906102439190610d04565b610788565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806102bd57506102bc826107aa565b5b9050919050565b6000806000838152602001908152602001600020600101549050919050565b61030d7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610717565b61034c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103439061102e565b60405180910390fd5b60008484905011610392576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610389906110c0565b60405180910390fd5b602884849050106103d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cf90611152565b60405180910390fd5b6000828290501161041e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610415906111be565b60405180910390fd5b610100828290501115610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611250565b60405180910390fd5b81816001868660405161047a9291906112a0565b908152602001604051809103902091826104959291906114da565b5083836040516104a69291906112a0565b60405180910390207f6468084a45bfadcd3a84169a78a1a25c53317fc97f185e4037e0696cfc913ccc83836040516104df9291906115d7565b60405180910390a250505050565b6104f6826102c4565b6104ff81610814565b6105098383610828565b50505050565b610517610919565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461057b576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105858282610921565b505050565b60018180516020810182018051848252602083016020850120818352809550505050505060009150905080546105bf906112f3565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb906112f3565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b505050505081565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6060600183836040516106789291906112a0565b90815260200160405180910390208054610691906112f3565b80601f01602080910402602001604051908101604052809291908181526020018280546106bd906112f3565b801561070a5780601f106106df5761010080835404028352916020019161070a565b820191906000526020600020905b8154815290600101906020018083116106ed57829003601f168201915b5050505050905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b610791826102c4565b61079a81610814565b6107a48383610921565b50505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61082581610820610919565b610a13565b50565b60006108348383610717565b61090e57600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506108ab610919565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610913565b600090505b92915050565b600033905090565b600061092d8383610717565b15610a0857600080600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506109a5610919565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050610a0d565b600090505b92915050565b610a1d8282610717565b610a605780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401610a5792919061160a565b60405180910390fd5b5050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610aad81610a78565b8114610ab857600080fd5b50565b600081359050610aca81610aa4565b92915050565b600060208284031215610ae657610ae5610a6e565b5b6000610af484828501610abb565b91505092915050565b60008115159050919050565b610b1281610afd565b82525050565b6000602082019050610b2d6000830184610b09565b92915050565b6000819050919050565b610b4681610b33565b8114610b5157600080fd5b50565b600081359050610b6381610b3d565b92915050565b600060208284031215610b7f57610b7e610a6e565b5b6000610b8d84828501610b54565b91505092915050565b610b9f81610b33565b82525050565b6000602082019050610bba6000830184610b96565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610be557610be4610bc0565b5b8235905067ffffffffffffffff811115610c0257610c01610bc5565b5b602083019150836001820283011115610c1e57610c1d610bca565b5b9250929050565b60008060008060408587031215610c3f57610c3e610a6e565b5b600085013567ffffffffffffffff811115610c5d57610c5c610a73565b5b610c6987828801610bcf565b9450945050602085013567ffffffffffffffff811115610c8c57610c8b610a73565b5b610c9887828801610bcf565b925092505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cd182610ca6565b9050919050565b610ce181610cc6565b8114610cec57600080fd5b50565b600081359050610cfe81610cd8565b92915050565b60008060408385031215610d1b57610d1a610a6e565b5b6000610d2985828601610b54565b9250506020610d3a85828601610cef565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610d9282610d49565b810181811067ffffffffffffffff82111715610db157610db0610d5a565b5b80604052505050565b6000610dc4610a64565b9050610dd08282610d89565b919050565b600067ffffffffffffffff821115610df057610def610d5a565b5b610df982610d49565b9050602081019050919050565b82818337600083830152505050565b6000610e28610e2384610dd5565b610dba565b905082815260208101848484011115610e4457610e43610d44565b5b610e4f848285610e06565b509392505050565b600082601f830112610e6c57610e6b610bc0565b5b8135610e7c848260208601610e15565b91505092915050565b600060208284031215610e9b57610e9a610a6e565b5b600082013567ffffffffffffffff811115610eb957610eb8610a73565b5b610ec584828501610e57565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f08578082015181840152602081019050610eed565b60008484015250505050565b6000610f1f82610ece565b610f298185610ed9565b9350610f39818560208601610eea565b610f4281610d49565b840191505092915050565b60006020820190508181036000830152610f678184610f14565b905092915050565b60008060208385031215610f8657610f85610a6e565b5b600083013567ffffffffffffffff811115610fa457610fa3610a73565b5b610fb085828601610bcf565b92509250509250929050565b7f4f6e6c792061646d696e2063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611018602183610ed9565b915061102382610fbc565b604082019050919050565b600060208201905081810360008301526110478161100b565b9050919050565b7f576f726b73746570496e7374616e636549642063616e6e6f7420626520656d7060008201527f7479000000000000000000000000000000000000000000000000000000000000602082015250565b60006110aa602283610ed9565b91506110b58261104e565b604082019050919050565b600060208201905081810360008301526110d98161109d565b9050919050565b7f576f726b73746570496e7374616e636549642063616e6e6f742065786365656460008201527f2034302062797465730000000000000000000000000000000000000000000000602082015250565b600061113c602983610ed9565b9150611147826110e0565b604082019050919050565b6000602082019050818103600083015261116b8161112f565b9050919050565b7f416e63686f72486173682063616e6e6f7420626520656d707479000000000000600082015250565b60006111a8601a83610ed9565b91506111b382611172565b602082019050919050565b600060208201905081810360008301526111d78161119b565b9050919050565b7f416e63686f72486173682063616e6e6f7420657863656564203235362062797460008201527f6573000000000000000000000000000000000000000000000000000000000000602082015250565b600061123a602283610ed9565b9150611245826111de565b604082019050919050565b600060208201905081810360008301526112698161122d565b9050919050565b600081905092915050565b60006112878385611270565b9350611294838584610e06565b82840190509392505050565b60006112ad82848661127b565b91508190509392505050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061130b57607f821691505b60208210810361131e5761131d6112c4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611349565b6113908683611349565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006113d76113d26113cd846113a8565b6113b2565b6113a8565b9050919050565b6000819050919050565b6113f1836113bc565b6114056113fd826113de565b848454611356565b825550505050565b600090565b61141a61140d565b6114258184846113e8565b505050565b5b818110156114495761143e600082611412565b60018101905061142b565b5050565b601f82111561148e5761145f81611324565b61146884611339565b81016020851015611477578190505b61148b61148385611339565b83018261142a565b50505b505050565b600082821c905092915050565b60006114b160001984600802611493565b1980831691505092915050565b60006114ca83836114a0565b9150826002028217905092915050565b6114e483836112b9565b67ffffffffffffffff8111156114fd576114fc610d5a565b5b61150782546112f3565b61151282828561144d565b6000601f831160018114611541576000841561152f578287013590505b61153985826114be565b8655506115a1565b601f19841661154f86611324565b60005b8281101561157757848901358255600182019150602085019450602081019050611552565b868310156115945784890135611590601f8916826114a0565b8355505b6001600288020188555050505b50505050505050565b60006115b68385610ed9565b93506115c3838584610e06565b6115cc83610d49565b840190509392505050565b600060208201905081810360008301526115f28184866115aa565b90509392505050565b61160481610cc6565b82525050565b600060408201905061161f60008301856115fb565b61162c6020830184610b96565b939250505056fea2646970667358221220ece41f4fa00767e1dea402f3499f4b298bfa454644d4625eec00bbad9d616b2d64736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1B1C CODESIZE SUB DUP1 PUSH3 0x1B1C DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x423 JUMP JUMPDEST PUSH3 0x4C PUSH1 0x0 DUP1 SHL CALLER PUSH3 0xC0 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0xB8 JUMPI PUSH3 0xA9 PUSH32 0xA49807205CE4D355092EF5A8A18F56E8913CF4A201FBE287825B095693C21775 DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH3 0x95 JUMPI PUSH3 0x94 PUSH3 0x474 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH3 0xC0 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH3 0x50 JUMP JUMPDEST POP POP PUSH3 0x4A3 JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD4 DUP4 DUP4 PUSH3 0x1C3 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x1B8 JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH3 0x154 PUSH3 0x22D PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP1 POP PUSH3 0x1BD JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x299 DUP3 PUSH3 0x24E JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2BB JUMPI PUSH3 0x2BA PUSH3 0x25F JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2D0 PUSH3 0x235 JUMP JUMPDEST SWAP1 POP PUSH3 0x2DE DUP3 DUP3 PUSH3 0x28E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x301 JUMPI PUSH3 0x300 PUSH3 0x25F JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x344 DUP3 PUSH3 0x317 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x356 DUP2 PUSH3 0x337 JUMP JUMPDEST DUP2 EQ PUSH3 0x362 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x376 DUP2 PUSH3 0x34B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x393 PUSH3 0x38D DUP5 PUSH3 0x2E3 JUMP JUMPDEST PUSH3 0x2C4 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH3 0x3B9 JUMPI PUSH3 0x3B8 PUSH3 0x312 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x3E6 JUMPI DUP1 PUSH3 0x3D1 DUP9 DUP3 PUSH3 0x365 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3BB JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x408 JUMPI PUSH3 0x407 PUSH3 0x249 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x41A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x37C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x43C JUMPI PUSH3 0x43B PUSH3 0x23F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x45D JUMPI PUSH3 0x45C PUSH3 0x244 JUMP JUMPDEST JUMPDEST PUSH3 0x46B DUP5 DUP3 DUP6 ADD PUSH3 0x3F0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1669 DUP1 PUSH3 0x4B3 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x513EC2F8 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x513EC2F8 EQ PUSH2 0x162 JUMPI DUP1 PUSH4 0x75B238FC EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x890F10A0 EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x22E JUMPI PUSH2 0xA9 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x2588CD55 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x146 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0xAD0 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD5 SWAP2 SWAP1 PUSH2 0xB18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xB69 JUMP JUMPDEST PUSH2 0x2C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x105 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x128 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x123 SWAP2 SWAP1 PUSH2 0xC25 JUMP JUMPDEST PUSH2 0x2E3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x144 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13F SWAP2 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH2 0x4ED JUMP JUMPDEST STOP JUMPDEST PUSH2 0x160 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15B SWAP2 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH2 0x50F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x177 SWAP2 SWAP1 PUSH2 0xE85 JUMP JUMPDEST PUSH2 0x58A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x189 SWAP2 SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19A PUSH2 0x640 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C5 SWAP2 SWAP1 PUSH2 0xF6F JUMP JUMPDEST PUSH2 0x664 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH2 0x717 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x207 SWAP2 SWAP1 PUSH2 0xB18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x218 PUSH2 0x781 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x225 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x243 SWAP2 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH2 0x788 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x2BD JUMPI POP PUSH2 0x2BC DUP3 PUSH2 0x7AA JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x30D PUSH32 0xA49807205CE4D355092EF5A8A18F56E8913CF4A201FBE287825B095693C21775 CALLER PUSH2 0x717 JUMP JUMPDEST PUSH2 0x34C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x343 SWAP1 PUSH2 0x102E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 SWAP1 POP GT PUSH2 0x392 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x389 SWAP1 PUSH2 0x10C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x28 DUP5 DUP5 SWAP1 POP LT PUSH2 0x3D8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CF SWAP1 PUSH2 0x1152 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 SWAP1 POP GT PUSH2 0x41E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x415 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x100 DUP3 DUP3 SWAP1 POP GT ISZERO PUSH2 0x466 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45D SWAP1 PUSH2 0x1250 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x1 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x47A SWAP3 SWAP2 SWAP1 PUSH2 0x12A0 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP2 DUP3 PUSH2 0x495 SWAP3 SWAP2 SWAP1 PUSH2 0x14DA JUMP JUMPDEST POP DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x4A6 SWAP3 SWAP2 SWAP1 PUSH2 0x12A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0x6468084A45BFADCD3A84169A78A1A25C53317FC97F185E4037E0696CFC913CCC DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x4DF SWAP3 SWAP2 SWAP1 PUSH2 0x15D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH2 0x4F6 DUP3 PUSH2 0x2C4 JUMP JUMPDEST PUSH2 0x4FF DUP2 PUSH2 0x814 JUMP JUMPDEST PUSH2 0x509 DUP4 DUP4 PUSH2 0x828 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x517 PUSH2 0x919 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x57B JUMPI PUSH1 0x40 MLOAD PUSH32 0x6697B23200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x585 DUP3 DUP3 PUSH2 0x921 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 SLOAD PUSH2 0x5BF SWAP1 PUSH2 0x12F3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5EB SWAP1 PUSH2 0x12F3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x638 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x60D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x638 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x61B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH32 0xA49807205CE4D355092EF5A8A18F56E8913CF4A201FBE287825B095693C21775 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x678 SWAP3 SWAP2 SWAP1 PUSH2 0x12A0 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x691 SWAP1 PUSH2 0x12F3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6BD SWAP1 PUSH2 0x12F3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x70A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6DF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x70A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6ED JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SHL DUP2 JUMP JUMPDEST PUSH2 0x791 DUP3 PUSH2 0x2C4 JUMP JUMPDEST PUSH2 0x79A DUP2 PUSH2 0x814 JUMP JUMPDEST PUSH2 0x7A4 DUP4 DUP4 PUSH2 0x921 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x825 DUP2 PUSH2 0x820 PUSH2 0x919 JUMP JUMPDEST PUSH2 0xA13 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x834 DUP4 DUP4 PUSH2 0x717 JUMP JUMPDEST PUSH2 0x90E JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x8AB PUSH2 0x919 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP1 POP PUSH2 0x913 JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x92D DUP4 DUP4 PUSH2 0x717 JUMP JUMPDEST ISZERO PUSH2 0xA08 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x9A5 PUSH2 0x919 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP1 POP PUSH2 0xA0D JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA1D DUP3 DUP3 PUSH2 0x717 JUMP JUMPDEST PUSH2 0xA60 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH32 0xE2517D3F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA57 SWAP3 SWAP2 SWAP1 PUSH2 0x160A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAAD DUP2 PUSH2 0xA78 JUMP JUMPDEST DUP2 EQ PUSH2 0xAB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xACA DUP2 PUSH2 0xAA4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAE6 JUMPI PUSH2 0xAE5 PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAF4 DUP5 DUP3 DUP6 ADD PUSH2 0xABB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB12 DUP2 PUSH2 0xAFD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB2D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB09 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB46 DUP2 PUSH2 0xB33 JUMP JUMPDEST DUP2 EQ PUSH2 0xB51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB63 DUP2 PUSH2 0xB3D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB7F JUMPI PUSH2 0xB7E PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB8D DUP5 DUP3 DUP6 ADD PUSH2 0xB54 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB9F DUP2 PUSH2 0xB33 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBBA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB96 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xBE5 JUMPI PUSH2 0xBE4 PUSH2 0xBC0 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC02 JUMPI PUSH2 0xC01 PUSH2 0xBC5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xC1E JUMPI PUSH2 0xC1D PUSH2 0xBCA JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xC3F JUMPI PUSH2 0xC3E PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC5D JUMPI PUSH2 0xC5C PUSH2 0xA73 JUMP JUMPDEST JUMPDEST PUSH2 0xC69 DUP8 DUP3 DUP9 ADD PUSH2 0xBCF JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC8C JUMPI PUSH2 0xC8B PUSH2 0xA73 JUMP JUMPDEST JUMPDEST PUSH2 0xC98 DUP8 DUP3 DUP9 ADD PUSH2 0xBCF JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCD1 DUP3 PUSH2 0xCA6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xCE1 DUP2 PUSH2 0xCC6 JUMP JUMPDEST DUP2 EQ PUSH2 0xCEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xCFE DUP2 PUSH2 0xCD8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD1B JUMPI PUSH2 0xD1A PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD29 DUP6 DUP3 DUP7 ADD PUSH2 0xB54 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xD3A DUP6 DUP3 DUP7 ADD PUSH2 0xCEF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xD92 DUP3 PUSH2 0xD49 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xDB1 JUMPI PUSH2 0xDB0 PUSH2 0xD5A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDC4 PUSH2 0xA64 JUMP JUMPDEST SWAP1 POP PUSH2 0xDD0 DUP3 DUP3 PUSH2 0xD89 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDF0 JUMPI PUSH2 0xDEF PUSH2 0xD5A JUMP JUMPDEST JUMPDEST PUSH2 0xDF9 DUP3 PUSH2 0xD49 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE28 PUSH2 0xE23 DUP5 PUSH2 0xDD5 JUMP JUMPDEST PUSH2 0xDBA JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xE44 JUMPI PUSH2 0xE43 PUSH2 0xD44 JUMP JUMPDEST JUMPDEST PUSH2 0xE4F DUP5 DUP3 DUP6 PUSH2 0xE06 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE6C JUMPI PUSH2 0xE6B PUSH2 0xBC0 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xE7C DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xE15 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE9B JUMPI PUSH2 0xE9A PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xEB9 JUMPI PUSH2 0xEB8 PUSH2 0xA73 JUMP JUMPDEST JUMPDEST PUSH2 0xEC5 DUP5 DUP3 DUP6 ADD PUSH2 0xE57 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF08 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xEED JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF1F DUP3 PUSH2 0xECE JUMP JUMPDEST PUSH2 0xF29 DUP2 DUP6 PUSH2 0xED9 JUMP JUMPDEST SWAP4 POP PUSH2 0xF39 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xEEA JUMP JUMPDEST PUSH2 0xF42 DUP2 PUSH2 0xD49 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF67 DUP2 DUP5 PUSH2 0xF14 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF86 JUMPI PUSH2 0xF85 PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFA4 JUMPI PUSH2 0xFA3 PUSH2 0xA73 JUMP JUMPDEST JUMPDEST PUSH2 0xFB0 DUP6 DUP3 DUP7 ADD PUSH2 0xBCF JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C792061646D696E2063616E2063616C6C20746869732066756E6374696F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1018 PUSH1 0x21 DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x1023 DUP3 PUSH2 0xFBC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1047 DUP2 PUSH2 0x100B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x576F726B73746570496E7374616E636549642063616E6E6F7420626520656D70 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7479000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10AA PUSH1 0x22 DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x10B5 DUP3 PUSH2 0x104E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x10D9 DUP2 PUSH2 0x109D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x576F726B73746570496E7374616E636549642063616E6E6F7420657863656564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2034302062797465730000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113C PUSH1 0x29 DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x1147 DUP3 PUSH2 0x10E0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x116B DUP2 PUSH2 0x112F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416E63686F72486173682063616E6E6F7420626520656D707479000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11A8 PUSH1 0x1A DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x11B3 DUP3 PUSH2 0x1172 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x11D7 DUP2 PUSH2 0x119B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416E63686F72486173682063616E6E6F74206578636565642032353620627974 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6573000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x123A PUSH1 0x22 DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x1245 DUP3 PUSH2 0x11DE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1269 DUP2 PUSH2 0x122D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1287 DUP4 DUP6 PUSH2 0x1270 JUMP JUMPDEST SWAP4 POP PUSH2 0x1294 DUP4 DUP6 DUP5 PUSH2 0xE06 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12AD DUP3 DUP5 DUP7 PUSH2 0x127B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x130B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x131E JUMPI PUSH2 0x131D PUSH2 0x12C4 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x1386 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1349 JUMP JUMPDEST PUSH2 0x1390 DUP7 DUP4 PUSH2 0x1349 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D7 PUSH2 0x13D2 PUSH2 0x13CD DUP5 PUSH2 0x13A8 JUMP JUMPDEST PUSH2 0x13B2 JUMP JUMPDEST PUSH2 0x13A8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13F1 DUP4 PUSH2 0x13BC JUMP JUMPDEST PUSH2 0x1405 PUSH2 0x13FD DUP3 PUSH2 0x13DE JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1356 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x141A PUSH2 0x140D JUMP JUMPDEST PUSH2 0x1425 DUP2 DUP5 DUP5 PUSH2 0x13E8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1449 JUMPI PUSH2 0x143E PUSH1 0x0 DUP3 PUSH2 0x1412 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x142B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x148E JUMPI PUSH2 0x145F DUP2 PUSH2 0x1324 JUMP JUMPDEST PUSH2 0x1468 DUP5 PUSH2 0x1339 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x1477 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x148B PUSH2 0x1483 DUP6 PUSH2 0x1339 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x142A JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14B1 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1493 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14CA DUP4 DUP4 PUSH2 0x14A0 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14E4 DUP4 DUP4 PUSH2 0x12B9 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14FD JUMPI PUSH2 0x14FC PUSH2 0xD5A JUMP JUMPDEST JUMPDEST PUSH2 0x1507 DUP3 SLOAD PUSH2 0x12F3 JUMP JUMPDEST PUSH2 0x1512 DUP3 DUP3 DUP6 PUSH2 0x144D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1541 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x152F JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x1539 DUP6 DUP3 PUSH2 0x14BE JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x15A1 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x154F DUP7 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1577 JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1552 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1594 JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x1590 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x14A0 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B6 DUP4 DUP6 PUSH2 0xED9 JUMP JUMPDEST SWAP4 POP PUSH2 0x15C3 DUP4 DUP6 DUP5 PUSH2 0xE06 JUMP JUMPDEST PUSH2 0x15CC DUP4 PUSH2 0xD49 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15F2 DUP2 DUP5 DUP7 PUSH2 0x15AA JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1604 DUP2 PUSH2 0xCC6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x161F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15FB JUMP JUMPDEST PUSH2 0x162C PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB96 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEC 0xE4 0x1F 0x4F LOG0 SMOD PUSH8 0xE1DEA402F3499F4B 0x29 DUP12 STATICCALL GASLIMIT CHAINID PREVRANDAO 0xD4 PUSH3 0x5EEC00 0xBB 0xAD SWAP14 PUSH2 0x6B2D PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ","sourceMap":"123:1456:5:-:0;;;367:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;410:42;2232:4:0;421:18:5;;441:10;410;;;:42;;:::i;:::-;;505:6;500:125;521:6;:13;517:1;:17;500:125;;;549:33;339:23;572:6;579:1;572:9;;;;;;;;:::i;:::-;;;;;;;;549:10;;;:33;;:::i;:::-;;536:3;;;;;;;500:125;;;;367:262;123:1456;;6179:316:0;6256:4;6277:22;6285:4;6291:7;6277;;;:22;;:::i;:::-;6272:217;;6347:4;6315:6;:12;6322:4;6315:12;;;;;;;;;;;:20;;:29;6336:7;6315:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;6397:12;:10;;;:12;;:::i;:::-;6370:40;;6388:7;6370:40;;6382:4;6370:40;;;;;;;;;;6431:4;6424:11;;;;6272:217;6473:5;6466:12;;6179:316;;;;;:::o;2854:136::-;2931:4;2954:6;:12;2961:4;2954:12;;;;;;;;;;;:20;;:29;2975:7;2954:29;;;;;;;;;;;;;;;;;;;;;;;;;2947:36;;2854:136;;;;:::o;656:96:2:-;709:7;735:10;728:17;;656:96;:::o;7:75:9:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:143::-;2032:5;2063:6;2057:13;2048:22;;2079:33;2106:5;2079:33;:::i;:::-;1975:143;;;;:::o;2141:732::-;2248:5;2273:81;2289:64;2346:6;2289:64;:::i;:::-;2273:81;:::i;:::-;2264:90;;2374:5;2403:6;2396:5;2389:21;2437:4;2430:5;2426:16;2419:23;;2490:4;2482:6;2478:17;2470:6;2466:30;2519:3;2511:6;2508:15;2505:122;;;2538:79;;:::i;:::-;2505:122;2653:6;2636:231;2670:6;2665:3;2662:15;2636:231;;;2745:3;2774:48;2818:3;2806:10;2774:48;:::i;:::-;2769:3;2762:61;2852:4;2847:3;2843:14;2836:21;;2712:155;2696:4;2691:3;2687:14;2680:21;;2636:231;;;2640:21;2254:619;;2141:732;;;;;:::o;2896:385::-;2978:5;3027:3;3020:4;3012:6;3008:17;3004:27;2994:122;;3035:79;;:::i;:::-;2994:122;3145:6;3139:13;3170:105;3271:3;3263:6;3256:4;3248:6;3244:17;3170:105;:::i;:::-;3161:114;;2984:297;2896:385;;;;:::o;3287:554::-;3382:6;3431:2;3419:9;3410:7;3406:23;3402:32;3399:119;;;3437:79;;:::i;:::-;3399:119;3578:1;3567:9;3563:17;3557:24;3608:18;3600:6;3597:30;3594:117;;;3630:79;;:::i;:::-;3594:117;3735:89;3816:7;3807:6;3796:9;3792:22;3735:89;:::i;:::-;3725:99;;3528:306;3287:554;;;;:::o;3847:180::-;3895:77;3892:1;3885:88;3992:4;3989:1;3982:15;4016:4;4013:1;4006:15;123:1456:5;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@ADMIN_ROLE_464":{"entryPoint":1600,"id":464,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_29":{"entryPoint":1921,"id":29,"parameterSlots":0,"returnSlots":0},"@_checkRole_114":{"entryPoint":2579,"id":114,"parameterSlots":2,"returnSlots":0},"@_checkRole_93":{"entryPoint":2068,"id":93,"parameterSlots":1,"returnSlots":0},"@_grantRole_256":{"entryPoint":2088,"id":256,"parameterSlots":2,"returnSlots":1},"@_msgSender_390":{"entryPoint":2329,"id":390,"parameterSlots":0,"returnSlots":1},"@_revokeRole_294":{"entryPoint":2337,"id":294,"parameterSlots":2,"returnSlots":1},"@anchorHashStore_453":{"entryPoint":1418,"id":453,"parameterSlots":0,"returnSlots":0},"@getAnchorHash_574":{"entryPoint":1636,"id":574,"parameterSlots":2,"returnSlots":1},"@getRoleAdmin_128":{"entryPoint":708,"id":128,"parameterSlots":1,"returnSlots":1},"@grantRole_147":{"entryPoint":1261,"id":147,"parameterSlots":2,"returnSlots":0},"@hasRole_80":{"entryPoint":1815,"id":80,"parameterSlots":2,"returnSlots":1},"@renounceRole_189":{"entryPoint":1295,"id":189,"parameterSlots":2,"returnSlots":0},"@revokeRole_166":{"entryPoint":1928,"id":166,"parameterSlots":2,"returnSlots":0},"@setAnchorHash_562":{"entryPoint":739,"id":562,"parameterSlots":4,"returnSlots":0},"@supportsInterface_431":{"entryPoint":1962,"id":431,"parameterSlots":1,"returnSlots":1},"@supportsInterface_62":{"entryPoint":586,"id":62,"parameterSlots":1,"returnSlots":1},"abi_decode_available_length_t_string_memory_ptr":{"entryPoint":3605,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address":{"entryPoint":3311,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes32":{"entryPoint":2900,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes4":{"entryPoint":2747,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_string_calldata_ptr":{"entryPoint":3023,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_t_string_memory_ptr":{"entryPoint":3671,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":2921,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":3332,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":2768,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_calldata_ptr":{"entryPoint":3951,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptr":{"entryPoint":3109,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":3717,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":5627,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":2825,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes32_to_t_bytes32_fromStack":{"entryPoint":2966,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack":{"entryPoint":5546,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":4731,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack":{"entryPoint":3860,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718_to_t_string_memory_ptr_fromStack":{"entryPoint":4399,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b_to_t_string_memory_ptr_fromStack":{"entryPoint":4653,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c_to_t_string_memory_ptr_fromStack":{"entryPoint":4253,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca_to_t_string_memory_ptr_fromStack":{"entryPoint":4507,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b_to_t_string_memory_ptr_fromStack":{"entryPoint":4107,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":4768,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed":{"entryPoint":5642,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":2840,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":2981,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":5591,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3917,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4434,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4688,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4288,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4542,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4142,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_memory":{"entryPoint":3514,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":2660,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_string_memory_ptr":{"entryPoint":3541,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_string_storage":{"entryPoint":4900,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_string_calldata_ptr":{"entryPoint":4793,"id":null,"parameterSlots":2,"returnSlots":1},"array_length_t_string_memory_ptr":{"entryPoint":3790,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":3801,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":4720,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_t_string_storage":{"entryPoint":5197,"id":null,"parameterSlots":3,"returnSlots":0},"cleanup_t_address":{"entryPoint":3270,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":2813,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes32":{"entryPoint":2867,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bytes4":{"entryPoint":2680,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":3238,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":5032,"id":null,"parameterSlots":1,"returnSlots":1},"clear_storage_range_t_bytes1":{"entryPoint":5162,"id":null,"parameterSlots":2,"returnSlots":0},"convert_t_uint256_to_t_uint256":{"entryPoint":5052,"id":null,"parameterSlots":1,"returnSlots":1},"copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage":{"entryPoint":5338,"id":null,"parameterSlots":3,"returnSlots":0},"copy_calldata_to_memory_with_cleanup":{"entryPoint":3590,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":3818,"id":null,"parameterSlots":3,"returnSlots":0},"divide_by_32_ceil":{"entryPoint":4921,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":4851,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":5310,"id":null,"parameterSlots":2,"returnSlots":1},"finalize_allocation":{"entryPoint":3465,"id":null,"parameterSlots":2,"returnSlots":0},"identity":{"entryPoint":5042,"id":null,"parameterSlots":1,"returnSlots":1},"mask_bytes_dynamic":{"entryPoint":5280,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x22":{"entryPoint":4804,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":3418,"id":null,"parameterSlots":0,"returnSlots":0},"prepare_store_t_uint256":{"entryPoint":5086,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490":{"entryPoint":3013,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":3008,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":3018,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":3396,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":2675,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":2670,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":3401,"id":null,"parameterSlots":1,"returnSlots":1},"shift_left_dynamic":{"entryPoint":4937,"id":null,"parameterSlots":2,"returnSlots":1},"shift_right_unsigned_dynamic":{"entryPoint":5267,"id":null,"parameterSlots":2,"returnSlots":1},"storage_set_to_zero_t_uint256":{"entryPoint":5138,"id":null,"parameterSlots":2,"returnSlots":0},"store_literal_in_memory_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718":{"entryPoint":4320,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b":{"entryPoint":4574,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c":{"entryPoint":4174,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca":{"entryPoint":4466,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b":{"entryPoint":4028,"id":null,"parameterSlots":1,"returnSlots":0},"update_byte_slice_dynamic32":{"entryPoint":4950,"id":null,"parameterSlots":3,"returnSlots":1},"update_storage_value_t_uint256_to_t_uint256":{"entryPoint":5096,"id":null,"parameterSlots":3,"returnSlots":0},"validator_revert_t_address":{"entryPoint":3288,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes32":{"entryPoint":2877,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_bytes4":{"entryPoint":2724,"id":null,"parameterSlots":1,"returnSlots":0},"zero_value_for_split_t_uint256":{"entryPoint":5133,"id":null,"parameterSlots":0,"returnSlots":1}},"generatedSources":[{"ast":{"nativeSrc":"0:21838:9","nodeType":"YulBlock","src":"0:21838:9","statements":[{"body":{"nativeSrc":"47:35:9","nodeType":"YulBlock","src":"47:35:9","statements":[{"nativeSrc":"57:19:9","nodeType":"YulAssignment","src":"57:19:9","value":{"arguments":[{"kind":"number","nativeSrc":"73:2:9","nodeType":"YulLiteral","src":"73:2:9","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"67:5:9","nodeType":"YulIdentifier","src":"67:5:9"},"nativeSrc":"67:9:9","nodeType":"YulFunctionCall","src":"67:9:9"},"variableNames":[{"name":"memPtr","nativeSrc":"57:6:9","nodeType":"YulIdentifier","src":"57:6:9"}]}]},"name":"allocate_unbounded","nativeSrc":"7:75:9","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nativeSrc":"40:6:9","nodeType":"YulTypedName","src":"40:6:9","type":""}],"src":"7:75:9"},{"body":{"nativeSrc":"177:28:9","nodeType":"YulBlock","src":"177:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194:1:9","nodeType":"YulLiteral","src":"194:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"197:1:9","nodeType":"YulLiteral","src":"197:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"187:6:9","nodeType":"YulIdentifier","src":"187:6:9"},"nativeSrc":"187:12:9","nodeType":"YulFunctionCall","src":"187:12:9"},"nativeSrc":"187:12:9","nodeType":"YulExpressionStatement","src":"187:12:9"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"88:117:9","nodeType":"YulFunctionDefinition","src":"88:117:9"},{"body":{"nativeSrc":"300:28:9","nodeType":"YulBlock","src":"300:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"317:1:9","nodeType":"YulLiteral","src":"317:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"320:1:9","nodeType":"YulLiteral","src":"320:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"310:6:9","nodeType":"YulIdentifier","src":"310:6:9"},"nativeSrc":"310:12:9","nodeType":"YulFunctionCall","src":"310:12:9"},"nativeSrc":"310:12:9","nodeType":"YulExpressionStatement","src":"310:12:9"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"211:117:9","nodeType":"YulFunctionDefinition","src":"211:117:9"},{"body":{"nativeSrc":"378:105:9","nodeType":"YulBlock","src":"378:105:9","statements":[{"nativeSrc":"388:89:9","nodeType":"YulAssignment","src":"388:89:9","value":{"arguments":[{"name":"value","nativeSrc":"403:5:9","nodeType":"YulIdentifier","src":"403:5:9"},{"kind":"number","nativeSrc":"410:66:9","nodeType":"YulLiteral","src":"410:66:9","type":"","value":"0xffffffff00000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"and","nativeSrc":"399:3:9","nodeType":"YulIdentifier","src":"399:3:9"},"nativeSrc":"399:78:9","nodeType":"YulFunctionCall","src":"399:78:9"},"variableNames":[{"name":"cleaned","nativeSrc":"388:7:9","nodeType":"YulIdentifier","src":"388:7:9"}]}]},"name":"cleanup_t_bytes4","nativeSrc":"334:149:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"360:5:9","nodeType":"YulTypedName","src":"360:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"370:7:9","nodeType":"YulTypedName","src":"370:7:9","type":""}],"src":"334:149:9"},{"body":{"nativeSrc":"531:78:9","nodeType":"YulBlock","src":"531:78:9","statements":[{"body":{"nativeSrc":"587:16:9","nodeType":"YulBlock","src":"587:16:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"596:1:9","nodeType":"YulLiteral","src":"596:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"599:1:9","nodeType":"YulLiteral","src":"599:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"589:6:9","nodeType":"YulIdentifier","src":"589:6:9"},"nativeSrc":"589:12:9","nodeType":"YulFunctionCall","src":"589:12:9"},"nativeSrc":"589:12:9","nodeType":"YulExpressionStatement","src":"589:12:9"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"554:5:9","nodeType":"YulIdentifier","src":"554:5:9"},{"arguments":[{"name":"value","nativeSrc":"578:5:9","nodeType":"YulIdentifier","src":"578:5:9"}],"functionName":{"name":"cleanup_t_bytes4","nativeSrc":"561:16:9","nodeType":"YulIdentifier","src":"561:16:9"},"nativeSrc":"561:23:9","nodeType":"YulFunctionCall","src":"561:23:9"}],"functionName":{"name":"eq","nativeSrc":"551:2:9","nodeType":"YulIdentifier","src":"551:2:9"},"nativeSrc":"551:34:9","nodeType":"YulFunctionCall","src":"551:34:9"}],"functionName":{"name":"iszero","nativeSrc":"544:6:9","nodeType":"YulIdentifier","src":"544:6:9"},"nativeSrc":"544:42:9","nodeType":"YulFunctionCall","src":"544:42:9"},"nativeSrc":"541:62:9","nodeType":"YulIf","src":"541:62:9"}]},"name":"validator_revert_t_bytes4","nativeSrc":"489:120:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"524:5:9","nodeType":"YulTypedName","src":"524:5:9","type":""}],"src":"489:120:9"},{"body":{"nativeSrc":"666:86:9","nodeType":"YulBlock","src":"666:86:9","statements":[{"nativeSrc":"676:29:9","nodeType":"YulAssignment","src":"676:29:9","value":{"arguments":[{"name":"offset","nativeSrc":"698:6:9","nodeType":"YulIdentifier","src":"698:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"685:12:9","nodeType":"YulIdentifier","src":"685:12:9"},"nativeSrc":"685:20:9","nodeType":"YulFunctionCall","src":"685:20:9"},"variableNames":[{"name":"value","nativeSrc":"676:5:9","nodeType":"YulIdentifier","src":"676:5:9"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"740:5:9","nodeType":"YulIdentifier","src":"740:5:9"}],"functionName":{"name":"validator_revert_t_bytes4","nativeSrc":"714:25:9","nodeType":"YulIdentifier","src":"714:25:9"},"nativeSrc":"714:32:9","nodeType":"YulFunctionCall","src":"714:32:9"},"nativeSrc":"714:32:9","nodeType":"YulExpressionStatement","src":"714:32:9"}]},"name":"abi_decode_t_bytes4","nativeSrc":"615:137:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"644:6:9","nodeType":"YulTypedName","src":"644:6:9","type":""},{"name":"end","nativeSrc":"652:3:9","nodeType":"YulTypedName","src":"652:3:9","type":""}],"returnVariables":[{"name":"value","nativeSrc":"660:5:9","nodeType":"YulTypedName","src":"660:5:9","type":""}],"src":"615:137:9"},{"body":{"nativeSrc":"823:262:9","nodeType":"YulBlock","src":"823:262:9","statements":[{"body":{"nativeSrc":"869:83:9","nodeType":"YulBlock","src":"869:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"871:77:9","nodeType":"YulIdentifier","src":"871:77:9"},"nativeSrc":"871:79:9","nodeType":"YulFunctionCall","src":"871:79:9"},"nativeSrc":"871:79:9","nodeType":"YulExpressionStatement","src":"871:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"844:7:9","nodeType":"YulIdentifier","src":"844:7:9"},{"name":"headStart","nativeSrc":"853:9:9","nodeType":"YulIdentifier","src":"853:9:9"}],"functionName":{"name":"sub","nativeSrc":"840:3:9","nodeType":"YulIdentifier","src":"840:3:9"},"nativeSrc":"840:23:9","nodeType":"YulFunctionCall","src":"840:23:9"},{"kind":"number","nativeSrc":"865:2:9","nodeType":"YulLiteral","src":"865:2:9","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"836:3:9","nodeType":"YulIdentifier","src":"836:3:9"},"nativeSrc":"836:32:9","nodeType":"YulFunctionCall","src":"836:32:9"},"nativeSrc":"833:119:9","nodeType":"YulIf","src":"833:119:9"},{"nativeSrc":"962:116:9","nodeType":"YulBlock","src":"962:116:9","statements":[{"nativeSrc":"977:15:9","nodeType":"YulVariableDeclaration","src":"977:15:9","value":{"kind":"number","nativeSrc":"991:1:9","nodeType":"YulLiteral","src":"991:1:9","type":"","value":"0"},"variables":[{"name":"offset","nativeSrc":"981:6:9","nodeType":"YulTypedName","src":"981:6:9","type":""}]},{"nativeSrc":"1006:62:9","nodeType":"YulAssignment","src":"1006:62:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"1040:9:9","nodeType":"YulIdentifier","src":"1040:9:9"},{"name":"offset","nativeSrc":"1051:6:9","nodeType":"YulIdentifier","src":"1051:6:9"}],"functionName":{"name":"add","nativeSrc":"1036:3:9","nodeType":"YulIdentifier","src":"1036:3:9"},"nativeSrc":"1036:22:9","nodeType":"YulFunctionCall","src":"1036:22:9"},{"name":"dataEnd","nativeSrc":"1060:7:9","nodeType":"YulIdentifier","src":"1060:7:9"}],"functionName":{"name":"abi_decode_t_bytes4","nativeSrc":"1016:19:9","nodeType":"YulIdentifier","src":"1016:19:9"},"nativeSrc":"1016:52:9","nodeType":"YulFunctionCall","src":"1016:52:9"},"variableNames":[{"name":"value0","nativeSrc":"1006:6:9","nodeType":"YulIdentifier","src":"1006:6:9"}]}]}]},"name":"abi_decode_tuple_t_bytes4","nativeSrc":"758:327:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"793:9:9","nodeType":"YulTypedName","src":"793:9:9","type":""},{"name":"dataEnd","nativeSrc":"804:7:9","nodeType":"YulTypedName","src":"804:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"816:6:9","nodeType":"YulTypedName","src":"816:6:9","type":""}],"src":"758:327:9"},{"body":{"nativeSrc":"1133:48:9","nodeType":"YulBlock","src":"1133:48:9","statements":[{"nativeSrc":"1143:32:9","nodeType":"YulAssignment","src":"1143:32:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"1168:5:9","nodeType":"YulIdentifier","src":"1168:5:9"}],"functionName":{"name":"iszero","nativeSrc":"1161:6:9","nodeType":"YulIdentifier","src":"1161:6:9"},"nativeSrc":"1161:13:9","nodeType":"YulFunctionCall","src":"1161:13:9"}],"functionName":{"name":"iszero","nativeSrc":"1154:6:9","nodeType":"YulIdentifier","src":"1154:6:9"},"nativeSrc":"1154:21:9","nodeType":"YulFunctionCall","src":"1154:21:9"},"variableNames":[{"name":"cleaned","nativeSrc":"1143:7:9","nodeType":"YulIdentifier","src":"1143:7:9"}]}]},"name":"cleanup_t_bool","nativeSrc":"1091:90:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1115:5:9","nodeType":"YulTypedName","src":"1115:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"1125:7:9","nodeType":"YulTypedName","src":"1125:7:9","type":""}],"src":"1091:90:9"},{"body":{"nativeSrc":"1246:50:9","nodeType":"YulBlock","src":"1246:50:9","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"1263:3:9","nodeType":"YulIdentifier","src":"1263:3:9"},{"arguments":[{"name":"value","nativeSrc":"1283:5:9","nodeType":"YulIdentifier","src":"1283:5:9"}],"functionName":{"name":"cleanup_t_bool","nativeSrc":"1268:14:9","nodeType":"YulIdentifier","src":"1268:14:9"},"nativeSrc":"1268:21:9","nodeType":"YulFunctionCall","src":"1268:21:9"}],"functionName":{"name":"mstore","nativeSrc":"1256:6:9","nodeType":"YulIdentifier","src":"1256:6:9"},"nativeSrc":"1256:34:9","nodeType":"YulFunctionCall","src":"1256:34:9"},"nativeSrc":"1256:34:9","nodeType":"YulExpressionStatement","src":"1256:34:9"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"1187:109:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1234:5:9","nodeType":"YulTypedName","src":"1234:5:9","type":""},{"name":"pos","nativeSrc":"1241:3:9","nodeType":"YulTypedName","src":"1241:3:9","type":""}],"src":"1187:109:9"},{"body":{"nativeSrc":"1394:118:9","nodeType":"YulBlock","src":"1394:118:9","statements":[{"nativeSrc":"1404:26:9","nodeType":"YulAssignment","src":"1404:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"1416:9:9","nodeType":"YulIdentifier","src":"1416:9:9"},{"kind":"number","nativeSrc":"1427:2:9","nodeType":"YulLiteral","src":"1427:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1412:3:9","nodeType":"YulIdentifier","src":"1412:3:9"},"nativeSrc":"1412:18:9","nodeType":"YulFunctionCall","src":"1412:18:9"},"variableNames":[{"name":"tail","nativeSrc":"1404:4:9","nodeType":"YulIdentifier","src":"1404:4:9"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"1478:6:9","nodeType":"YulIdentifier","src":"1478:6:9"},{"arguments":[{"name":"headStart","nativeSrc":"1491:9:9","nodeType":"YulIdentifier","src":"1491:9:9"},{"kind":"number","nativeSrc":"1502:1:9","nodeType":"YulLiteral","src":"1502:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"1487:3:9","nodeType":"YulIdentifier","src":"1487:3:9"},"nativeSrc":"1487:17:9","nodeType":"YulFunctionCall","src":"1487:17:9"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"1440:37:9","nodeType":"YulIdentifier","src":"1440:37:9"},"nativeSrc":"1440:65:9","nodeType":"YulFunctionCall","src":"1440:65:9"},"nativeSrc":"1440:65:9","nodeType":"YulExpressionStatement","src":"1440:65:9"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"1302:210:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"1366:9:9","nodeType":"YulTypedName","src":"1366:9:9","type":""},{"name":"value0","nativeSrc":"1378:6:9","nodeType":"YulTypedName","src":"1378:6:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"1389:4:9","nodeType":"YulTypedName","src":"1389:4:9","type":""}],"src":"1302:210:9"},{"body":{"nativeSrc":"1563:32:9","nodeType":"YulBlock","src":"1563:32:9","statements":[{"nativeSrc":"1573:16:9","nodeType":"YulAssignment","src":"1573:16:9","value":{"name":"value","nativeSrc":"1584:5:9","nodeType":"YulIdentifier","src":"1584:5:9"},"variableNames":[{"name":"cleaned","nativeSrc":"1573:7:9","nodeType":"YulIdentifier","src":"1573:7:9"}]}]},"name":"cleanup_t_bytes32","nativeSrc":"1518:77:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1545:5:9","nodeType":"YulTypedName","src":"1545:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"1555:7:9","nodeType":"YulTypedName","src":"1555:7:9","type":""}],"src":"1518:77:9"},{"body":{"nativeSrc":"1644:79:9","nodeType":"YulBlock","src":"1644:79:9","statements":[{"body":{"nativeSrc":"1701:16:9","nodeType":"YulBlock","src":"1701:16:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1710:1:9","nodeType":"YulLiteral","src":"1710:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"1713:1:9","nodeType":"YulLiteral","src":"1713:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1703:6:9","nodeType":"YulIdentifier","src":"1703:6:9"},"nativeSrc":"1703:12:9","nodeType":"YulFunctionCall","src":"1703:12:9"},"nativeSrc":"1703:12:9","nodeType":"YulExpressionStatement","src":"1703:12:9"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"1667:5:9","nodeType":"YulIdentifier","src":"1667:5:9"},{"arguments":[{"name":"value","nativeSrc":"1692:5:9","nodeType":"YulIdentifier","src":"1692:5:9"}],"functionName":{"name":"cleanup_t_bytes32","nativeSrc":"1674:17:9","nodeType":"YulIdentifier","src":"1674:17:9"},"nativeSrc":"1674:24:9","nodeType":"YulFunctionCall","src":"1674:24:9"}],"functionName":{"name":"eq","nativeSrc":"1664:2:9","nodeType":"YulIdentifier","src":"1664:2:9"},"nativeSrc":"1664:35:9","nodeType":"YulFunctionCall","src":"1664:35:9"}],"functionName":{"name":"iszero","nativeSrc":"1657:6:9","nodeType":"YulIdentifier","src":"1657:6:9"},"nativeSrc":"1657:43:9","nodeType":"YulFunctionCall","src":"1657:43:9"},"nativeSrc":"1654:63:9","nodeType":"YulIf","src":"1654:63:9"}]},"name":"validator_revert_t_bytes32","nativeSrc":"1601:122:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1637:5:9","nodeType":"YulTypedName","src":"1637:5:9","type":""}],"src":"1601:122:9"},{"body":{"nativeSrc":"1781:87:9","nodeType":"YulBlock","src":"1781:87:9","statements":[{"nativeSrc":"1791:29:9","nodeType":"YulAssignment","src":"1791:29:9","value":{"arguments":[{"name":"offset","nativeSrc":"1813:6:9","nodeType":"YulIdentifier","src":"1813:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"1800:12:9","nodeType":"YulIdentifier","src":"1800:12:9"},"nativeSrc":"1800:20:9","nodeType":"YulFunctionCall","src":"1800:20:9"},"variableNames":[{"name":"value","nativeSrc":"1791:5:9","nodeType":"YulIdentifier","src":"1791:5:9"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"1856:5:9","nodeType":"YulIdentifier","src":"1856:5:9"}],"functionName":{"name":"validator_revert_t_bytes32","nativeSrc":"1829:26:9","nodeType":"YulIdentifier","src":"1829:26:9"},"nativeSrc":"1829:33:9","nodeType":"YulFunctionCall","src":"1829:33:9"},"nativeSrc":"1829:33:9","nodeType":"YulExpressionStatement","src":"1829:33:9"}]},"name":"abi_decode_t_bytes32","nativeSrc":"1729:139:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"1759:6:9","nodeType":"YulTypedName","src":"1759:6:9","type":""},{"name":"end","nativeSrc":"1767:3:9","nodeType":"YulTypedName","src":"1767:3:9","type":""}],"returnVariables":[{"name":"value","nativeSrc":"1775:5:9","nodeType":"YulTypedName","src":"1775:5:9","type":""}],"src":"1729:139:9"},{"body":{"nativeSrc":"1940:263:9","nodeType":"YulBlock","src":"1940:263:9","statements":[{"body":{"nativeSrc":"1986:83:9","nodeType":"YulBlock","src":"1986:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"1988:77:9","nodeType":"YulIdentifier","src":"1988:77:9"},"nativeSrc":"1988:79:9","nodeType":"YulFunctionCall","src":"1988:79:9"},"nativeSrc":"1988:79:9","nodeType":"YulExpressionStatement","src":"1988:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"1961:7:9","nodeType":"YulIdentifier","src":"1961:7:9"},{"name":"headStart","nativeSrc":"1970:9:9","nodeType":"YulIdentifier","src":"1970:9:9"}],"functionName":{"name":"sub","nativeSrc":"1957:3:9","nodeType":"YulIdentifier","src":"1957:3:9"},"nativeSrc":"1957:23:9","nodeType":"YulFunctionCall","src":"1957:23:9"},{"kind":"number","nativeSrc":"1982:2:9","nodeType":"YulLiteral","src":"1982:2:9","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"1953:3:9","nodeType":"YulIdentifier","src":"1953:3:9"},"nativeSrc":"1953:32:9","nodeType":"YulFunctionCall","src":"1953:32:9"},"nativeSrc":"1950:119:9","nodeType":"YulIf","src":"1950:119:9"},{"nativeSrc":"2079:117:9","nodeType":"YulBlock","src":"2079:117:9","statements":[{"nativeSrc":"2094:15:9","nodeType":"YulVariableDeclaration","src":"2094:15:9","value":{"kind":"number","nativeSrc":"2108:1:9","nodeType":"YulLiteral","src":"2108:1:9","type":"","value":"0"},"variables":[{"name":"offset","nativeSrc":"2098:6:9","nodeType":"YulTypedName","src":"2098:6:9","type":""}]},{"nativeSrc":"2123:63:9","nodeType":"YulAssignment","src":"2123:63:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"2158:9:9","nodeType":"YulIdentifier","src":"2158:9:9"},{"name":"offset","nativeSrc":"2169:6:9","nodeType":"YulIdentifier","src":"2169:6:9"}],"functionName":{"name":"add","nativeSrc":"2154:3:9","nodeType":"YulIdentifier","src":"2154:3:9"},"nativeSrc":"2154:22:9","nodeType":"YulFunctionCall","src":"2154:22:9"},{"name":"dataEnd","nativeSrc":"2178:7:9","nodeType":"YulIdentifier","src":"2178:7:9"}],"functionName":{"name":"abi_decode_t_bytes32","nativeSrc":"2133:20:9","nodeType":"YulIdentifier","src":"2133:20:9"},"nativeSrc":"2133:53:9","nodeType":"YulFunctionCall","src":"2133:53:9"},"variableNames":[{"name":"value0","nativeSrc":"2123:6:9","nodeType":"YulIdentifier","src":"2123:6:9"}]}]}]},"name":"abi_decode_tuple_t_bytes32","nativeSrc":"1874:329:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"1910:9:9","nodeType":"YulTypedName","src":"1910:9:9","type":""},{"name":"dataEnd","nativeSrc":"1921:7:9","nodeType":"YulTypedName","src":"1921:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"1933:6:9","nodeType":"YulTypedName","src":"1933:6:9","type":""}],"src":"1874:329:9"},{"body":{"nativeSrc":"2274:53:9","nodeType":"YulBlock","src":"2274:53:9","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"2291:3:9","nodeType":"YulIdentifier","src":"2291:3:9"},{"arguments":[{"name":"value","nativeSrc":"2314:5:9","nodeType":"YulIdentifier","src":"2314:5:9"}],"functionName":{"name":"cleanup_t_bytes32","nativeSrc":"2296:17:9","nodeType":"YulIdentifier","src":"2296:17:9"},"nativeSrc":"2296:24:9","nodeType":"YulFunctionCall","src":"2296:24:9"}],"functionName":{"name":"mstore","nativeSrc":"2284:6:9","nodeType":"YulIdentifier","src":"2284:6:9"},"nativeSrc":"2284:37:9","nodeType":"YulFunctionCall","src":"2284:37:9"},"nativeSrc":"2284:37:9","nodeType":"YulExpressionStatement","src":"2284:37:9"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nativeSrc":"2209:118:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"2262:5:9","nodeType":"YulTypedName","src":"2262:5:9","type":""},{"name":"pos","nativeSrc":"2269:3:9","nodeType":"YulTypedName","src":"2269:3:9","type":""}],"src":"2209:118:9"},{"body":{"nativeSrc":"2431:124:9","nodeType":"YulBlock","src":"2431:124:9","statements":[{"nativeSrc":"2441:26:9","nodeType":"YulAssignment","src":"2441:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"2453:9:9","nodeType":"YulIdentifier","src":"2453:9:9"},{"kind":"number","nativeSrc":"2464:2:9","nodeType":"YulLiteral","src":"2464:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"2449:3:9","nodeType":"YulIdentifier","src":"2449:3:9"},"nativeSrc":"2449:18:9","nodeType":"YulFunctionCall","src":"2449:18:9"},"variableNames":[{"name":"tail","nativeSrc":"2441:4:9","nodeType":"YulIdentifier","src":"2441:4:9"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"2521:6:9","nodeType":"YulIdentifier","src":"2521:6:9"},{"arguments":[{"name":"headStart","nativeSrc":"2534:9:9","nodeType":"YulIdentifier","src":"2534:9:9"},{"kind":"number","nativeSrc":"2545:1:9","nodeType":"YulLiteral","src":"2545:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"2530:3:9","nodeType":"YulIdentifier","src":"2530:3:9"},"nativeSrc":"2530:17:9","nodeType":"YulFunctionCall","src":"2530:17:9"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nativeSrc":"2477:43:9","nodeType":"YulIdentifier","src":"2477:43:9"},"nativeSrc":"2477:71:9","nodeType":"YulFunctionCall","src":"2477:71:9"},"nativeSrc":"2477:71:9","nodeType":"YulExpressionStatement","src":"2477:71:9"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nativeSrc":"2333:222:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"2403:9:9","nodeType":"YulTypedName","src":"2403:9:9","type":""},{"name":"value0","nativeSrc":"2415:6:9","nodeType":"YulTypedName","src":"2415:6:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"2426:4:9","nodeType":"YulTypedName","src":"2426:4:9","type":""}],"src":"2333:222:9"},{"body":{"nativeSrc":"2650:28:9","nodeType":"YulBlock","src":"2650:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2667:1:9","nodeType":"YulLiteral","src":"2667:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"2670:1:9","nodeType":"YulLiteral","src":"2670:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2660:6:9","nodeType":"YulIdentifier","src":"2660:6:9"},"nativeSrc":"2660:12:9","nodeType":"YulFunctionCall","src":"2660:12:9"},"nativeSrc":"2660:12:9","nodeType":"YulExpressionStatement","src":"2660:12:9"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"2561:117:9","nodeType":"YulFunctionDefinition","src":"2561:117:9"},{"body":{"nativeSrc":"2773:28:9","nodeType":"YulBlock","src":"2773:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2790:1:9","nodeType":"YulLiteral","src":"2790:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"2793:1:9","nodeType":"YulLiteral","src":"2793:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2783:6:9","nodeType":"YulIdentifier","src":"2783:6:9"},"nativeSrc":"2783:12:9","nodeType":"YulFunctionCall","src":"2783:12:9"},"nativeSrc":"2783:12:9","nodeType":"YulExpressionStatement","src":"2783:12:9"}]},"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nativeSrc":"2684:117:9","nodeType":"YulFunctionDefinition","src":"2684:117:9"},{"body":{"nativeSrc":"2896:28:9","nodeType":"YulBlock","src":"2896:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2913:1:9","nodeType":"YulLiteral","src":"2913:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"2916:1:9","nodeType":"YulLiteral","src":"2916:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2906:6:9","nodeType":"YulIdentifier","src":"2906:6:9"},"nativeSrc":"2906:12:9","nodeType":"YulFunctionCall","src":"2906:12:9"},"nativeSrc":"2906:12:9","nodeType":"YulExpressionStatement","src":"2906:12:9"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"2807:117:9","nodeType":"YulFunctionDefinition","src":"2807:117:9"},{"body":{"nativeSrc":"3019:478:9","nodeType":"YulBlock","src":"3019:478:9","statements":[{"body":{"nativeSrc":"3068:83:9","nodeType":"YulBlock","src":"3068:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"3070:77:9","nodeType":"YulIdentifier","src":"3070:77:9"},"nativeSrc":"3070:79:9","nodeType":"YulFunctionCall","src":"3070:79:9"},"nativeSrc":"3070:79:9","nodeType":"YulExpressionStatement","src":"3070:79:9"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3047:6:9","nodeType":"YulIdentifier","src":"3047:6:9"},{"kind":"number","nativeSrc":"3055:4:9","nodeType":"YulLiteral","src":"3055:4:9","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"3043:3:9","nodeType":"YulIdentifier","src":"3043:3:9"},"nativeSrc":"3043:17:9","nodeType":"YulFunctionCall","src":"3043:17:9"},{"name":"end","nativeSrc":"3062:3:9","nodeType":"YulIdentifier","src":"3062:3:9"}],"functionName":{"name":"slt","nativeSrc":"3039:3:9","nodeType":"YulIdentifier","src":"3039:3:9"},"nativeSrc":"3039:27:9","nodeType":"YulFunctionCall","src":"3039:27:9"}],"functionName":{"name":"iszero","nativeSrc":"3032:6:9","nodeType":"YulIdentifier","src":"3032:6:9"},"nativeSrc":"3032:35:9","nodeType":"YulFunctionCall","src":"3032:35:9"},"nativeSrc":"3029:122:9","nodeType":"YulIf","src":"3029:122:9"},{"nativeSrc":"3160:30:9","nodeType":"YulAssignment","src":"3160:30:9","value":{"arguments":[{"name":"offset","nativeSrc":"3183:6:9","nodeType":"YulIdentifier","src":"3183:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"3170:12:9","nodeType":"YulIdentifier","src":"3170:12:9"},"nativeSrc":"3170:20:9","nodeType":"YulFunctionCall","src":"3170:20:9"},"variableNames":[{"name":"length","nativeSrc":"3160:6:9","nodeType":"YulIdentifier","src":"3160:6:9"}]},{"body":{"nativeSrc":"3233:83:9","nodeType":"YulBlock","src":"3233:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490","nativeSrc":"3235:77:9","nodeType":"YulIdentifier","src":"3235:77:9"},"nativeSrc":"3235:79:9","nodeType":"YulFunctionCall","src":"3235:79:9"},"nativeSrc":"3235:79:9","nodeType":"YulExpressionStatement","src":"3235:79:9"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"3205:6:9","nodeType":"YulIdentifier","src":"3205:6:9"},{"kind":"number","nativeSrc":"3213:18:9","nodeType":"YulLiteral","src":"3213:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"3202:2:9","nodeType":"YulIdentifier","src":"3202:2:9"},"nativeSrc":"3202:30:9","nodeType":"YulFunctionCall","src":"3202:30:9"},"nativeSrc":"3199:117:9","nodeType":"YulIf","src":"3199:117:9"},{"nativeSrc":"3325:29:9","nodeType":"YulAssignment","src":"3325:29:9","value":{"arguments":[{"name":"offset","nativeSrc":"3341:6:9","nodeType":"YulIdentifier","src":"3341:6:9"},{"kind":"number","nativeSrc":"3349:4:9","nodeType":"YulLiteral","src":"3349:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3337:3:9","nodeType":"YulIdentifier","src":"3337:3:9"},"nativeSrc":"3337:17:9","nodeType":"YulFunctionCall","src":"3337:17:9"},"variableNames":[{"name":"arrayPos","nativeSrc":"3325:8:9","nodeType":"YulIdentifier","src":"3325:8:9"}]},{"body":{"nativeSrc":"3408:83:9","nodeType":"YulBlock","src":"3408:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"3410:77:9","nodeType":"YulIdentifier","src":"3410:77:9"},"nativeSrc":"3410:79:9","nodeType":"YulFunctionCall","src":"3410:79:9"},"nativeSrc":"3410:79:9","nodeType":"YulExpressionStatement","src":"3410:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"arrayPos","nativeSrc":"3373:8:9","nodeType":"YulIdentifier","src":"3373:8:9"},{"arguments":[{"name":"length","nativeSrc":"3387:6:9","nodeType":"YulIdentifier","src":"3387:6:9"},{"kind":"number","nativeSrc":"3395:4:9","nodeType":"YulLiteral","src":"3395:4:9","type":"","value":"0x01"}],"functionName":{"name":"mul","nativeSrc":"3383:3:9","nodeType":"YulIdentifier","src":"3383:3:9"},"nativeSrc":"3383:17:9","nodeType":"YulFunctionCall","src":"3383:17:9"}],"functionName":{"name":"add","nativeSrc":"3369:3:9","nodeType":"YulIdentifier","src":"3369:3:9"},"nativeSrc":"3369:32:9","nodeType":"YulFunctionCall","src":"3369:32:9"},{"name":"end","nativeSrc":"3403:3:9","nodeType":"YulIdentifier","src":"3403:3:9"}],"functionName":{"name":"gt","nativeSrc":"3366:2:9","nodeType":"YulIdentifier","src":"3366:2:9"},"nativeSrc":"3366:41:9","nodeType":"YulFunctionCall","src":"3366:41:9"},"nativeSrc":"3363:128:9","nodeType":"YulIf","src":"3363:128:9"}]},"name":"abi_decode_t_string_calldata_ptr","nativeSrc":"2944:553:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2986:6:9","nodeType":"YulTypedName","src":"2986:6:9","type":""},{"name":"end","nativeSrc":"2994:3:9","nodeType":"YulTypedName","src":"2994:3:9","type":""}],"returnVariables":[{"name":"arrayPos","nativeSrc":"3002:8:9","nodeType":"YulTypedName","src":"3002:8:9","type":""},{"name":"length","nativeSrc":"3012:6:9","nodeType":"YulTypedName","src":"3012:6:9","type":""}],"src":"2944:553:9"},{"body":{"nativeSrc":"3626:751:9","nodeType":"YulBlock","src":"3626:751:9","statements":[{"body":{"nativeSrc":"3672:83:9","nodeType":"YulBlock","src":"3672:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"3674:77:9","nodeType":"YulIdentifier","src":"3674:77:9"},"nativeSrc":"3674:79:9","nodeType":"YulFunctionCall","src":"3674:79:9"},"nativeSrc":"3674:79:9","nodeType":"YulExpressionStatement","src":"3674:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"3647:7:9","nodeType":"YulIdentifier","src":"3647:7:9"},{"name":"headStart","nativeSrc":"3656:9:9","nodeType":"YulIdentifier","src":"3656:9:9"}],"functionName":{"name":"sub","nativeSrc":"3643:3:9","nodeType":"YulIdentifier","src":"3643:3:9"},"nativeSrc":"3643:23:9","nodeType":"YulFunctionCall","src":"3643:23:9"},{"kind":"number","nativeSrc":"3668:2:9","nodeType":"YulLiteral","src":"3668:2:9","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"3639:3:9","nodeType":"YulIdentifier","src":"3639:3:9"},"nativeSrc":"3639:32:9","nodeType":"YulFunctionCall","src":"3639:32:9"},"nativeSrc":"3636:119:9","nodeType":"YulIf","src":"3636:119:9"},{"nativeSrc":"3765:297:9","nodeType":"YulBlock","src":"3765:297:9","statements":[{"nativeSrc":"3780:45:9","nodeType":"YulVariableDeclaration","src":"3780:45:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3811:9:9","nodeType":"YulIdentifier","src":"3811:9:9"},{"kind":"number","nativeSrc":"3822:1:9","nodeType":"YulLiteral","src":"3822:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"3807:3:9","nodeType":"YulIdentifier","src":"3807:3:9"},"nativeSrc":"3807:17:9","nodeType":"YulFunctionCall","src":"3807:17:9"}],"functionName":{"name":"calldataload","nativeSrc":"3794:12:9","nodeType":"YulIdentifier","src":"3794:12:9"},"nativeSrc":"3794:31:9","nodeType":"YulFunctionCall","src":"3794:31:9"},"variables":[{"name":"offset","nativeSrc":"3784:6:9","nodeType":"YulTypedName","src":"3784:6:9","type":""}]},{"body":{"nativeSrc":"3872:83:9","nodeType":"YulBlock","src":"3872:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"3874:77:9","nodeType":"YulIdentifier","src":"3874:77:9"},"nativeSrc":"3874:79:9","nodeType":"YulFunctionCall","src":"3874:79:9"},"nativeSrc":"3874:79:9","nodeType":"YulExpressionStatement","src":"3874:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"3844:6:9","nodeType":"YulIdentifier","src":"3844:6:9"},{"kind":"number","nativeSrc":"3852:18:9","nodeType":"YulLiteral","src":"3852:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"3841:2:9","nodeType":"YulIdentifier","src":"3841:2:9"},"nativeSrc":"3841:30:9","nodeType":"YulFunctionCall","src":"3841:30:9"},"nativeSrc":"3838:117:9","nodeType":"YulIf","src":"3838:117:9"},{"nativeSrc":"3969:83:9","nodeType":"YulAssignment","src":"3969:83:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4024:9:9","nodeType":"YulIdentifier","src":"4024:9:9"},{"name":"offset","nativeSrc":"4035:6:9","nodeType":"YulIdentifier","src":"4035:6:9"}],"functionName":{"name":"add","nativeSrc":"4020:3:9","nodeType":"YulIdentifier","src":"4020:3:9"},"nativeSrc":"4020:22:9","nodeType":"YulFunctionCall","src":"4020:22:9"},{"name":"dataEnd","nativeSrc":"4044:7:9","nodeType":"YulIdentifier","src":"4044:7:9"}],"functionName":{"name":"abi_decode_t_string_calldata_ptr","nativeSrc":"3987:32:9","nodeType":"YulIdentifier","src":"3987:32:9"},"nativeSrc":"3987:65:9","nodeType":"YulFunctionCall","src":"3987:65:9"},"variableNames":[{"name":"value0","nativeSrc":"3969:6:9","nodeType":"YulIdentifier","src":"3969:6:9"},{"name":"value1","nativeSrc":"3977:6:9","nodeType":"YulIdentifier","src":"3977:6:9"}]}]},{"nativeSrc":"4072:298:9","nodeType":"YulBlock","src":"4072:298:9","statements":[{"nativeSrc":"4087:46:9","nodeType":"YulVariableDeclaration","src":"4087:46:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4118:9:9","nodeType":"YulIdentifier","src":"4118:9:9"},{"kind":"number","nativeSrc":"4129:2:9","nodeType":"YulLiteral","src":"4129:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"4114:3:9","nodeType":"YulIdentifier","src":"4114:3:9"},"nativeSrc":"4114:18:9","nodeType":"YulFunctionCall","src":"4114:18:9"}],"functionName":{"name":"calldataload","nativeSrc":"4101:12:9","nodeType":"YulIdentifier","src":"4101:12:9"},"nativeSrc":"4101:32:9","nodeType":"YulFunctionCall","src":"4101:32:9"},"variables":[{"name":"offset","nativeSrc":"4091:6:9","nodeType":"YulTypedName","src":"4091:6:9","type":""}]},{"body":{"nativeSrc":"4180:83:9","nodeType":"YulBlock","src":"4180:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"4182:77:9","nodeType":"YulIdentifier","src":"4182:77:9"},"nativeSrc":"4182:79:9","nodeType":"YulFunctionCall","src":"4182:79:9"},"nativeSrc":"4182:79:9","nodeType":"YulExpressionStatement","src":"4182:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"4152:6:9","nodeType":"YulIdentifier","src":"4152:6:9"},{"kind":"number","nativeSrc":"4160:18:9","nodeType":"YulLiteral","src":"4160:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"4149:2:9","nodeType":"YulIdentifier","src":"4149:2:9"},"nativeSrc":"4149:30:9","nodeType":"YulFunctionCall","src":"4149:30:9"},"nativeSrc":"4146:117:9","nodeType":"YulIf","src":"4146:117:9"},{"nativeSrc":"4277:83:9","nodeType":"YulAssignment","src":"4277:83:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4332:9:9","nodeType":"YulIdentifier","src":"4332:9:9"},{"name":"offset","nativeSrc":"4343:6:9","nodeType":"YulIdentifier","src":"4343:6:9"}],"functionName":{"name":"add","nativeSrc":"4328:3:9","nodeType":"YulIdentifier","src":"4328:3:9"},"nativeSrc":"4328:22:9","nodeType":"YulFunctionCall","src":"4328:22:9"},{"name":"dataEnd","nativeSrc":"4352:7:9","nodeType":"YulIdentifier","src":"4352:7:9"}],"functionName":{"name":"abi_decode_t_string_calldata_ptr","nativeSrc":"4295:32:9","nodeType":"YulIdentifier","src":"4295:32:9"},"nativeSrc":"4295:65:9","nodeType":"YulFunctionCall","src":"4295:65:9"},"variableNames":[{"name":"value2","nativeSrc":"4277:6:9","nodeType":"YulIdentifier","src":"4277:6:9"},{"name":"value3","nativeSrc":"4285:6:9","nodeType":"YulIdentifier","src":"4285:6:9"}]}]}]},"name":"abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptr","nativeSrc":"3503:874:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"3572:9:9","nodeType":"YulTypedName","src":"3572:9:9","type":""},{"name":"dataEnd","nativeSrc":"3583:7:9","nodeType":"YulTypedName","src":"3583:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"3595:6:9","nodeType":"YulTypedName","src":"3595:6:9","type":""},{"name":"value1","nativeSrc":"3603:6:9","nodeType":"YulTypedName","src":"3603:6:9","type":""},{"name":"value2","nativeSrc":"3611:6:9","nodeType":"YulTypedName","src":"3611:6:9","type":""},{"name":"value3","nativeSrc":"3619:6:9","nodeType":"YulTypedName","src":"3619:6:9","type":""}],"src":"3503:874:9"},{"body":{"nativeSrc":"4428:81:9","nodeType":"YulBlock","src":"4428:81:9","statements":[{"nativeSrc":"4438:65:9","nodeType":"YulAssignment","src":"4438:65:9","value":{"arguments":[{"name":"value","nativeSrc":"4453:5:9","nodeType":"YulIdentifier","src":"4453:5:9"},{"kind":"number","nativeSrc":"4460:42:9","nodeType":"YulLiteral","src":"4460:42:9","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"4449:3:9","nodeType":"YulIdentifier","src":"4449:3:9"},"nativeSrc":"4449:54:9","nodeType":"YulFunctionCall","src":"4449:54:9"},"variableNames":[{"name":"cleaned","nativeSrc":"4438:7:9","nodeType":"YulIdentifier","src":"4438:7:9"}]}]},"name":"cleanup_t_uint160","nativeSrc":"4383:126:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"4410:5:9","nodeType":"YulTypedName","src":"4410:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"4420:7:9","nodeType":"YulTypedName","src":"4420:7:9","type":""}],"src":"4383:126:9"},{"body":{"nativeSrc":"4560:51:9","nodeType":"YulBlock","src":"4560:51:9","statements":[{"nativeSrc":"4570:35:9","nodeType":"YulAssignment","src":"4570:35:9","value":{"arguments":[{"name":"value","nativeSrc":"4599:5:9","nodeType":"YulIdentifier","src":"4599:5:9"}],"functionName":{"name":"cleanup_t_uint160","nativeSrc":"4581:17:9","nodeType":"YulIdentifier","src":"4581:17:9"},"nativeSrc":"4581:24:9","nodeType":"YulFunctionCall","src":"4581:24:9"},"variableNames":[{"name":"cleaned","nativeSrc":"4570:7:9","nodeType":"YulIdentifier","src":"4570:7:9"}]}]},"name":"cleanup_t_address","nativeSrc":"4515:96:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"4542:5:9","nodeType":"YulTypedName","src":"4542:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"4552:7:9","nodeType":"YulTypedName","src":"4552:7:9","type":""}],"src":"4515:96:9"},{"body":{"nativeSrc":"4660:79:9","nodeType":"YulBlock","src":"4660:79:9","statements":[{"body":{"nativeSrc":"4717:16:9","nodeType":"YulBlock","src":"4717:16:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"4726:1:9","nodeType":"YulLiteral","src":"4726:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"4729:1:9","nodeType":"YulLiteral","src":"4729:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"4719:6:9","nodeType":"YulIdentifier","src":"4719:6:9"},"nativeSrc":"4719:12:9","nodeType":"YulFunctionCall","src":"4719:12:9"},"nativeSrc":"4719:12:9","nodeType":"YulExpressionStatement","src":"4719:12:9"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"4683:5:9","nodeType":"YulIdentifier","src":"4683:5:9"},{"arguments":[{"name":"value","nativeSrc":"4708:5:9","nodeType":"YulIdentifier","src":"4708:5:9"}],"functionName":{"name":"cleanup_t_address","nativeSrc":"4690:17:9","nodeType":"YulIdentifier","src":"4690:17:9"},"nativeSrc":"4690:24:9","nodeType":"YulFunctionCall","src":"4690:24:9"}],"functionName":{"name":"eq","nativeSrc":"4680:2:9","nodeType":"YulIdentifier","src":"4680:2:9"},"nativeSrc":"4680:35:9","nodeType":"YulFunctionCall","src":"4680:35:9"}],"functionName":{"name":"iszero","nativeSrc":"4673:6:9","nodeType":"YulIdentifier","src":"4673:6:9"},"nativeSrc":"4673:43:9","nodeType":"YulFunctionCall","src":"4673:43:9"},"nativeSrc":"4670:63:9","nodeType":"YulIf","src":"4670:63:9"}]},"name":"validator_revert_t_address","nativeSrc":"4617:122:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"4653:5:9","nodeType":"YulTypedName","src":"4653:5:9","type":""}],"src":"4617:122:9"},{"body":{"nativeSrc":"4797:87:9","nodeType":"YulBlock","src":"4797:87:9","statements":[{"nativeSrc":"4807:29:9","nodeType":"YulAssignment","src":"4807:29:9","value":{"arguments":[{"name":"offset","nativeSrc":"4829:6:9","nodeType":"YulIdentifier","src":"4829:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"4816:12:9","nodeType":"YulIdentifier","src":"4816:12:9"},"nativeSrc":"4816:20:9","nodeType":"YulFunctionCall","src":"4816:20:9"},"variableNames":[{"name":"value","nativeSrc":"4807:5:9","nodeType":"YulIdentifier","src":"4807:5:9"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"4872:5:9","nodeType":"YulIdentifier","src":"4872:5:9"}],"functionName":{"name":"validator_revert_t_address","nativeSrc":"4845:26:9","nodeType":"YulIdentifier","src":"4845:26:9"},"nativeSrc":"4845:33:9","nodeType":"YulFunctionCall","src":"4845:33:9"},"nativeSrc":"4845:33:9","nodeType":"YulExpressionStatement","src":"4845:33:9"}]},"name":"abi_decode_t_address","nativeSrc":"4745:139:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"4775:6:9","nodeType":"YulTypedName","src":"4775:6:9","type":""},{"name":"end","nativeSrc":"4783:3:9","nodeType":"YulTypedName","src":"4783:3:9","type":""}],"returnVariables":[{"name":"value","nativeSrc":"4791:5:9","nodeType":"YulTypedName","src":"4791:5:9","type":""}],"src":"4745:139:9"},{"body":{"nativeSrc":"4973:391:9","nodeType":"YulBlock","src":"4973:391:9","statements":[{"body":{"nativeSrc":"5019:83:9","nodeType":"YulBlock","src":"5019:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"5021:77:9","nodeType":"YulIdentifier","src":"5021:77:9"},"nativeSrc":"5021:79:9","nodeType":"YulFunctionCall","src":"5021:79:9"},"nativeSrc":"5021:79:9","nodeType":"YulExpressionStatement","src":"5021:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"4994:7:9","nodeType":"YulIdentifier","src":"4994:7:9"},{"name":"headStart","nativeSrc":"5003:9:9","nodeType":"YulIdentifier","src":"5003:9:9"}],"functionName":{"name":"sub","nativeSrc":"4990:3:9","nodeType":"YulIdentifier","src":"4990:3:9"},"nativeSrc":"4990:23:9","nodeType":"YulFunctionCall","src":"4990:23:9"},{"kind":"number","nativeSrc":"5015:2:9","nodeType":"YulLiteral","src":"5015:2:9","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"4986:3:9","nodeType":"YulIdentifier","src":"4986:3:9"},"nativeSrc":"4986:32:9","nodeType":"YulFunctionCall","src":"4986:32:9"},"nativeSrc":"4983:119:9","nodeType":"YulIf","src":"4983:119:9"},{"nativeSrc":"5112:117:9","nodeType":"YulBlock","src":"5112:117:9","statements":[{"nativeSrc":"5127:15:9","nodeType":"YulVariableDeclaration","src":"5127:15:9","value":{"kind":"number","nativeSrc":"5141:1:9","nodeType":"YulLiteral","src":"5141:1:9","type":"","value":"0"},"variables":[{"name":"offset","nativeSrc":"5131:6:9","nodeType":"YulTypedName","src":"5131:6:9","type":""}]},{"nativeSrc":"5156:63:9","nodeType":"YulAssignment","src":"5156:63:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5191:9:9","nodeType":"YulIdentifier","src":"5191:9:9"},{"name":"offset","nativeSrc":"5202:6:9","nodeType":"YulIdentifier","src":"5202:6:9"}],"functionName":{"name":"add","nativeSrc":"5187:3:9","nodeType":"YulIdentifier","src":"5187:3:9"},"nativeSrc":"5187:22:9","nodeType":"YulFunctionCall","src":"5187:22:9"},{"name":"dataEnd","nativeSrc":"5211:7:9","nodeType":"YulIdentifier","src":"5211:7:9"}],"functionName":{"name":"abi_decode_t_bytes32","nativeSrc":"5166:20:9","nodeType":"YulIdentifier","src":"5166:20:9"},"nativeSrc":"5166:53:9","nodeType":"YulFunctionCall","src":"5166:53:9"},"variableNames":[{"name":"value0","nativeSrc":"5156:6:9","nodeType":"YulIdentifier","src":"5156:6:9"}]}]},{"nativeSrc":"5239:118:9","nodeType":"YulBlock","src":"5239:118:9","statements":[{"nativeSrc":"5254:16:9","nodeType":"YulVariableDeclaration","src":"5254:16:9","value":{"kind":"number","nativeSrc":"5268:2:9","nodeType":"YulLiteral","src":"5268:2:9","type":"","value":"32"},"variables":[{"name":"offset","nativeSrc":"5258:6:9","nodeType":"YulTypedName","src":"5258:6:9","type":""}]},{"nativeSrc":"5284:63:9","nodeType":"YulAssignment","src":"5284:63:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5319:9:9","nodeType":"YulIdentifier","src":"5319:9:9"},{"name":"offset","nativeSrc":"5330:6:9","nodeType":"YulIdentifier","src":"5330:6:9"}],"functionName":{"name":"add","nativeSrc":"5315:3:9","nodeType":"YulIdentifier","src":"5315:3:9"},"nativeSrc":"5315:22:9","nodeType":"YulFunctionCall","src":"5315:22:9"},{"name":"dataEnd","nativeSrc":"5339:7:9","nodeType":"YulIdentifier","src":"5339:7:9"}],"functionName":{"name":"abi_decode_t_address","nativeSrc":"5294:20:9","nodeType":"YulIdentifier","src":"5294:20:9"},"nativeSrc":"5294:53:9","nodeType":"YulFunctionCall","src":"5294:53:9"},"variableNames":[{"name":"value1","nativeSrc":"5284:6:9","nodeType":"YulIdentifier","src":"5284:6:9"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nativeSrc":"4890:474:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4935:9:9","nodeType":"YulTypedName","src":"4935:9:9","type":""},{"name":"dataEnd","nativeSrc":"4946:7:9","nodeType":"YulTypedName","src":"4946:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"4958:6:9","nodeType":"YulTypedName","src":"4958:6:9","type":""},{"name":"value1","nativeSrc":"4966:6:9","nodeType":"YulTypedName","src":"4966:6:9","type":""}],"src":"4890:474:9"},{"body":{"nativeSrc":"5459:28:9","nodeType":"YulBlock","src":"5459:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5476:1:9","nodeType":"YulLiteral","src":"5476:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"5479:1:9","nodeType":"YulLiteral","src":"5479:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"5469:6:9","nodeType":"YulIdentifier","src":"5469:6:9"},"nativeSrc":"5469:12:9","nodeType":"YulFunctionCall","src":"5469:12:9"},"nativeSrc":"5469:12:9","nodeType":"YulExpressionStatement","src":"5469:12:9"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"5370:117:9","nodeType":"YulFunctionDefinition","src":"5370:117:9"},{"body":{"nativeSrc":"5541:54:9","nodeType":"YulBlock","src":"5541:54:9","statements":[{"nativeSrc":"5551:38:9","nodeType":"YulAssignment","src":"5551:38:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5569:5:9","nodeType":"YulIdentifier","src":"5569:5:9"},{"kind":"number","nativeSrc":"5576:2:9","nodeType":"YulLiteral","src":"5576:2:9","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"5565:3:9","nodeType":"YulIdentifier","src":"5565:3:9"},"nativeSrc":"5565:14:9","nodeType":"YulFunctionCall","src":"5565:14:9"},{"arguments":[{"kind":"number","nativeSrc":"5585:2:9","nodeType":"YulLiteral","src":"5585:2:9","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"5581:3:9","nodeType":"YulIdentifier","src":"5581:3:9"},"nativeSrc":"5581:7:9","nodeType":"YulFunctionCall","src":"5581:7:9"}],"functionName":{"name":"and","nativeSrc":"5561:3:9","nodeType":"YulIdentifier","src":"5561:3:9"},"nativeSrc":"5561:28:9","nodeType":"YulFunctionCall","src":"5561:28:9"},"variableNames":[{"name":"result","nativeSrc":"5551:6:9","nodeType":"YulIdentifier","src":"5551:6:9"}]}]},"name":"round_up_to_mul_of_32","nativeSrc":"5493:102:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5524:5:9","nodeType":"YulTypedName","src":"5524:5:9","type":""}],"returnVariables":[{"name":"result","nativeSrc":"5534:6:9","nodeType":"YulTypedName","src":"5534:6:9","type":""}],"src":"5493:102:9"},{"body":{"nativeSrc":"5629:152:9","nodeType":"YulBlock","src":"5629:152:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5646:1:9","nodeType":"YulLiteral","src":"5646:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"5649:77:9","nodeType":"YulLiteral","src":"5649:77:9","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"5639:6:9","nodeType":"YulIdentifier","src":"5639:6:9"},"nativeSrc":"5639:88:9","nodeType":"YulFunctionCall","src":"5639:88:9"},"nativeSrc":"5639:88:9","nodeType":"YulExpressionStatement","src":"5639:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5743:1:9","nodeType":"YulLiteral","src":"5743:1:9","type":"","value":"4"},{"kind":"number","nativeSrc":"5746:4:9","nodeType":"YulLiteral","src":"5746:4:9","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"5736:6:9","nodeType":"YulIdentifier","src":"5736:6:9"},"nativeSrc":"5736:15:9","nodeType":"YulFunctionCall","src":"5736:15:9"},"nativeSrc":"5736:15:9","nodeType":"YulExpressionStatement","src":"5736:15:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5767:1:9","nodeType":"YulLiteral","src":"5767:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"5770:4:9","nodeType":"YulLiteral","src":"5770:4:9","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"5760:6:9","nodeType":"YulIdentifier","src":"5760:6:9"},"nativeSrc":"5760:15:9","nodeType":"YulFunctionCall","src":"5760:15:9"},"nativeSrc":"5760:15:9","nodeType":"YulExpressionStatement","src":"5760:15:9"}]},"name":"panic_error_0x41","nativeSrc":"5601:180:9","nodeType":"YulFunctionDefinition","src":"5601:180:9"},{"body":{"nativeSrc":"5830:238:9","nodeType":"YulBlock","src":"5830:238:9","statements":[{"nativeSrc":"5840:58:9","nodeType":"YulVariableDeclaration","src":"5840:58:9","value":{"arguments":[{"name":"memPtr","nativeSrc":"5862:6:9","nodeType":"YulIdentifier","src":"5862:6:9"},{"arguments":[{"name":"size","nativeSrc":"5892:4:9","nodeType":"YulIdentifier","src":"5892:4:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"5870:21:9","nodeType":"YulIdentifier","src":"5870:21:9"},"nativeSrc":"5870:27:9","nodeType":"YulFunctionCall","src":"5870:27:9"}],"functionName":{"name":"add","nativeSrc":"5858:3:9","nodeType":"YulIdentifier","src":"5858:3:9"},"nativeSrc":"5858:40:9","nodeType":"YulFunctionCall","src":"5858:40:9"},"variables":[{"name":"newFreePtr","nativeSrc":"5844:10:9","nodeType":"YulTypedName","src":"5844:10:9","type":""}]},{"body":{"nativeSrc":"6009:22:9","nodeType":"YulBlock","src":"6009:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"6011:16:9","nodeType":"YulIdentifier","src":"6011:16:9"},"nativeSrc":"6011:18:9","nodeType":"YulFunctionCall","src":"6011:18:9"},"nativeSrc":"6011:18:9","nodeType":"YulExpressionStatement","src":"6011:18:9"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"5952:10:9","nodeType":"YulIdentifier","src":"5952:10:9"},{"kind":"number","nativeSrc":"5964:18:9","nodeType":"YulLiteral","src":"5964:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"5949:2:9","nodeType":"YulIdentifier","src":"5949:2:9"},"nativeSrc":"5949:34:9","nodeType":"YulFunctionCall","src":"5949:34:9"},{"arguments":[{"name":"newFreePtr","nativeSrc":"5988:10:9","nodeType":"YulIdentifier","src":"5988:10:9"},{"name":"memPtr","nativeSrc":"6000:6:9","nodeType":"YulIdentifier","src":"6000:6:9"}],"functionName":{"name":"lt","nativeSrc":"5985:2:9","nodeType":"YulIdentifier","src":"5985:2:9"},"nativeSrc":"5985:22:9","nodeType":"YulFunctionCall","src":"5985:22:9"}],"functionName":{"name":"or","nativeSrc":"5946:2:9","nodeType":"YulIdentifier","src":"5946:2:9"},"nativeSrc":"5946:62:9","nodeType":"YulFunctionCall","src":"5946:62:9"},"nativeSrc":"5943:88:9","nodeType":"YulIf","src":"5943:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6047:2:9","nodeType":"YulLiteral","src":"6047:2:9","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"6051:10:9","nodeType":"YulIdentifier","src":"6051:10:9"}],"functionName":{"name":"mstore","nativeSrc":"6040:6:9","nodeType":"YulIdentifier","src":"6040:6:9"},"nativeSrc":"6040:22:9","nodeType":"YulFunctionCall","src":"6040:22:9"},"nativeSrc":"6040:22:9","nodeType":"YulExpressionStatement","src":"6040:22:9"}]},"name":"finalize_allocation","nativeSrc":"5787:281:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"5816:6:9","nodeType":"YulTypedName","src":"5816:6:9","type":""},{"name":"size","nativeSrc":"5824:4:9","nodeType":"YulTypedName","src":"5824:4:9","type":""}],"src":"5787:281:9"},{"body":{"nativeSrc":"6115:88:9","nodeType":"YulBlock","src":"6115:88:9","statements":[{"nativeSrc":"6125:30:9","nodeType":"YulAssignment","src":"6125:30:9","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nativeSrc":"6135:18:9","nodeType":"YulIdentifier","src":"6135:18:9"},"nativeSrc":"6135:20:9","nodeType":"YulFunctionCall","src":"6135:20:9"},"variableNames":[{"name":"memPtr","nativeSrc":"6125:6:9","nodeType":"YulIdentifier","src":"6125:6:9"}]},{"expression":{"arguments":[{"name":"memPtr","nativeSrc":"6184:6:9","nodeType":"YulIdentifier","src":"6184:6:9"},{"name":"size","nativeSrc":"6192:4:9","nodeType":"YulIdentifier","src":"6192:4:9"}],"functionName":{"name":"finalize_allocation","nativeSrc":"6164:19:9","nodeType":"YulIdentifier","src":"6164:19:9"},"nativeSrc":"6164:33:9","nodeType":"YulFunctionCall","src":"6164:33:9"},"nativeSrc":"6164:33:9","nodeType":"YulExpressionStatement","src":"6164:33:9"}]},"name":"allocate_memory","nativeSrc":"6074:129:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"6099:4:9","nodeType":"YulTypedName","src":"6099:4:9","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"6108:6:9","nodeType":"YulTypedName","src":"6108:6:9","type":""}],"src":"6074:129:9"},{"body":{"nativeSrc":"6276:241:9","nodeType":"YulBlock","src":"6276:241:9","statements":[{"body":{"nativeSrc":"6381:22:9","nodeType":"YulBlock","src":"6381:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"6383:16:9","nodeType":"YulIdentifier","src":"6383:16:9"},"nativeSrc":"6383:18:9","nodeType":"YulFunctionCall","src":"6383:18:9"},"nativeSrc":"6383:18:9","nodeType":"YulExpressionStatement","src":"6383:18:9"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"6353:6:9","nodeType":"YulIdentifier","src":"6353:6:9"},{"kind":"number","nativeSrc":"6361:18:9","nodeType":"YulLiteral","src":"6361:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"6350:2:9","nodeType":"YulIdentifier","src":"6350:2:9"},"nativeSrc":"6350:30:9","nodeType":"YulFunctionCall","src":"6350:30:9"},"nativeSrc":"6347:56:9","nodeType":"YulIf","src":"6347:56:9"},{"nativeSrc":"6413:37:9","nodeType":"YulAssignment","src":"6413:37:9","value":{"arguments":[{"name":"length","nativeSrc":"6443:6:9","nodeType":"YulIdentifier","src":"6443:6:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"6421:21:9","nodeType":"YulIdentifier","src":"6421:21:9"},"nativeSrc":"6421:29:9","nodeType":"YulFunctionCall","src":"6421:29:9"},"variableNames":[{"name":"size","nativeSrc":"6413:4:9","nodeType":"YulIdentifier","src":"6413:4:9"}]},{"nativeSrc":"6487:23:9","nodeType":"YulAssignment","src":"6487:23:9","value":{"arguments":[{"name":"size","nativeSrc":"6499:4:9","nodeType":"YulIdentifier","src":"6499:4:9"},{"kind":"number","nativeSrc":"6505:4:9","nodeType":"YulLiteral","src":"6505:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"6495:3:9","nodeType":"YulIdentifier","src":"6495:3:9"},"nativeSrc":"6495:15:9","nodeType":"YulFunctionCall","src":"6495:15:9"},"variableNames":[{"name":"size","nativeSrc":"6487:4:9","nodeType":"YulIdentifier","src":"6487:4:9"}]}]},"name":"array_allocation_size_t_string_memory_ptr","nativeSrc":"6209:308:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"6260:6:9","nodeType":"YulTypedName","src":"6260:6:9","type":""}],"returnVariables":[{"name":"size","nativeSrc":"6271:4:9","nodeType":"YulTypedName","src":"6271:4:9","type":""}],"src":"6209:308:9"},{"body":{"nativeSrc":"6587:82:9","nodeType":"YulBlock","src":"6587:82:9","statements":[{"expression":{"arguments":[{"name":"dst","nativeSrc":"6610:3:9","nodeType":"YulIdentifier","src":"6610:3:9"},{"name":"src","nativeSrc":"6615:3:9","nodeType":"YulIdentifier","src":"6615:3:9"},{"name":"length","nativeSrc":"6620:6:9","nodeType":"YulIdentifier","src":"6620:6:9"}],"functionName":{"name":"calldatacopy","nativeSrc":"6597:12:9","nodeType":"YulIdentifier","src":"6597:12:9"},"nativeSrc":"6597:30:9","nodeType":"YulFunctionCall","src":"6597:30:9"},"nativeSrc":"6597:30:9","nodeType":"YulExpressionStatement","src":"6597:30:9"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"6647:3:9","nodeType":"YulIdentifier","src":"6647:3:9"},{"name":"length","nativeSrc":"6652:6:9","nodeType":"YulIdentifier","src":"6652:6:9"}],"functionName":{"name":"add","nativeSrc":"6643:3:9","nodeType":"YulIdentifier","src":"6643:3:9"},"nativeSrc":"6643:16:9","nodeType":"YulFunctionCall","src":"6643:16:9"},{"kind":"number","nativeSrc":"6661:1:9","nodeType":"YulLiteral","src":"6661:1:9","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"6636:6:9","nodeType":"YulIdentifier","src":"6636:6:9"},"nativeSrc":"6636:27:9","nodeType":"YulFunctionCall","src":"6636:27:9"},"nativeSrc":"6636:27:9","nodeType":"YulExpressionStatement","src":"6636:27:9"}]},"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"6523:146:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"6569:3:9","nodeType":"YulTypedName","src":"6569:3:9","type":""},{"name":"dst","nativeSrc":"6574:3:9","nodeType":"YulTypedName","src":"6574:3:9","type":""},{"name":"length","nativeSrc":"6579:6:9","nodeType":"YulTypedName","src":"6579:6:9","type":""}],"src":"6523:146:9"},{"body":{"nativeSrc":"6759:341:9","nodeType":"YulBlock","src":"6759:341:9","statements":[{"nativeSrc":"6769:75:9","nodeType":"YulAssignment","src":"6769:75:9","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"6836:6:9","nodeType":"YulIdentifier","src":"6836:6:9"}],"functionName":{"name":"array_allocation_size_t_string_memory_ptr","nativeSrc":"6794:41:9","nodeType":"YulIdentifier","src":"6794:41:9"},"nativeSrc":"6794:49:9","nodeType":"YulFunctionCall","src":"6794:49:9"}],"functionName":{"name":"allocate_memory","nativeSrc":"6778:15:9","nodeType":"YulIdentifier","src":"6778:15:9"},"nativeSrc":"6778:66:9","nodeType":"YulFunctionCall","src":"6778:66:9"},"variableNames":[{"name":"array","nativeSrc":"6769:5:9","nodeType":"YulIdentifier","src":"6769:5:9"}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"6860:5:9","nodeType":"YulIdentifier","src":"6860:5:9"},{"name":"length","nativeSrc":"6867:6:9","nodeType":"YulIdentifier","src":"6867:6:9"}],"functionName":{"name":"mstore","nativeSrc":"6853:6:9","nodeType":"YulIdentifier","src":"6853:6:9"},"nativeSrc":"6853:21:9","nodeType":"YulFunctionCall","src":"6853:21:9"},"nativeSrc":"6853:21:9","nodeType":"YulExpressionStatement","src":"6853:21:9"},{"nativeSrc":"6883:27:9","nodeType":"YulVariableDeclaration","src":"6883:27:9","value":{"arguments":[{"name":"array","nativeSrc":"6898:5:9","nodeType":"YulIdentifier","src":"6898:5:9"},{"kind":"number","nativeSrc":"6905:4:9","nodeType":"YulLiteral","src":"6905:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"6894:3:9","nodeType":"YulIdentifier","src":"6894:3:9"},"nativeSrc":"6894:16:9","nodeType":"YulFunctionCall","src":"6894:16:9"},"variables":[{"name":"dst","nativeSrc":"6887:3:9","nodeType":"YulTypedName","src":"6887:3:9","type":""}]},{"body":{"nativeSrc":"6948:83:9","nodeType":"YulBlock","src":"6948:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"6950:77:9","nodeType":"YulIdentifier","src":"6950:77:9"},"nativeSrc":"6950:79:9","nodeType":"YulFunctionCall","src":"6950:79:9"},"nativeSrc":"6950:79:9","nodeType":"YulExpressionStatement","src":"6950:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"6929:3:9","nodeType":"YulIdentifier","src":"6929:3:9"},{"name":"length","nativeSrc":"6934:6:9","nodeType":"YulIdentifier","src":"6934:6:9"}],"functionName":{"name":"add","nativeSrc":"6925:3:9","nodeType":"YulIdentifier","src":"6925:3:9"},"nativeSrc":"6925:16:9","nodeType":"YulFunctionCall","src":"6925:16:9"},{"name":"end","nativeSrc":"6943:3:9","nodeType":"YulIdentifier","src":"6943:3:9"}],"functionName":{"name":"gt","nativeSrc":"6922:2:9","nodeType":"YulIdentifier","src":"6922:2:9"},"nativeSrc":"6922:25:9","nodeType":"YulFunctionCall","src":"6922:25:9"},"nativeSrc":"6919:112:9","nodeType":"YulIf","src":"6919:112:9"},{"expression":{"arguments":[{"name":"src","nativeSrc":"7077:3:9","nodeType":"YulIdentifier","src":"7077:3:9"},{"name":"dst","nativeSrc":"7082:3:9","nodeType":"YulIdentifier","src":"7082:3:9"},{"name":"length","nativeSrc":"7087:6:9","nodeType":"YulIdentifier","src":"7087:6:9"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"7040:36:9","nodeType":"YulIdentifier","src":"7040:36:9"},"nativeSrc":"7040:54:9","nodeType":"YulFunctionCall","src":"7040:54:9"},"nativeSrc":"7040:54:9","nodeType":"YulExpressionStatement","src":"7040:54:9"}]},"name":"abi_decode_available_length_t_string_memory_ptr","nativeSrc":"6675:425:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"6732:3:9","nodeType":"YulTypedName","src":"6732:3:9","type":""},{"name":"length","nativeSrc":"6737:6:9","nodeType":"YulTypedName","src":"6737:6:9","type":""},{"name":"end","nativeSrc":"6745:3:9","nodeType":"YulTypedName","src":"6745:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"6753:5:9","nodeType":"YulTypedName","src":"6753:5:9","type":""}],"src":"6675:425:9"},{"body":{"nativeSrc":"7182:278:9","nodeType":"YulBlock","src":"7182:278:9","statements":[{"body":{"nativeSrc":"7231:83:9","nodeType":"YulBlock","src":"7231:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"7233:77:9","nodeType":"YulIdentifier","src":"7233:77:9"},"nativeSrc":"7233:79:9","nodeType":"YulFunctionCall","src":"7233:79:9"},"nativeSrc":"7233:79:9","nodeType":"YulExpressionStatement","src":"7233:79:9"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"7210:6:9","nodeType":"YulIdentifier","src":"7210:6:9"},{"kind":"number","nativeSrc":"7218:4:9","nodeType":"YulLiteral","src":"7218:4:9","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"7206:3:9","nodeType":"YulIdentifier","src":"7206:3:9"},"nativeSrc":"7206:17:9","nodeType":"YulFunctionCall","src":"7206:17:9"},{"name":"end","nativeSrc":"7225:3:9","nodeType":"YulIdentifier","src":"7225:3:9"}],"functionName":{"name":"slt","nativeSrc":"7202:3:9","nodeType":"YulIdentifier","src":"7202:3:9"},"nativeSrc":"7202:27:9","nodeType":"YulFunctionCall","src":"7202:27:9"}],"functionName":{"name":"iszero","nativeSrc":"7195:6:9","nodeType":"YulIdentifier","src":"7195:6:9"},"nativeSrc":"7195:35:9","nodeType":"YulFunctionCall","src":"7195:35:9"},"nativeSrc":"7192:122:9","nodeType":"YulIf","src":"7192:122:9"},{"nativeSrc":"7323:34:9","nodeType":"YulVariableDeclaration","src":"7323:34:9","value":{"arguments":[{"name":"offset","nativeSrc":"7350:6:9","nodeType":"YulIdentifier","src":"7350:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"7337:12:9","nodeType":"YulIdentifier","src":"7337:12:9"},"nativeSrc":"7337:20:9","nodeType":"YulFunctionCall","src":"7337:20:9"},"variables":[{"name":"length","nativeSrc":"7327:6:9","nodeType":"YulTypedName","src":"7327:6:9","type":""}]},{"nativeSrc":"7366:88:9","nodeType":"YulAssignment","src":"7366:88:9","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"7427:6:9","nodeType":"YulIdentifier","src":"7427:6:9"},{"kind":"number","nativeSrc":"7435:4:9","nodeType":"YulLiteral","src":"7435:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"7423:3:9","nodeType":"YulIdentifier","src":"7423:3:9"},"nativeSrc":"7423:17:9","nodeType":"YulFunctionCall","src":"7423:17:9"},{"name":"length","nativeSrc":"7442:6:9","nodeType":"YulIdentifier","src":"7442:6:9"},{"name":"end","nativeSrc":"7450:3:9","nodeType":"YulIdentifier","src":"7450:3:9"}],"functionName":{"name":"abi_decode_available_length_t_string_memory_ptr","nativeSrc":"7375:47:9","nodeType":"YulIdentifier","src":"7375:47:9"},"nativeSrc":"7375:79:9","nodeType":"YulFunctionCall","src":"7375:79:9"},"variableNames":[{"name":"array","nativeSrc":"7366:5:9","nodeType":"YulIdentifier","src":"7366:5:9"}]}]},"name":"abi_decode_t_string_memory_ptr","nativeSrc":"7120:340:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"7160:6:9","nodeType":"YulTypedName","src":"7160:6:9","type":""},{"name":"end","nativeSrc":"7168:3:9","nodeType":"YulTypedName","src":"7168:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"7176:5:9","nodeType":"YulTypedName","src":"7176:5:9","type":""}],"src":"7120:340:9"},{"body":{"nativeSrc":"7542:433:9","nodeType":"YulBlock","src":"7542:433:9","statements":[{"body":{"nativeSrc":"7588:83:9","nodeType":"YulBlock","src":"7588:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"7590:77:9","nodeType":"YulIdentifier","src":"7590:77:9"},"nativeSrc":"7590:79:9","nodeType":"YulFunctionCall","src":"7590:79:9"},"nativeSrc":"7590:79:9","nodeType":"YulExpressionStatement","src":"7590:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"7563:7:9","nodeType":"YulIdentifier","src":"7563:7:9"},{"name":"headStart","nativeSrc":"7572:9:9","nodeType":"YulIdentifier","src":"7572:9:9"}],"functionName":{"name":"sub","nativeSrc":"7559:3:9","nodeType":"YulIdentifier","src":"7559:3:9"},"nativeSrc":"7559:23:9","nodeType":"YulFunctionCall","src":"7559:23:9"},{"kind":"number","nativeSrc":"7584:2:9","nodeType":"YulLiteral","src":"7584:2:9","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"7555:3:9","nodeType":"YulIdentifier","src":"7555:3:9"},"nativeSrc":"7555:32:9","nodeType":"YulFunctionCall","src":"7555:32:9"},"nativeSrc":"7552:119:9","nodeType":"YulIf","src":"7552:119:9"},{"nativeSrc":"7681:287:9","nodeType":"YulBlock","src":"7681:287:9","statements":[{"nativeSrc":"7696:45:9","nodeType":"YulVariableDeclaration","src":"7696:45:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"7727:9:9","nodeType":"YulIdentifier","src":"7727:9:9"},{"kind":"number","nativeSrc":"7738:1:9","nodeType":"YulLiteral","src":"7738:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"7723:3:9","nodeType":"YulIdentifier","src":"7723:3:9"},"nativeSrc":"7723:17:9","nodeType":"YulFunctionCall","src":"7723:17:9"}],"functionName":{"name":"calldataload","nativeSrc":"7710:12:9","nodeType":"YulIdentifier","src":"7710:12:9"},"nativeSrc":"7710:31:9","nodeType":"YulFunctionCall","src":"7710:31:9"},"variables":[{"name":"offset","nativeSrc":"7700:6:9","nodeType":"YulTypedName","src":"7700:6:9","type":""}]},{"body":{"nativeSrc":"7788:83:9","nodeType":"YulBlock","src":"7788:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"7790:77:9","nodeType":"YulIdentifier","src":"7790:77:9"},"nativeSrc":"7790:79:9","nodeType":"YulFunctionCall","src":"7790:79:9"},"nativeSrc":"7790:79:9","nodeType":"YulExpressionStatement","src":"7790:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"7760:6:9","nodeType":"YulIdentifier","src":"7760:6:9"},{"kind":"number","nativeSrc":"7768:18:9","nodeType":"YulLiteral","src":"7768:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"7757:2:9","nodeType":"YulIdentifier","src":"7757:2:9"},"nativeSrc":"7757:30:9","nodeType":"YulFunctionCall","src":"7757:30:9"},"nativeSrc":"7754:117:9","nodeType":"YulIf","src":"7754:117:9"},{"nativeSrc":"7885:73:9","nodeType":"YulAssignment","src":"7885:73:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"7930:9:9","nodeType":"YulIdentifier","src":"7930:9:9"},{"name":"offset","nativeSrc":"7941:6:9","nodeType":"YulIdentifier","src":"7941:6:9"}],"functionName":{"name":"add","nativeSrc":"7926:3:9","nodeType":"YulIdentifier","src":"7926:3:9"},"nativeSrc":"7926:22:9","nodeType":"YulFunctionCall","src":"7926:22:9"},{"name":"dataEnd","nativeSrc":"7950:7:9","nodeType":"YulIdentifier","src":"7950:7:9"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nativeSrc":"7895:30:9","nodeType":"YulIdentifier","src":"7895:30:9"},"nativeSrc":"7895:63:9","nodeType":"YulFunctionCall","src":"7895:63:9"},"variableNames":[{"name":"value0","nativeSrc":"7885:6:9","nodeType":"YulIdentifier","src":"7885:6:9"}]}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nativeSrc":"7466:509:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"7512:9:9","nodeType":"YulTypedName","src":"7512:9:9","type":""},{"name":"dataEnd","nativeSrc":"7523:7:9","nodeType":"YulTypedName","src":"7523:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"7535:6:9","nodeType":"YulTypedName","src":"7535:6:9","type":""}],"src":"7466:509:9"},{"body":{"nativeSrc":"8040:40:9","nodeType":"YulBlock","src":"8040:40:9","statements":[{"nativeSrc":"8051:22:9","nodeType":"YulAssignment","src":"8051:22:9","value":{"arguments":[{"name":"value","nativeSrc":"8067:5:9","nodeType":"YulIdentifier","src":"8067:5:9"}],"functionName":{"name":"mload","nativeSrc":"8061:5:9","nodeType":"YulIdentifier","src":"8061:5:9"},"nativeSrc":"8061:12:9","nodeType":"YulFunctionCall","src":"8061:12:9"},"variableNames":[{"name":"length","nativeSrc":"8051:6:9","nodeType":"YulIdentifier","src":"8051:6:9"}]}]},"name":"array_length_t_string_memory_ptr","nativeSrc":"7981:99:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"8023:5:9","nodeType":"YulTypedName","src":"8023:5:9","type":""}],"returnVariables":[{"name":"length","nativeSrc":"8033:6:9","nodeType":"YulTypedName","src":"8033:6:9","type":""}],"src":"7981:99:9"},{"body":{"nativeSrc":"8182:73:9","nodeType":"YulBlock","src":"8182:73:9","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"8199:3:9","nodeType":"YulIdentifier","src":"8199:3:9"},{"name":"length","nativeSrc":"8204:6:9","nodeType":"YulIdentifier","src":"8204:6:9"}],"functionName":{"name":"mstore","nativeSrc":"8192:6:9","nodeType":"YulIdentifier","src":"8192:6:9"},"nativeSrc":"8192:19:9","nodeType":"YulFunctionCall","src":"8192:19:9"},"nativeSrc":"8192:19:9","nodeType":"YulExpressionStatement","src":"8192:19:9"},{"nativeSrc":"8220:29:9","nodeType":"YulAssignment","src":"8220:29:9","value":{"arguments":[{"name":"pos","nativeSrc":"8239:3:9","nodeType":"YulIdentifier","src":"8239:3:9"},{"kind":"number","nativeSrc":"8244:4:9","nodeType":"YulLiteral","src":"8244:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"8235:3:9","nodeType":"YulIdentifier","src":"8235:3:9"},"nativeSrc":"8235:14:9","nodeType":"YulFunctionCall","src":"8235:14:9"},"variableNames":[{"name":"updated_pos","nativeSrc":"8220:11:9","nodeType":"YulIdentifier","src":"8220:11:9"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"8086:169:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"8154:3:9","nodeType":"YulTypedName","src":"8154:3:9","type":""},{"name":"length","nativeSrc":"8159:6:9","nodeType":"YulTypedName","src":"8159:6:9","type":""}],"returnVariables":[{"name":"updated_pos","nativeSrc":"8170:11:9","nodeType":"YulTypedName","src":"8170:11:9","type":""}],"src":"8086:169:9"},{"body":{"nativeSrc":"8323:184:9","nodeType":"YulBlock","src":"8323:184:9","statements":[{"nativeSrc":"8333:10:9","nodeType":"YulVariableDeclaration","src":"8333:10:9","value":{"kind":"number","nativeSrc":"8342:1:9","nodeType":"YulLiteral","src":"8342:1:9","type":"","value":"0"},"variables":[{"name":"i","nativeSrc":"8337:1:9","nodeType":"YulTypedName","src":"8337:1:9","type":""}]},{"body":{"nativeSrc":"8402:63:9","nodeType":"YulBlock","src":"8402:63:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"8427:3:9","nodeType":"YulIdentifier","src":"8427:3:9"},{"name":"i","nativeSrc":"8432:1:9","nodeType":"YulIdentifier","src":"8432:1:9"}],"functionName":{"name":"add","nativeSrc":"8423:3:9","nodeType":"YulIdentifier","src":"8423:3:9"},"nativeSrc":"8423:11:9","nodeType":"YulFunctionCall","src":"8423:11:9"},{"arguments":[{"arguments":[{"name":"src","nativeSrc":"8446:3:9","nodeType":"YulIdentifier","src":"8446:3:9"},{"name":"i","nativeSrc":"8451:1:9","nodeType":"YulIdentifier","src":"8451:1:9"}],"functionName":{"name":"add","nativeSrc":"8442:3:9","nodeType":"YulIdentifier","src":"8442:3:9"},"nativeSrc":"8442:11:9","nodeType":"YulFunctionCall","src":"8442:11:9"}],"functionName":{"name":"mload","nativeSrc":"8436:5:9","nodeType":"YulIdentifier","src":"8436:5:9"},"nativeSrc":"8436:18:9","nodeType":"YulFunctionCall","src":"8436:18:9"}],"functionName":{"name":"mstore","nativeSrc":"8416:6:9","nodeType":"YulIdentifier","src":"8416:6:9"},"nativeSrc":"8416:39:9","nodeType":"YulFunctionCall","src":"8416:39:9"},"nativeSrc":"8416:39:9","nodeType":"YulExpressionStatement","src":"8416:39:9"}]},"condition":{"arguments":[{"name":"i","nativeSrc":"8363:1:9","nodeType":"YulIdentifier","src":"8363:1:9"},{"name":"length","nativeSrc":"8366:6:9","nodeType":"YulIdentifier","src":"8366:6:9"}],"functionName":{"name":"lt","nativeSrc":"8360:2:9","nodeType":"YulIdentifier","src":"8360:2:9"},"nativeSrc":"8360:13:9","nodeType":"YulFunctionCall","src":"8360:13:9"},"nativeSrc":"8352:113:9","nodeType":"YulForLoop","post":{"nativeSrc":"8374:19:9","nodeType":"YulBlock","src":"8374:19:9","statements":[{"nativeSrc":"8376:15:9","nodeType":"YulAssignment","src":"8376:15:9","value":{"arguments":[{"name":"i","nativeSrc":"8385:1:9","nodeType":"YulIdentifier","src":"8385:1:9"},{"kind":"number","nativeSrc":"8388:2:9","nodeType":"YulLiteral","src":"8388:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"8381:3:9","nodeType":"YulIdentifier","src":"8381:3:9"},"nativeSrc":"8381:10:9","nodeType":"YulFunctionCall","src":"8381:10:9"},"variableNames":[{"name":"i","nativeSrc":"8376:1:9","nodeType":"YulIdentifier","src":"8376:1:9"}]}]},"pre":{"nativeSrc":"8356:3:9","nodeType":"YulBlock","src":"8356:3:9","statements":[]},"src":"8352:113:9"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"8485:3:9","nodeType":"YulIdentifier","src":"8485:3:9"},{"name":"length","nativeSrc":"8490:6:9","nodeType":"YulIdentifier","src":"8490:6:9"}],"functionName":{"name":"add","nativeSrc":"8481:3:9","nodeType":"YulIdentifier","src":"8481:3:9"},"nativeSrc":"8481:16:9","nodeType":"YulFunctionCall","src":"8481:16:9"},{"kind":"number","nativeSrc":"8499:1:9","nodeType":"YulLiteral","src":"8499:1:9","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"8474:6:9","nodeType":"YulIdentifier","src":"8474:6:9"},"nativeSrc":"8474:27:9","nodeType":"YulFunctionCall","src":"8474:27:9"},"nativeSrc":"8474:27:9","nodeType":"YulExpressionStatement","src":"8474:27:9"}]},"name":"copy_memory_to_memory_with_cleanup","nativeSrc":"8261:246:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"8305:3:9","nodeType":"YulTypedName","src":"8305:3:9","type":""},{"name":"dst","nativeSrc":"8310:3:9","nodeType":"YulTypedName","src":"8310:3:9","type":""},{"name":"length","nativeSrc":"8315:6:9","nodeType":"YulTypedName","src":"8315:6:9","type":""}],"src":"8261:246:9"},{"body":{"nativeSrc":"8605:285:9","nodeType":"YulBlock","src":"8605:285:9","statements":[{"nativeSrc":"8615:53:9","nodeType":"YulVariableDeclaration","src":"8615:53:9","value":{"arguments":[{"name":"value","nativeSrc":"8662:5:9","nodeType":"YulIdentifier","src":"8662:5:9"}],"functionName":{"name":"array_length_t_string_memory_ptr","nativeSrc":"8629:32:9","nodeType":"YulIdentifier","src":"8629:32:9"},"nativeSrc":"8629:39:9","nodeType":"YulFunctionCall","src":"8629:39:9"},"variables":[{"name":"length","nativeSrc":"8619:6:9","nodeType":"YulTypedName","src":"8619:6:9","type":""}]},{"nativeSrc":"8677:78:9","nodeType":"YulAssignment","src":"8677:78:9","value":{"arguments":[{"name":"pos","nativeSrc":"8743:3:9","nodeType":"YulIdentifier","src":"8743:3:9"},{"name":"length","nativeSrc":"8748:6:9","nodeType":"YulIdentifier","src":"8748:6:9"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"8684:58:9","nodeType":"YulIdentifier","src":"8684:58:9"},"nativeSrc":"8684:71:9","nodeType":"YulFunctionCall","src":"8684:71:9"},"variableNames":[{"name":"pos","nativeSrc":"8677:3:9","nodeType":"YulIdentifier","src":"8677:3:9"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"8803:5:9","nodeType":"YulIdentifier","src":"8803:5:9"},{"kind":"number","nativeSrc":"8810:4:9","nodeType":"YulLiteral","src":"8810:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"8799:3:9","nodeType":"YulIdentifier","src":"8799:3:9"},"nativeSrc":"8799:16:9","nodeType":"YulFunctionCall","src":"8799:16:9"},{"name":"pos","nativeSrc":"8817:3:9","nodeType":"YulIdentifier","src":"8817:3:9"},{"name":"length","nativeSrc":"8822:6:9","nodeType":"YulIdentifier","src":"8822:6:9"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nativeSrc":"8764:34:9","nodeType":"YulIdentifier","src":"8764:34:9"},"nativeSrc":"8764:65:9","nodeType":"YulFunctionCall","src":"8764:65:9"},"nativeSrc":"8764:65:9","nodeType":"YulExpressionStatement","src":"8764:65:9"},{"nativeSrc":"8838:46:9","nodeType":"YulAssignment","src":"8838:46:9","value":{"arguments":[{"name":"pos","nativeSrc":"8849:3:9","nodeType":"YulIdentifier","src":"8849:3:9"},{"arguments":[{"name":"length","nativeSrc":"8876:6:9","nodeType":"YulIdentifier","src":"8876:6:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"8854:21:9","nodeType":"YulIdentifier","src":"8854:21:9"},"nativeSrc":"8854:29:9","nodeType":"YulFunctionCall","src":"8854:29:9"}],"functionName":{"name":"add","nativeSrc":"8845:3:9","nodeType":"YulIdentifier","src":"8845:3:9"},"nativeSrc":"8845:39:9","nodeType":"YulFunctionCall","src":"8845:39:9"},"variableNames":[{"name":"end","nativeSrc":"8838:3:9","nodeType":"YulIdentifier","src":"8838:3:9"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nativeSrc":"8513:377:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"8586:5:9","nodeType":"YulTypedName","src":"8586:5:9","type":""},{"name":"pos","nativeSrc":"8593:3:9","nodeType":"YulTypedName","src":"8593:3:9","type":""}],"returnVariables":[{"name":"end","nativeSrc":"8601:3:9","nodeType":"YulTypedName","src":"8601:3:9","type":""}],"src":"8513:377:9"},{"body":{"nativeSrc":"9014:195:9","nodeType":"YulBlock","src":"9014:195:9","statements":[{"nativeSrc":"9024:26:9","nodeType":"YulAssignment","src":"9024:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"9036:9:9","nodeType":"YulIdentifier","src":"9036:9:9"},{"kind":"number","nativeSrc":"9047:2:9","nodeType":"YulLiteral","src":"9047:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9032:3:9","nodeType":"YulIdentifier","src":"9032:3:9"},"nativeSrc":"9032:18:9","nodeType":"YulFunctionCall","src":"9032:18:9"},"variableNames":[{"name":"tail","nativeSrc":"9024:4:9","nodeType":"YulIdentifier","src":"9024:4:9"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"9071:9:9","nodeType":"YulIdentifier","src":"9071:9:9"},{"kind":"number","nativeSrc":"9082:1:9","nodeType":"YulLiteral","src":"9082:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"9067:3:9","nodeType":"YulIdentifier","src":"9067:3:9"},"nativeSrc":"9067:17:9","nodeType":"YulFunctionCall","src":"9067:17:9"},{"arguments":[{"name":"tail","nativeSrc":"9090:4:9","nodeType":"YulIdentifier","src":"9090:4:9"},{"name":"headStart","nativeSrc":"9096:9:9","nodeType":"YulIdentifier","src":"9096:9:9"}],"functionName":{"name":"sub","nativeSrc":"9086:3:9","nodeType":"YulIdentifier","src":"9086:3:9"},"nativeSrc":"9086:20:9","nodeType":"YulFunctionCall","src":"9086:20:9"}],"functionName":{"name":"mstore","nativeSrc":"9060:6:9","nodeType":"YulIdentifier","src":"9060:6:9"},"nativeSrc":"9060:47:9","nodeType":"YulFunctionCall","src":"9060:47:9"},"nativeSrc":"9060:47:9","nodeType":"YulExpressionStatement","src":"9060:47:9"},{"nativeSrc":"9116:86:9","nodeType":"YulAssignment","src":"9116:86:9","value":{"arguments":[{"name":"value0","nativeSrc":"9188:6:9","nodeType":"YulIdentifier","src":"9188:6:9"},{"name":"tail","nativeSrc":"9197:4:9","nodeType":"YulIdentifier","src":"9197:4:9"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nativeSrc":"9124:63:9","nodeType":"YulIdentifier","src":"9124:63:9"},"nativeSrc":"9124:78:9","nodeType":"YulFunctionCall","src":"9124:78:9"},"variableNames":[{"name":"tail","nativeSrc":"9116:4:9","nodeType":"YulIdentifier","src":"9116:4:9"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"8896:313:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"8986:9:9","nodeType":"YulTypedName","src":"8986:9:9","type":""},{"name":"value0","nativeSrc":"8998:6:9","nodeType":"YulTypedName","src":"8998:6:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"9009:4:9","nodeType":"YulTypedName","src":"9009:4:9","type":""}],"src":"8896:313:9"},{"body":{"nativeSrc":"9301:443:9","nodeType":"YulBlock","src":"9301:443:9","statements":[{"body":{"nativeSrc":"9347:83:9","nodeType":"YulBlock","src":"9347:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"9349:77:9","nodeType":"YulIdentifier","src":"9349:77:9"},"nativeSrc":"9349:79:9","nodeType":"YulFunctionCall","src":"9349:79:9"},"nativeSrc":"9349:79:9","nodeType":"YulExpressionStatement","src":"9349:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"9322:7:9","nodeType":"YulIdentifier","src":"9322:7:9"},{"name":"headStart","nativeSrc":"9331:9:9","nodeType":"YulIdentifier","src":"9331:9:9"}],"functionName":{"name":"sub","nativeSrc":"9318:3:9","nodeType":"YulIdentifier","src":"9318:3:9"},"nativeSrc":"9318:23:9","nodeType":"YulFunctionCall","src":"9318:23:9"},{"kind":"number","nativeSrc":"9343:2:9","nodeType":"YulLiteral","src":"9343:2:9","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"9314:3:9","nodeType":"YulIdentifier","src":"9314:3:9"},"nativeSrc":"9314:32:9","nodeType":"YulFunctionCall","src":"9314:32:9"},"nativeSrc":"9311:119:9","nodeType":"YulIf","src":"9311:119:9"},{"nativeSrc":"9440:297:9","nodeType":"YulBlock","src":"9440:297:9","statements":[{"nativeSrc":"9455:45:9","nodeType":"YulVariableDeclaration","src":"9455:45:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"9486:9:9","nodeType":"YulIdentifier","src":"9486:9:9"},{"kind":"number","nativeSrc":"9497:1:9","nodeType":"YulLiteral","src":"9497:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"9482:3:9","nodeType":"YulIdentifier","src":"9482:3:9"},"nativeSrc":"9482:17:9","nodeType":"YulFunctionCall","src":"9482:17:9"}],"functionName":{"name":"calldataload","nativeSrc":"9469:12:9","nodeType":"YulIdentifier","src":"9469:12:9"},"nativeSrc":"9469:31:9","nodeType":"YulFunctionCall","src":"9469:31:9"},"variables":[{"name":"offset","nativeSrc":"9459:6:9","nodeType":"YulTypedName","src":"9459:6:9","type":""}]},{"body":{"nativeSrc":"9547:83:9","nodeType":"YulBlock","src":"9547:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"9549:77:9","nodeType":"YulIdentifier","src":"9549:77:9"},"nativeSrc":"9549:79:9","nodeType":"YulFunctionCall","src":"9549:79:9"},"nativeSrc":"9549:79:9","nodeType":"YulExpressionStatement","src":"9549:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"9519:6:9","nodeType":"YulIdentifier","src":"9519:6:9"},{"kind":"number","nativeSrc":"9527:18:9","nodeType":"YulLiteral","src":"9527:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"9516:2:9","nodeType":"YulIdentifier","src":"9516:2:9"},"nativeSrc":"9516:30:9","nodeType":"YulFunctionCall","src":"9516:30:9"},"nativeSrc":"9513:117:9","nodeType":"YulIf","src":"9513:117:9"},{"nativeSrc":"9644:83:9","nodeType":"YulAssignment","src":"9644:83:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"9699:9:9","nodeType":"YulIdentifier","src":"9699:9:9"},{"name":"offset","nativeSrc":"9710:6:9","nodeType":"YulIdentifier","src":"9710:6:9"}],"functionName":{"name":"add","nativeSrc":"9695:3:9","nodeType":"YulIdentifier","src":"9695:3:9"},"nativeSrc":"9695:22:9","nodeType":"YulFunctionCall","src":"9695:22:9"},{"name":"dataEnd","nativeSrc":"9719:7:9","nodeType":"YulIdentifier","src":"9719:7:9"}],"functionName":{"name":"abi_decode_t_string_calldata_ptr","nativeSrc":"9662:32:9","nodeType":"YulIdentifier","src":"9662:32:9"},"nativeSrc":"9662:65:9","nodeType":"YulFunctionCall","src":"9662:65:9"},"variableNames":[{"name":"value0","nativeSrc":"9644:6:9","nodeType":"YulIdentifier","src":"9644:6:9"},{"name":"value1","nativeSrc":"9652:6:9","nodeType":"YulIdentifier","src":"9652:6:9"}]}]}]},"name":"abi_decode_tuple_t_string_calldata_ptr","nativeSrc":"9215:529:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"9263:9:9","nodeType":"YulTypedName","src":"9263:9:9","type":""},{"name":"dataEnd","nativeSrc":"9274:7:9","nodeType":"YulTypedName","src":"9274:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"9286:6:9","nodeType":"YulTypedName","src":"9286:6:9","type":""},{"name":"value1","nativeSrc":"9294:6:9","nodeType":"YulTypedName","src":"9294:6:9","type":""}],"src":"9215:529:9"},{"body":{"nativeSrc":"9856:114:9","nodeType":"YulBlock","src":"9856:114:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"9878:6:9","nodeType":"YulIdentifier","src":"9878:6:9"},{"kind":"number","nativeSrc":"9886:1:9","nodeType":"YulLiteral","src":"9886:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"9874:3:9","nodeType":"YulIdentifier","src":"9874:3:9"},"nativeSrc":"9874:14:9","nodeType":"YulFunctionCall","src":"9874:14:9"},{"hexValue":"4f6e6c792061646d696e2063616e2063616c6c20746869732066756e6374696f","kind":"string","nativeSrc":"9890:34:9","nodeType":"YulLiteral","src":"9890:34:9","type":"","value":"Only admin can call this functio"}],"functionName":{"name":"mstore","nativeSrc":"9867:6:9","nodeType":"YulIdentifier","src":"9867:6:9"},"nativeSrc":"9867:58:9","nodeType":"YulFunctionCall","src":"9867:58:9"},"nativeSrc":"9867:58:9","nodeType":"YulExpressionStatement","src":"9867:58:9"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"9946:6:9","nodeType":"YulIdentifier","src":"9946:6:9"},{"kind":"number","nativeSrc":"9954:2:9","nodeType":"YulLiteral","src":"9954:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9942:3:9","nodeType":"YulIdentifier","src":"9942:3:9"},"nativeSrc":"9942:15:9","nodeType":"YulFunctionCall","src":"9942:15:9"},{"hexValue":"6e","kind":"string","nativeSrc":"9959:3:9","nodeType":"YulLiteral","src":"9959:3:9","type":"","value":"n"}],"functionName":{"name":"mstore","nativeSrc":"9935:6:9","nodeType":"YulIdentifier","src":"9935:6:9"},"nativeSrc":"9935:28:9","nodeType":"YulFunctionCall","src":"9935:28:9"},"nativeSrc":"9935:28:9","nodeType":"YulExpressionStatement","src":"9935:28:9"}]},"name":"store_literal_in_memory_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b","nativeSrc":"9750:220:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"9848:6:9","nodeType":"YulTypedName","src":"9848:6:9","type":""}],"src":"9750:220:9"},{"body":{"nativeSrc":"10122:220:9","nodeType":"YulBlock","src":"10122:220:9","statements":[{"nativeSrc":"10132:74:9","nodeType":"YulAssignment","src":"10132:74:9","value":{"arguments":[{"name":"pos","nativeSrc":"10198:3:9","nodeType":"YulIdentifier","src":"10198:3:9"},{"kind":"number","nativeSrc":"10203:2:9","nodeType":"YulLiteral","src":"10203:2:9","type":"","value":"33"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"10139:58:9","nodeType":"YulIdentifier","src":"10139:58:9"},"nativeSrc":"10139:67:9","nodeType":"YulFunctionCall","src":"10139:67:9"},"variableNames":[{"name":"pos","nativeSrc":"10132:3:9","nodeType":"YulIdentifier","src":"10132:3:9"}]},{"expression":{"arguments":[{"name":"pos","nativeSrc":"10304:3:9","nodeType":"YulIdentifier","src":"10304:3:9"}],"functionName":{"name":"store_literal_in_memory_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b","nativeSrc":"10215:88:9","nodeType":"YulIdentifier","src":"10215:88:9"},"nativeSrc":"10215:93:9","nodeType":"YulFunctionCall","src":"10215:93:9"},"nativeSrc":"10215:93:9","nodeType":"YulExpressionStatement","src":"10215:93:9"},{"nativeSrc":"10317:19:9","nodeType":"YulAssignment","src":"10317:19:9","value":{"arguments":[{"name":"pos","nativeSrc":"10328:3:9","nodeType":"YulIdentifier","src":"10328:3:9"},{"kind":"number","nativeSrc":"10333:2:9","nodeType":"YulLiteral","src":"10333:2:9","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"10324:3:9","nodeType":"YulIdentifier","src":"10324:3:9"},"nativeSrc":"10324:12:9","nodeType":"YulFunctionCall","src":"10324:12:9"},"variableNames":[{"name":"end","nativeSrc":"10317:3:9","nodeType":"YulIdentifier","src":"10317:3:9"}]}]},"name":"abi_encode_t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b_to_t_string_memory_ptr_fromStack","nativeSrc":"9976:366:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"10110:3:9","nodeType":"YulTypedName","src":"10110:3:9","type":""}],"returnVariables":[{"name":"end","nativeSrc":"10118:3:9","nodeType":"YulTypedName","src":"10118:3:9","type":""}],"src":"9976:366:9"},{"body":{"nativeSrc":"10519:248:9","nodeType":"YulBlock","src":"10519:248:9","statements":[{"nativeSrc":"10529:26:9","nodeType":"YulAssignment","src":"10529:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"10541:9:9","nodeType":"YulIdentifier","src":"10541:9:9"},{"kind":"number","nativeSrc":"10552:2:9","nodeType":"YulLiteral","src":"10552:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"10537:3:9","nodeType":"YulIdentifier","src":"10537:3:9"},"nativeSrc":"10537:18:9","nodeType":"YulFunctionCall","src":"10537:18:9"},"variableNames":[{"name":"tail","nativeSrc":"10529:4:9","nodeType":"YulIdentifier","src":"10529:4:9"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"10576:9:9","nodeType":"YulIdentifier","src":"10576:9:9"},{"kind":"number","nativeSrc":"10587:1:9","nodeType":"YulLiteral","src":"10587:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"10572:3:9","nodeType":"YulIdentifier","src":"10572:3:9"},"nativeSrc":"10572:17:9","nodeType":"YulFunctionCall","src":"10572:17:9"},{"arguments":[{"name":"tail","nativeSrc":"10595:4:9","nodeType":"YulIdentifier","src":"10595:4:9"},{"name":"headStart","nativeSrc":"10601:9:9","nodeType":"YulIdentifier","src":"10601:9:9"}],"functionName":{"name":"sub","nativeSrc":"10591:3:9","nodeType":"YulIdentifier","src":"10591:3:9"},"nativeSrc":"10591:20:9","nodeType":"YulFunctionCall","src":"10591:20:9"}],"functionName":{"name":"mstore","nativeSrc":"10565:6:9","nodeType":"YulIdentifier","src":"10565:6:9"},"nativeSrc":"10565:47:9","nodeType":"YulFunctionCall","src":"10565:47:9"},"nativeSrc":"10565:47:9","nodeType":"YulExpressionStatement","src":"10565:47:9"},{"nativeSrc":"10621:139:9","nodeType":"YulAssignment","src":"10621:139:9","value":{"arguments":[{"name":"tail","nativeSrc":"10755:4:9","nodeType":"YulIdentifier","src":"10755:4:9"}],"functionName":{"name":"abi_encode_t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b_to_t_string_memory_ptr_fromStack","nativeSrc":"10629:124:9","nodeType":"YulIdentifier","src":"10629:124:9"},"nativeSrc":"10629:131:9","nodeType":"YulFunctionCall","src":"10629:131:9"},"variableNames":[{"name":"tail","nativeSrc":"10621:4:9","nodeType":"YulIdentifier","src":"10621:4:9"}]}]},"name":"abi_encode_tuple_t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"10348:419:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"10499:9:9","nodeType":"YulTypedName","src":"10499:9:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"10514:4:9","nodeType":"YulTypedName","src":"10514:4:9","type":""}],"src":"10348:419:9"},{"body":{"nativeSrc":"10879:115:9","nodeType":"YulBlock","src":"10879:115:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"10901:6:9","nodeType":"YulIdentifier","src":"10901:6:9"},{"kind":"number","nativeSrc":"10909:1:9","nodeType":"YulLiteral","src":"10909:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"10897:3:9","nodeType":"YulIdentifier","src":"10897:3:9"},"nativeSrc":"10897:14:9","nodeType":"YulFunctionCall","src":"10897:14:9"},{"hexValue":"576f726b73746570496e7374616e636549642063616e6e6f7420626520656d70","kind":"string","nativeSrc":"10913:34:9","nodeType":"YulLiteral","src":"10913:34:9","type":"","value":"WorkstepInstanceId cannot be emp"}],"functionName":{"name":"mstore","nativeSrc":"10890:6:9","nodeType":"YulIdentifier","src":"10890:6:9"},"nativeSrc":"10890:58:9","nodeType":"YulFunctionCall","src":"10890:58:9"},"nativeSrc":"10890:58:9","nodeType":"YulExpressionStatement","src":"10890:58:9"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"10969:6:9","nodeType":"YulIdentifier","src":"10969:6:9"},{"kind":"number","nativeSrc":"10977:2:9","nodeType":"YulLiteral","src":"10977:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"10965:3:9","nodeType":"YulIdentifier","src":"10965:3:9"},"nativeSrc":"10965:15:9","nodeType":"YulFunctionCall","src":"10965:15:9"},{"hexValue":"7479","kind":"string","nativeSrc":"10982:4:9","nodeType":"YulLiteral","src":"10982:4:9","type":"","value":"ty"}],"functionName":{"name":"mstore","nativeSrc":"10958:6:9","nodeType":"YulIdentifier","src":"10958:6:9"},"nativeSrc":"10958:29:9","nodeType":"YulFunctionCall","src":"10958:29:9"},"nativeSrc":"10958:29:9","nodeType":"YulExpressionStatement","src":"10958:29:9"}]},"name":"store_literal_in_memory_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c","nativeSrc":"10773:221:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"10871:6:9","nodeType":"YulTypedName","src":"10871:6:9","type":""}],"src":"10773:221:9"},{"body":{"nativeSrc":"11146:220:9","nodeType":"YulBlock","src":"11146:220:9","statements":[{"nativeSrc":"11156:74:9","nodeType":"YulAssignment","src":"11156:74:9","value":{"arguments":[{"name":"pos","nativeSrc":"11222:3:9","nodeType":"YulIdentifier","src":"11222:3:9"},{"kind":"number","nativeSrc":"11227:2:9","nodeType":"YulLiteral","src":"11227:2:9","type":"","value":"34"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"11163:58:9","nodeType":"YulIdentifier","src":"11163:58:9"},"nativeSrc":"11163:67:9","nodeType":"YulFunctionCall","src":"11163:67:9"},"variableNames":[{"name":"pos","nativeSrc":"11156:3:9","nodeType":"YulIdentifier","src":"11156:3:9"}]},{"expression":{"arguments":[{"name":"pos","nativeSrc":"11328:3:9","nodeType":"YulIdentifier","src":"11328:3:9"}],"functionName":{"name":"store_literal_in_memory_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c","nativeSrc":"11239:88:9","nodeType":"YulIdentifier","src":"11239:88:9"},"nativeSrc":"11239:93:9","nodeType":"YulFunctionCall","src":"11239:93:9"},"nativeSrc":"11239:93:9","nodeType":"YulExpressionStatement","src":"11239:93:9"},{"nativeSrc":"11341:19:9","nodeType":"YulAssignment","src":"11341:19:9","value":{"arguments":[{"name":"pos","nativeSrc":"11352:3:9","nodeType":"YulIdentifier","src":"11352:3:9"},{"kind":"number","nativeSrc":"11357:2:9","nodeType":"YulLiteral","src":"11357:2:9","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"11348:3:9","nodeType":"YulIdentifier","src":"11348:3:9"},"nativeSrc":"11348:12:9","nodeType":"YulFunctionCall","src":"11348:12:9"},"variableNames":[{"name":"end","nativeSrc":"11341:3:9","nodeType":"YulIdentifier","src":"11341:3:9"}]}]},"name":"abi_encode_t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c_to_t_string_memory_ptr_fromStack","nativeSrc":"11000:366:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"11134:3:9","nodeType":"YulTypedName","src":"11134:3:9","type":""}],"returnVariables":[{"name":"end","nativeSrc":"11142:3:9","nodeType":"YulTypedName","src":"11142:3:9","type":""}],"src":"11000:366:9"},{"body":{"nativeSrc":"11543:248:9","nodeType":"YulBlock","src":"11543:248:9","statements":[{"nativeSrc":"11553:26:9","nodeType":"YulAssignment","src":"11553:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"11565:9:9","nodeType":"YulIdentifier","src":"11565:9:9"},{"kind":"number","nativeSrc":"11576:2:9","nodeType":"YulLiteral","src":"11576:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"11561:3:9","nodeType":"YulIdentifier","src":"11561:3:9"},"nativeSrc":"11561:18:9","nodeType":"YulFunctionCall","src":"11561:18:9"},"variableNames":[{"name":"tail","nativeSrc":"11553:4:9","nodeType":"YulIdentifier","src":"11553:4:9"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11600:9:9","nodeType":"YulIdentifier","src":"11600:9:9"},{"kind":"number","nativeSrc":"11611:1:9","nodeType":"YulLiteral","src":"11611:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"11596:3:9","nodeType":"YulIdentifier","src":"11596:3:9"},"nativeSrc":"11596:17:9","nodeType":"YulFunctionCall","src":"11596:17:9"},{"arguments":[{"name":"tail","nativeSrc":"11619:4:9","nodeType":"YulIdentifier","src":"11619:4:9"},{"name":"headStart","nativeSrc":"11625:9:9","nodeType":"YulIdentifier","src":"11625:9:9"}],"functionName":{"name":"sub","nativeSrc":"11615:3:9","nodeType":"YulIdentifier","src":"11615:3:9"},"nativeSrc":"11615:20:9","nodeType":"YulFunctionCall","src":"11615:20:9"}],"functionName":{"name":"mstore","nativeSrc":"11589:6:9","nodeType":"YulIdentifier","src":"11589:6:9"},"nativeSrc":"11589:47:9","nodeType":"YulFunctionCall","src":"11589:47:9"},"nativeSrc":"11589:47:9","nodeType":"YulExpressionStatement","src":"11589:47:9"},{"nativeSrc":"11645:139:9","nodeType":"YulAssignment","src":"11645:139:9","value":{"arguments":[{"name":"tail","nativeSrc":"11779:4:9","nodeType":"YulIdentifier","src":"11779:4:9"}],"functionName":{"name":"abi_encode_t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c_to_t_string_memory_ptr_fromStack","nativeSrc":"11653:124:9","nodeType":"YulIdentifier","src":"11653:124:9"},"nativeSrc":"11653:131:9","nodeType":"YulFunctionCall","src":"11653:131:9"},"variableNames":[{"name":"tail","nativeSrc":"11645:4:9","nodeType":"YulIdentifier","src":"11645:4:9"}]}]},"name":"abi_encode_tuple_t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"11372:419:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"11523:9:9","nodeType":"YulTypedName","src":"11523:9:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"11538:4:9","nodeType":"YulTypedName","src":"11538:4:9","type":""}],"src":"11372:419:9"},{"body":{"nativeSrc":"11903:122:9","nodeType":"YulBlock","src":"11903:122:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"11925:6:9","nodeType":"YulIdentifier","src":"11925:6:9"},{"kind":"number","nativeSrc":"11933:1:9","nodeType":"YulLiteral","src":"11933:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"11921:3:9","nodeType":"YulIdentifier","src":"11921:3:9"},"nativeSrc":"11921:14:9","nodeType":"YulFunctionCall","src":"11921:14:9"},{"hexValue":"576f726b73746570496e7374616e636549642063616e6e6f7420657863656564","kind":"string","nativeSrc":"11937:34:9","nodeType":"YulLiteral","src":"11937:34:9","type":"","value":"WorkstepInstanceId cannot exceed"}],"functionName":{"name":"mstore","nativeSrc":"11914:6:9","nodeType":"YulIdentifier","src":"11914:6:9"},"nativeSrc":"11914:58:9","nodeType":"YulFunctionCall","src":"11914:58:9"},"nativeSrc":"11914:58:9","nodeType":"YulExpressionStatement","src":"11914:58:9"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"11993:6:9","nodeType":"YulIdentifier","src":"11993:6:9"},{"kind":"number","nativeSrc":"12001:2:9","nodeType":"YulLiteral","src":"12001:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"11989:3:9","nodeType":"YulIdentifier","src":"11989:3:9"},"nativeSrc":"11989:15:9","nodeType":"YulFunctionCall","src":"11989:15:9"},{"hexValue":"203430206279746573","kind":"string","nativeSrc":"12006:11:9","nodeType":"YulLiteral","src":"12006:11:9","type":"","value":" 40 bytes"}],"functionName":{"name":"mstore","nativeSrc":"11982:6:9","nodeType":"YulIdentifier","src":"11982:6:9"},"nativeSrc":"11982:36:9","nodeType":"YulFunctionCall","src":"11982:36:9"},"nativeSrc":"11982:36:9","nodeType":"YulExpressionStatement","src":"11982:36:9"}]},"name":"store_literal_in_memory_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718","nativeSrc":"11797:228:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"11895:6:9","nodeType":"YulTypedName","src":"11895:6:9","type":""}],"src":"11797:228:9"},{"body":{"nativeSrc":"12177:220:9","nodeType":"YulBlock","src":"12177:220:9","statements":[{"nativeSrc":"12187:74:9","nodeType":"YulAssignment","src":"12187:74:9","value":{"arguments":[{"name":"pos","nativeSrc":"12253:3:9","nodeType":"YulIdentifier","src":"12253:3:9"},{"kind":"number","nativeSrc":"12258:2:9","nodeType":"YulLiteral","src":"12258:2:9","type":"","value":"41"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"12194:58:9","nodeType":"YulIdentifier","src":"12194:58:9"},"nativeSrc":"12194:67:9","nodeType":"YulFunctionCall","src":"12194:67:9"},"variableNames":[{"name":"pos","nativeSrc":"12187:3:9","nodeType":"YulIdentifier","src":"12187:3:9"}]},{"expression":{"arguments":[{"name":"pos","nativeSrc":"12359:3:9","nodeType":"YulIdentifier","src":"12359:3:9"}],"functionName":{"name":"store_literal_in_memory_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718","nativeSrc":"12270:88:9","nodeType":"YulIdentifier","src":"12270:88:9"},"nativeSrc":"12270:93:9","nodeType":"YulFunctionCall","src":"12270:93:9"},"nativeSrc":"12270:93:9","nodeType":"YulExpressionStatement","src":"12270:93:9"},{"nativeSrc":"12372:19:9","nodeType":"YulAssignment","src":"12372:19:9","value":{"arguments":[{"name":"pos","nativeSrc":"12383:3:9","nodeType":"YulIdentifier","src":"12383:3:9"},{"kind":"number","nativeSrc":"12388:2:9","nodeType":"YulLiteral","src":"12388:2:9","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"12379:3:9","nodeType":"YulIdentifier","src":"12379:3:9"},"nativeSrc":"12379:12:9","nodeType":"YulFunctionCall","src":"12379:12:9"},"variableNames":[{"name":"end","nativeSrc":"12372:3:9","nodeType":"YulIdentifier","src":"12372:3:9"}]}]},"name":"abi_encode_t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718_to_t_string_memory_ptr_fromStack","nativeSrc":"12031:366:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"12165:3:9","nodeType":"YulTypedName","src":"12165:3:9","type":""}],"returnVariables":[{"name":"end","nativeSrc":"12173:3:9","nodeType":"YulTypedName","src":"12173:3:9","type":""}],"src":"12031:366:9"},{"body":{"nativeSrc":"12574:248:9","nodeType":"YulBlock","src":"12574:248:9","statements":[{"nativeSrc":"12584:26:9","nodeType":"YulAssignment","src":"12584:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"12596:9:9","nodeType":"YulIdentifier","src":"12596:9:9"},{"kind":"number","nativeSrc":"12607:2:9","nodeType":"YulLiteral","src":"12607:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"12592:3:9","nodeType":"YulIdentifier","src":"12592:3:9"},"nativeSrc":"12592:18:9","nodeType":"YulFunctionCall","src":"12592:18:9"},"variableNames":[{"name":"tail","nativeSrc":"12584:4:9","nodeType":"YulIdentifier","src":"12584:4:9"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"12631:9:9","nodeType":"YulIdentifier","src":"12631:9:9"},{"kind":"number","nativeSrc":"12642:1:9","nodeType":"YulLiteral","src":"12642:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"12627:3:9","nodeType":"YulIdentifier","src":"12627:3:9"},"nativeSrc":"12627:17:9","nodeType":"YulFunctionCall","src":"12627:17:9"},{"arguments":[{"name":"tail","nativeSrc":"12650:4:9","nodeType":"YulIdentifier","src":"12650:4:9"},{"name":"headStart","nativeSrc":"12656:9:9","nodeType":"YulIdentifier","src":"12656:9:9"}],"functionName":{"name":"sub","nativeSrc":"12646:3:9","nodeType":"YulIdentifier","src":"12646:3:9"},"nativeSrc":"12646:20:9","nodeType":"YulFunctionCall","src":"12646:20:9"}],"functionName":{"name":"mstore","nativeSrc":"12620:6:9","nodeType":"YulIdentifier","src":"12620:6:9"},"nativeSrc":"12620:47:9","nodeType":"YulFunctionCall","src":"12620:47:9"},"nativeSrc":"12620:47:9","nodeType":"YulExpressionStatement","src":"12620:47:9"},{"nativeSrc":"12676:139:9","nodeType":"YulAssignment","src":"12676:139:9","value":{"arguments":[{"name":"tail","nativeSrc":"12810:4:9","nodeType":"YulIdentifier","src":"12810:4:9"}],"functionName":{"name":"abi_encode_t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718_to_t_string_memory_ptr_fromStack","nativeSrc":"12684:124:9","nodeType":"YulIdentifier","src":"12684:124:9"},"nativeSrc":"12684:131:9","nodeType":"YulFunctionCall","src":"12684:131:9"},"variableNames":[{"name":"tail","nativeSrc":"12676:4:9","nodeType":"YulIdentifier","src":"12676:4:9"}]}]},"name":"abi_encode_tuple_t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"12403:419:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"12554:9:9","nodeType":"YulTypedName","src":"12554:9:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"12569:4:9","nodeType":"YulTypedName","src":"12569:4:9","type":""}],"src":"12403:419:9"},{"body":{"nativeSrc":"12934:70:9","nodeType":"YulBlock","src":"12934:70:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"12956:6:9","nodeType":"YulIdentifier","src":"12956:6:9"},{"kind":"number","nativeSrc":"12964:1:9","nodeType":"YulLiteral","src":"12964:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"12952:3:9","nodeType":"YulIdentifier","src":"12952:3:9"},"nativeSrc":"12952:14:9","nodeType":"YulFunctionCall","src":"12952:14:9"},{"hexValue":"416e63686f72486173682063616e6e6f7420626520656d707479","kind":"string","nativeSrc":"12968:28:9","nodeType":"YulLiteral","src":"12968:28:9","type":"","value":"AnchorHash cannot be empty"}],"functionName":{"name":"mstore","nativeSrc":"12945:6:9","nodeType":"YulIdentifier","src":"12945:6:9"},"nativeSrc":"12945:52:9","nodeType":"YulFunctionCall","src":"12945:52:9"},"nativeSrc":"12945:52:9","nodeType":"YulExpressionStatement","src":"12945:52:9"}]},"name":"store_literal_in_memory_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca","nativeSrc":"12828:176:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"12926:6:9","nodeType":"YulTypedName","src":"12926:6:9","type":""}],"src":"12828:176:9"},{"body":{"nativeSrc":"13156:220:9","nodeType":"YulBlock","src":"13156:220:9","statements":[{"nativeSrc":"13166:74:9","nodeType":"YulAssignment","src":"13166:74:9","value":{"arguments":[{"name":"pos","nativeSrc":"13232:3:9","nodeType":"YulIdentifier","src":"13232:3:9"},{"kind":"number","nativeSrc":"13237:2:9","nodeType":"YulLiteral","src":"13237:2:9","type":"","value":"26"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"13173:58:9","nodeType":"YulIdentifier","src":"13173:58:9"},"nativeSrc":"13173:67:9","nodeType":"YulFunctionCall","src":"13173:67:9"},"variableNames":[{"name":"pos","nativeSrc":"13166:3:9","nodeType":"YulIdentifier","src":"13166:3:9"}]},{"expression":{"arguments":[{"name":"pos","nativeSrc":"13338:3:9","nodeType":"YulIdentifier","src":"13338:3:9"}],"functionName":{"name":"store_literal_in_memory_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca","nativeSrc":"13249:88:9","nodeType":"YulIdentifier","src":"13249:88:9"},"nativeSrc":"13249:93:9","nodeType":"YulFunctionCall","src":"13249:93:9"},"nativeSrc":"13249:93:9","nodeType":"YulExpressionStatement","src":"13249:93:9"},{"nativeSrc":"13351:19:9","nodeType":"YulAssignment","src":"13351:19:9","value":{"arguments":[{"name":"pos","nativeSrc":"13362:3:9","nodeType":"YulIdentifier","src":"13362:3:9"},{"kind":"number","nativeSrc":"13367:2:9","nodeType":"YulLiteral","src":"13367:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13358:3:9","nodeType":"YulIdentifier","src":"13358:3:9"},"nativeSrc":"13358:12:9","nodeType":"YulFunctionCall","src":"13358:12:9"},"variableNames":[{"name":"end","nativeSrc":"13351:3:9","nodeType":"YulIdentifier","src":"13351:3:9"}]}]},"name":"abi_encode_t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca_to_t_string_memory_ptr_fromStack","nativeSrc":"13010:366:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"13144:3:9","nodeType":"YulTypedName","src":"13144:3:9","type":""}],"returnVariables":[{"name":"end","nativeSrc":"13152:3:9","nodeType":"YulTypedName","src":"13152:3:9","type":""}],"src":"13010:366:9"},{"body":{"nativeSrc":"13553:248:9","nodeType":"YulBlock","src":"13553:248:9","statements":[{"nativeSrc":"13563:26:9","nodeType":"YulAssignment","src":"13563:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"13575:9:9","nodeType":"YulIdentifier","src":"13575:9:9"},{"kind":"number","nativeSrc":"13586:2:9","nodeType":"YulLiteral","src":"13586:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13571:3:9","nodeType":"YulIdentifier","src":"13571:3:9"},"nativeSrc":"13571:18:9","nodeType":"YulFunctionCall","src":"13571:18:9"},"variableNames":[{"name":"tail","nativeSrc":"13563:4:9","nodeType":"YulIdentifier","src":"13563:4:9"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"13610:9:9","nodeType":"YulIdentifier","src":"13610:9:9"},{"kind":"number","nativeSrc":"13621:1:9","nodeType":"YulLiteral","src":"13621:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"13606:3:9","nodeType":"YulIdentifier","src":"13606:3:9"},"nativeSrc":"13606:17:9","nodeType":"YulFunctionCall","src":"13606:17:9"},{"arguments":[{"name":"tail","nativeSrc":"13629:4:9","nodeType":"YulIdentifier","src":"13629:4:9"},{"name":"headStart","nativeSrc":"13635:9:9","nodeType":"YulIdentifier","src":"13635:9:9"}],"functionName":{"name":"sub","nativeSrc":"13625:3:9","nodeType":"YulIdentifier","src":"13625:3:9"},"nativeSrc":"13625:20:9","nodeType":"YulFunctionCall","src":"13625:20:9"}],"functionName":{"name":"mstore","nativeSrc":"13599:6:9","nodeType":"YulIdentifier","src":"13599:6:9"},"nativeSrc":"13599:47:9","nodeType":"YulFunctionCall","src":"13599:47:9"},"nativeSrc":"13599:47:9","nodeType":"YulExpressionStatement","src":"13599:47:9"},{"nativeSrc":"13655:139:9","nodeType":"YulAssignment","src":"13655:139:9","value":{"arguments":[{"name":"tail","nativeSrc":"13789:4:9","nodeType":"YulIdentifier","src":"13789:4:9"}],"functionName":{"name":"abi_encode_t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca_to_t_string_memory_ptr_fromStack","nativeSrc":"13663:124:9","nodeType":"YulIdentifier","src":"13663:124:9"},"nativeSrc":"13663:131:9","nodeType":"YulFunctionCall","src":"13663:131:9"},"variableNames":[{"name":"tail","nativeSrc":"13655:4:9","nodeType":"YulIdentifier","src":"13655:4:9"}]}]},"name":"abi_encode_tuple_t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"13382:419:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"13533:9:9","nodeType":"YulTypedName","src":"13533:9:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"13548:4:9","nodeType":"YulTypedName","src":"13548:4:9","type":""}],"src":"13382:419:9"},{"body":{"nativeSrc":"13913:115:9","nodeType":"YulBlock","src":"13913:115:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"13935:6:9","nodeType":"YulIdentifier","src":"13935:6:9"},{"kind":"number","nativeSrc":"13943:1:9","nodeType":"YulLiteral","src":"13943:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"13931:3:9","nodeType":"YulIdentifier","src":"13931:3:9"},"nativeSrc":"13931:14:9","nodeType":"YulFunctionCall","src":"13931:14:9"},{"hexValue":"416e63686f72486173682063616e6e6f74206578636565642032353620627974","kind":"string","nativeSrc":"13947:34:9","nodeType":"YulLiteral","src":"13947:34:9","type":"","value":"AnchorHash cannot exceed 256 byt"}],"functionName":{"name":"mstore","nativeSrc":"13924:6:9","nodeType":"YulIdentifier","src":"13924:6:9"},"nativeSrc":"13924:58:9","nodeType":"YulFunctionCall","src":"13924:58:9"},"nativeSrc":"13924:58:9","nodeType":"YulExpressionStatement","src":"13924:58:9"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"14003:6:9","nodeType":"YulIdentifier","src":"14003:6:9"},{"kind":"number","nativeSrc":"14011:2:9","nodeType":"YulLiteral","src":"14011:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"13999:3:9","nodeType":"YulIdentifier","src":"13999:3:9"},"nativeSrc":"13999:15:9","nodeType":"YulFunctionCall","src":"13999:15:9"},{"hexValue":"6573","kind":"string","nativeSrc":"14016:4:9","nodeType":"YulLiteral","src":"14016:4:9","type":"","value":"es"}],"functionName":{"name":"mstore","nativeSrc":"13992:6:9","nodeType":"YulIdentifier","src":"13992:6:9"},"nativeSrc":"13992:29:9","nodeType":"YulFunctionCall","src":"13992:29:9"},"nativeSrc":"13992:29:9","nodeType":"YulExpressionStatement","src":"13992:29:9"}]},"name":"store_literal_in_memory_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b","nativeSrc":"13807:221:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"13905:6:9","nodeType":"YulTypedName","src":"13905:6:9","type":""}],"src":"13807:221:9"},{"body":{"nativeSrc":"14180:220:9","nodeType":"YulBlock","src":"14180:220:9","statements":[{"nativeSrc":"14190:74:9","nodeType":"YulAssignment","src":"14190:74:9","value":{"arguments":[{"name":"pos","nativeSrc":"14256:3:9","nodeType":"YulIdentifier","src":"14256:3:9"},{"kind":"number","nativeSrc":"14261:2:9","nodeType":"YulLiteral","src":"14261:2:9","type":"","value":"34"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"14197:58:9","nodeType":"YulIdentifier","src":"14197:58:9"},"nativeSrc":"14197:67:9","nodeType":"YulFunctionCall","src":"14197:67:9"},"variableNames":[{"name":"pos","nativeSrc":"14190:3:9","nodeType":"YulIdentifier","src":"14190:3:9"}]},{"expression":{"arguments":[{"name":"pos","nativeSrc":"14362:3:9","nodeType":"YulIdentifier","src":"14362:3:9"}],"functionName":{"name":"store_literal_in_memory_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b","nativeSrc":"14273:88:9","nodeType":"YulIdentifier","src":"14273:88:9"},"nativeSrc":"14273:93:9","nodeType":"YulFunctionCall","src":"14273:93:9"},"nativeSrc":"14273:93:9","nodeType":"YulExpressionStatement","src":"14273:93:9"},{"nativeSrc":"14375:19:9","nodeType":"YulAssignment","src":"14375:19:9","value":{"arguments":[{"name":"pos","nativeSrc":"14386:3:9","nodeType":"YulIdentifier","src":"14386:3:9"},{"kind":"number","nativeSrc":"14391:2:9","nodeType":"YulLiteral","src":"14391:2:9","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"14382:3:9","nodeType":"YulIdentifier","src":"14382:3:9"},"nativeSrc":"14382:12:9","nodeType":"YulFunctionCall","src":"14382:12:9"},"variableNames":[{"name":"end","nativeSrc":"14375:3:9","nodeType":"YulIdentifier","src":"14375:3:9"}]}]},"name":"abi_encode_t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b_to_t_string_memory_ptr_fromStack","nativeSrc":"14034:366:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"14168:3:9","nodeType":"YulTypedName","src":"14168:3:9","type":""}],"returnVariables":[{"name":"end","nativeSrc":"14176:3:9","nodeType":"YulTypedName","src":"14176:3:9","type":""}],"src":"14034:366:9"},{"body":{"nativeSrc":"14577:248:9","nodeType":"YulBlock","src":"14577:248:9","statements":[{"nativeSrc":"14587:26:9","nodeType":"YulAssignment","src":"14587:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"14599:9:9","nodeType":"YulIdentifier","src":"14599:9:9"},{"kind":"number","nativeSrc":"14610:2:9","nodeType":"YulLiteral","src":"14610:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"14595:3:9","nodeType":"YulIdentifier","src":"14595:3:9"},"nativeSrc":"14595:18:9","nodeType":"YulFunctionCall","src":"14595:18:9"},"variableNames":[{"name":"tail","nativeSrc":"14587:4:9","nodeType":"YulIdentifier","src":"14587:4:9"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"14634:9:9","nodeType":"YulIdentifier","src":"14634:9:9"},{"kind":"number","nativeSrc":"14645:1:9","nodeType":"YulLiteral","src":"14645:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"14630:3:9","nodeType":"YulIdentifier","src":"14630:3:9"},"nativeSrc":"14630:17:9","nodeType":"YulFunctionCall","src":"14630:17:9"},{"arguments":[{"name":"tail","nativeSrc":"14653:4:9","nodeType":"YulIdentifier","src":"14653:4:9"},{"name":"headStart","nativeSrc":"14659:9:9","nodeType":"YulIdentifier","src":"14659:9:9"}],"functionName":{"name":"sub","nativeSrc":"14649:3:9","nodeType":"YulIdentifier","src":"14649:3:9"},"nativeSrc":"14649:20:9","nodeType":"YulFunctionCall","src":"14649:20:9"}],"functionName":{"name":"mstore","nativeSrc":"14623:6:9","nodeType":"YulIdentifier","src":"14623:6:9"},"nativeSrc":"14623:47:9","nodeType":"YulFunctionCall","src":"14623:47:9"},"nativeSrc":"14623:47:9","nodeType":"YulExpressionStatement","src":"14623:47:9"},{"nativeSrc":"14679:139:9","nodeType":"YulAssignment","src":"14679:139:9","value":{"arguments":[{"name":"tail","nativeSrc":"14813:4:9","nodeType":"YulIdentifier","src":"14813:4:9"}],"functionName":{"name":"abi_encode_t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b_to_t_string_memory_ptr_fromStack","nativeSrc":"14687:124:9","nodeType":"YulIdentifier","src":"14687:124:9"},"nativeSrc":"14687:131:9","nodeType":"YulFunctionCall","src":"14687:131:9"},"variableNames":[{"name":"tail","nativeSrc":"14679:4:9","nodeType":"YulIdentifier","src":"14679:4:9"}]}]},"name":"abi_encode_tuple_t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"14406:419:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"14557:9:9","nodeType":"YulTypedName","src":"14557:9:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"14572:4:9","nodeType":"YulTypedName","src":"14572:4:9","type":""}],"src":"14406:419:9"},{"body":{"nativeSrc":"14945:34:9","nodeType":"YulBlock","src":"14945:34:9","statements":[{"nativeSrc":"14955:18:9","nodeType":"YulAssignment","src":"14955:18:9","value":{"name":"pos","nativeSrc":"14970:3:9","nodeType":"YulIdentifier","src":"14970:3:9"},"variableNames":[{"name":"updated_pos","nativeSrc":"14955:11:9","nodeType":"YulIdentifier","src":"14955:11:9"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nativeSrc":"14831:148:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"14917:3:9","nodeType":"YulTypedName","src":"14917:3:9","type":""},{"name":"length","nativeSrc":"14922:6:9","nodeType":"YulTypedName","src":"14922:6:9","type":""}],"returnVariables":[{"name":"updated_pos","nativeSrc":"14933:11:9","nodeType":"YulTypedName","src":"14933:11:9","type":""}],"src":"14831:148:9"},{"body":{"nativeSrc":"15129:210:9","nodeType":"YulBlock","src":"15129:210:9","statements":[{"nativeSrc":"15139:96:9","nodeType":"YulAssignment","src":"15139:96:9","value":{"arguments":[{"name":"pos","nativeSrc":"15223:3:9","nodeType":"YulIdentifier","src":"15223:3:9"},{"name":"length","nativeSrc":"15228:6:9","nodeType":"YulIdentifier","src":"15228:6:9"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nativeSrc":"15146:76:9","nodeType":"YulIdentifier","src":"15146:76:9"},"nativeSrc":"15146:89:9","nodeType":"YulFunctionCall","src":"15146:89:9"},"variableNames":[{"name":"pos","nativeSrc":"15139:3:9","nodeType":"YulIdentifier","src":"15139:3:9"}]},{"expression":{"arguments":[{"name":"start","nativeSrc":"15282:5:9","nodeType":"YulIdentifier","src":"15282:5:9"},{"name":"pos","nativeSrc":"15289:3:9","nodeType":"YulIdentifier","src":"15289:3:9"},{"name":"length","nativeSrc":"15294:6:9","nodeType":"YulIdentifier","src":"15294:6:9"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"15245:36:9","nodeType":"YulIdentifier","src":"15245:36:9"},"nativeSrc":"15245:56:9","nodeType":"YulFunctionCall","src":"15245:56:9"},"nativeSrc":"15245:56:9","nodeType":"YulExpressionStatement","src":"15245:56:9"},{"nativeSrc":"15310:23:9","nodeType":"YulAssignment","src":"15310:23:9","value":{"arguments":[{"name":"pos","nativeSrc":"15321:3:9","nodeType":"YulIdentifier","src":"15321:3:9"},{"name":"length","nativeSrc":"15326:6:9","nodeType":"YulIdentifier","src":"15326:6:9"}],"functionName":{"name":"add","nativeSrc":"15317:3:9","nodeType":"YulIdentifier","src":"15317:3:9"},"nativeSrc":"15317:16:9","nodeType":"YulFunctionCall","src":"15317:16:9"},"variableNames":[{"name":"end","nativeSrc":"15310:3:9","nodeType":"YulIdentifier","src":"15310:3:9"}]}]},"name":"abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nativeSrc":"15009:330:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nativeSrc":"15102:5:9","nodeType":"YulTypedName","src":"15102:5:9","type":""},{"name":"length","nativeSrc":"15109:6:9","nodeType":"YulTypedName","src":"15109:6:9","type":""},{"name":"pos","nativeSrc":"15117:3:9","nodeType":"YulTypedName","src":"15117:3:9","type":""}],"returnVariables":[{"name":"end","nativeSrc":"15125:3:9","nodeType":"YulTypedName","src":"15125:3:9","type":""}],"src":"15009:330:9"},{"body":{"nativeSrc":"15491:149:9","nodeType":"YulBlock","src":"15491:149:9","statements":[{"nativeSrc":"15502:112:9","nodeType":"YulAssignment","src":"15502:112:9","value":{"arguments":[{"name":"value0","nativeSrc":"15593:6:9","nodeType":"YulIdentifier","src":"15593:6:9"},{"name":"value1","nativeSrc":"15601:6:9","nodeType":"YulIdentifier","src":"15601:6:9"},{"name":"pos","nativeSrc":"15610:3:9","nodeType":"YulIdentifier","src":"15610:3:9"}],"functionName":{"name":"abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nativeSrc":"15509:83:9","nodeType":"YulIdentifier","src":"15509:83:9"},"nativeSrc":"15509:105:9","nodeType":"YulFunctionCall","src":"15509:105:9"},"variableNames":[{"name":"pos","nativeSrc":"15502:3:9","nodeType":"YulIdentifier","src":"15502:3:9"}]},{"nativeSrc":"15624:10:9","nodeType":"YulAssignment","src":"15624:10:9","value":{"name":"pos","nativeSrc":"15631:3:9","nodeType":"YulIdentifier","src":"15631:3:9"},"variableNames":[{"name":"end","nativeSrc":"15624:3:9","nodeType":"YulIdentifier","src":"15624:3:9"}]}]},"name":"abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nativeSrc":"15345:295:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"15462:3:9","nodeType":"YulTypedName","src":"15462:3:9","type":""},{"name":"value1","nativeSrc":"15468:6:9","nodeType":"YulTypedName","src":"15468:6:9","type":""},{"name":"value0","nativeSrc":"15476:6:9","nodeType":"YulTypedName","src":"15476:6:9","type":""}],"returnVariables":[{"name":"end","nativeSrc":"15487:3:9","nodeType":"YulTypedName","src":"15487:3:9","type":""}],"src":"15345:295:9"},{"body":{"nativeSrc":"15712:31:9","nodeType":"YulBlock","src":"15712:31:9","statements":[{"nativeSrc":"15723:13:9","nodeType":"YulAssignment","src":"15723:13:9","value":{"name":"len","nativeSrc":"15733:3:9","nodeType":"YulIdentifier","src":"15733:3:9"},"variableNames":[{"name":"length","nativeSrc":"15723:6:9","nodeType":"YulIdentifier","src":"15723:6:9"}]}]},"name":"array_length_t_string_calldata_ptr","nativeSrc":"15646:97:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"15690:5:9","nodeType":"YulTypedName","src":"15690:5:9","type":""},{"name":"len","nativeSrc":"15697:3:9","nodeType":"YulTypedName","src":"15697:3:9","type":""}],"returnVariables":[{"name":"length","nativeSrc":"15705:6:9","nodeType":"YulTypedName","src":"15705:6:9","type":""}],"src":"15646:97:9"},{"body":{"nativeSrc":"15777:152:9","nodeType":"YulBlock","src":"15777:152:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"15794:1:9","nodeType":"YulLiteral","src":"15794:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"15797:77:9","nodeType":"YulLiteral","src":"15797:77:9","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"15787:6:9","nodeType":"YulIdentifier","src":"15787:6:9"},"nativeSrc":"15787:88:9","nodeType":"YulFunctionCall","src":"15787:88:9"},"nativeSrc":"15787:88:9","nodeType":"YulExpressionStatement","src":"15787:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15891:1:9","nodeType":"YulLiteral","src":"15891:1:9","type":"","value":"4"},{"kind":"number","nativeSrc":"15894:4:9","nodeType":"YulLiteral","src":"15894:4:9","type":"","value":"0x22"}],"functionName":{"name":"mstore","nativeSrc":"15884:6:9","nodeType":"YulIdentifier","src":"15884:6:9"},"nativeSrc":"15884:15:9","nodeType":"YulFunctionCall","src":"15884:15:9"},"nativeSrc":"15884:15:9","nodeType":"YulExpressionStatement","src":"15884:15:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15915:1:9","nodeType":"YulLiteral","src":"15915:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"15918:4:9","nodeType":"YulLiteral","src":"15918:4:9","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"15908:6:9","nodeType":"YulIdentifier","src":"15908:6:9"},"nativeSrc":"15908:15:9","nodeType":"YulFunctionCall","src":"15908:15:9"},"nativeSrc":"15908:15:9","nodeType":"YulExpressionStatement","src":"15908:15:9"}]},"name":"panic_error_0x22","nativeSrc":"15749:180:9","nodeType":"YulFunctionDefinition","src":"15749:180:9"},{"body":{"nativeSrc":"15986:269:9","nodeType":"YulBlock","src":"15986:269:9","statements":[{"nativeSrc":"15996:22:9","nodeType":"YulAssignment","src":"15996:22:9","value":{"arguments":[{"name":"data","nativeSrc":"16010:4:9","nodeType":"YulIdentifier","src":"16010:4:9"},{"kind":"number","nativeSrc":"16016:1:9","nodeType":"YulLiteral","src":"16016:1:9","type":"","value":"2"}],"functionName":{"name":"div","nativeSrc":"16006:3:9","nodeType":"YulIdentifier","src":"16006:3:9"},"nativeSrc":"16006:12:9","nodeType":"YulFunctionCall","src":"16006:12:9"},"variableNames":[{"name":"length","nativeSrc":"15996:6:9","nodeType":"YulIdentifier","src":"15996:6:9"}]},{"nativeSrc":"16027:38:9","nodeType":"YulVariableDeclaration","src":"16027:38:9","value":{"arguments":[{"name":"data","nativeSrc":"16057:4:9","nodeType":"YulIdentifier","src":"16057:4:9"},{"kind":"number","nativeSrc":"16063:1:9","nodeType":"YulLiteral","src":"16063:1:9","type":"","value":"1"}],"functionName":{"name":"and","nativeSrc":"16053:3:9","nodeType":"YulIdentifier","src":"16053:3:9"},"nativeSrc":"16053:12:9","nodeType":"YulFunctionCall","src":"16053:12:9"},"variables":[{"name":"outOfPlaceEncoding","nativeSrc":"16031:18:9","nodeType":"YulTypedName","src":"16031:18:9","type":""}]},{"body":{"nativeSrc":"16104:51:9","nodeType":"YulBlock","src":"16104:51:9","statements":[{"nativeSrc":"16118:27:9","nodeType":"YulAssignment","src":"16118:27:9","value":{"arguments":[{"name":"length","nativeSrc":"16132:6:9","nodeType":"YulIdentifier","src":"16132:6:9"},{"kind":"number","nativeSrc":"16140:4:9","nodeType":"YulLiteral","src":"16140:4:9","type":"","value":"0x7f"}],"functionName":{"name":"and","nativeSrc":"16128:3:9","nodeType":"YulIdentifier","src":"16128:3:9"},"nativeSrc":"16128:17:9","nodeType":"YulFunctionCall","src":"16128:17:9"},"variableNames":[{"name":"length","nativeSrc":"16118:6:9","nodeType":"YulIdentifier","src":"16118:6:9"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nativeSrc":"16084:18:9","nodeType":"YulIdentifier","src":"16084:18:9"}],"functionName":{"name":"iszero","nativeSrc":"16077:6:9","nodeType":"YulIdentifier","src":"16077:6:9"},"nativeSrc":"16077:26:9","nodeType":"YulFunctionCall","src":"16077:26:9"},"nativeSrc":"16074:81:9","nodeType":"YulIf","src":"16074:81:9"},{"body":{"nativeSrc":"16207:42:9","nodeType":"YulBlock","src":"16207:42:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nativeSrc":"16221:16:9","nodeType":"YulIdentifier","src":"16221:16:9"},"nativeSrc":"16221:18:9","nodeType":"YulFunctionCall","src":"16221:18:9"},"nativeSrc":"16221:18:9","nodeType":"YulExpressionStatement","src":"16221:18:9"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nativeSrc":"16171:18:9","nodeType":"YulIdentifier","src":"16171:18:9"},{"arguments":[{"name":"length","nativeSrc":"16194:6:9","nodeType":"YulIdentifier","src":"16194:6:9"},{"kind":"number","nativeSrc":"16202:2:9","nodeType":"YulLiteral","src":"16202:2:9","type":"","value":"32"}],"functionName":{"name":"lt","nativeSrc":"16191:2:9","nodeType":"YulIdentifier","src":"16191:2:9"},"nativeSrc":"16191:14:9","nodeType":"YulFunctionCall","src":"16191:14:9"}],"functionName":{"name":"eq","nativeSrc":"16168:2:9","nodeType":"YulIdentifier","src":"16168:2:9"},"nativeSrc":"16168:38:9","nodeType":"YulFunctionCall","src":"16168:38:9"},"nativeSrc":"16165:84:9","nodeType":"YulIf","src":"16165:84:9"}]},"name":"extract_byte_array_length","nativeSrc":"15935:320:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nativeSrc":"15970:4:9","nodeType":"YulTypedName","src":"15970:4:9","type":""}],"returnVariables":[{"name":"length","nativeSrc":"15979:6:9","nodeType":"YulTypedName","src":"15979:6:9","type":""}],"src":"15935:320:9"},{"body":{"nativeSrc":"16315:87:9","nodeType":"YulBlock","src":"16315:87:9","statements":[{"nativeSrc":"16325:11:9","nodeType":"YulAssignment","src":"16325:11:9","value":{"name":"ptr","nativeSrc":"16333:3:9","nodeType":"YulIdentifier","src":"16333:3:9"},"variableNames":[{"name":"data","nativeSrc":"16325:4:9","nodeType":"YulIdentifier","src":"16325:4:9"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16353:1:9","nodeType":"YulLiteral","src":"16353:1:9","type":"","value":"0"},{"name":"ptr","nativeSrc":"16356:3:9","nodeType":"YulIdentifier","src":"16356:3:9"}],"functionName":{"name":"mstore","nativeSrc":"16346:6:9","nodeType":"YulIdentifier","src":"16346:6:9"},"nativeSrc":"16346:14:9","nodeType":"YulFunctionCall","src":"16346:14:9"},"nativeSrc":"16346:14:9","nodeType":"YulExpressionStatement","src":"16346:14:9"},{"nativeSrc":"16369:26:9","nodeType":"YulAssignment","src":"16369:26:9","value":{"arguments":[{"kind":"number","nativeSrc":"16387:1:9","nodeType":"YulLiteral","src":"16387:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"16390:4:9","nodeType":"YulLiteral","src":"16390:4:9","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nativeSrc":"16377:9:9","nodeType":"YulIdentifier","src":"16377:9:9"},"nativeSrc":"16377:18:9","nodeType":"YulFunctionCall","src":"16377:18:9"},"variableNames":[{"name":"data","nativeSrc":"16369:4:9","nodeType":"YulIdentifier","src":"16369:4:9"}]}]},"name":"array_dataslot_t_string_storage","nativeSrc":"16261:141:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nativeSrc":"16302:3:9","nodeType":"YulTypedName","src":"16302:3:9","type":""}],"returnVariables":[{"name":"data","nativeSrc":"16310:4:9","nodeType":"YulTypedName","src":"16310:4:9","type":""}],"src":"16261:141:9"},{"body":{"nativeSrc":"16452:49:9","nodeType":"YulBlock","src":"16452:49:9","statements":[{"nativeSrc":"16462:33:9","nodeType":"YulAssignment","src":"16462:33:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"16480:5:9","nodeType":"YulIdentifier","src":"16480:5:9"},{"kind":"number","nativeSrc":"16487:2:9","nodeType":"YulLiteral","src":"16487:2:9","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"16476:3:9","nodeType":"YulIdentifier","src":"16476:3:9"},"nativeSrc":"16476:14:9","nodeType":"YulFunctionCall","src":"16476:14:9"},{"kind":"number","nativeSrc":"16492:2:9","nodeType":"YulLiteral","src":"16492:2:9","type":"","value":"32"}],"functionName":{"name":"div","nativeSrc":"16472:3:9","nodeType":"YulIdentifier","src":"16472:3:9"},"nativeSrc":"16472:23:9","nodeType":"YulFunctionCall","src":"16472:23:9"},"variableNames":[{"name":"result","nativeSrc":"16462:6:9","nodeType":"YulIdentifier","src":"16462:6:9"}]}]},"name":"divide_by_32_ceil","nativeSrc":"16408:93:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"16435:5:9","nodeType":"YulTypedName","src":"16435:5:9","type":""}],"returnVariables":[{"name":"result","nativeSrc":"16445:6:9","nodeType":"YulTypedName","src":"16445:6:9","type":""}],"src":"16408:93:9"},{"body":{"nativeSrc":"16560:54:9","nodeType":"YulBlock","src":"16560:54:9","statements":[{"nativeSrc":"16570:37:9","nodeType":"YulAssignment","src":"16570:37:9","value":{"arguments":[{"name":"bits","nativeSrc":"16595:4:9","nodeType":"YulIdentifier","src":"16595:4:9"},{"name":"value","nativeSrc":"16601:5:9","nodeType":"YulIdentifier","src":"16601:5:9"}],"functionName":{"name":"shl","nativeSrc":"16591:3:9","nodeType":"YulIdentifier","src":"16591:3:9"},"nativeSrc":"16591:16:9","nodeType":"YulFunctionCall","src":"16591:16:9"},"variableNames":[{"name":"newValue","nativeSrc":"16570:8:9","nodeType":"YulIdentifier","src":"16570:8:9"}]}]},"name":"shift_left_dynamic","nativeSrc":"16507:107:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nativeSrc":"16535:4:9","nodeType":"YulTypedName","src":"16535:4:9","type":""},{"name":"value","nativeSrc":"16541:5:9","nodeType":"YulTypedName","src":"16541:5:9","type":""}],"returnVariables":[{"name":"newValue","nativeSrc":"16551:8:9","nodeType":"YulTypedName","src":"16551:8:9","type":""}],"src":"16507:107:9"},{"body":{"nativeSrc":"16696:317:9","nodeType":"YulBlock","src":"16696:317:9","statements":[{"nativeSrc":"16706:35:9","nodeType":"YulVariableDeclaration","src":"16706:35:9","value":{"arguments":[{"name":"shiftBytes","nativeSrc":"16727:10:9","nodeType":"YulIdentifier","src":"16727:10:9"},{"kind":"number","nativeSrc":"16739:1:9","nodeType":"YulLiteral","src":"16739:1:9","type":"","value":"8"}],"functionName":{"name":"mul","nativeSrc":"16723:3:9","nodeType":"YulIdentifier","src":"16723:3:9"},"nativeSrc":"16723:18:9","nodeType":"YulFunctionCall","src":"16723:18:9"},"variables":[{"name":"shiftBits","nativeSrc":"16710:9:9","nodeType":"YulTypedName","src":"16710:9:9","type":""}]},{"nativeSrc":"16750:109:9","nodeType":"YulVariableDeclaration","src":"16750:109:9","value":{"arguments":[{"name":"shiftBits","nativeSrc":"16781:9:9","nodeType":"YulIdentifier","src":"16781:9:9"},{"kind":"number","nativeSrc":"16792:66:9","nodeType":"YulLiteral","src":"16792:66:9","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"shift_left_dynamic","nativeSrc":"16762:18:9","nodeType":"YulIdentifier","src":"16762:18:9"},"nativeSrc":"16762:97:9","nodeType":"YulFunctionCall","src":"16762:97:9"},"variables":[{"name":"mask","nativeSrc":"16754:4:9","nodeType":"YulTypedName","src":"16754:4:9","type":""}]},{"nativeSrc":"16868:51:9","nodeType":"YulAssignment","src":"16868:51:9","value":{"arguments":[{"name":"shiftBits","nativeSrc":"16899:9:9","nodeType":"YulIdentifier","src":"16899:9:9"},{"name":"toInsert","nativeSrc":"16910:8:9","nodeType":"YulIdentifier","src":"16910:8:9"}],"functionName":{"name":"shift_left_dynamic","nativeSrc":"16880:18:9","nodeType":"YulIdentifier","src":"16880:18:9"},"nativeSrc":"16880:39:9","nodeType":"YulFunctionCall","src":"16880:39:9"},"variableNames":[{"name":"toInsert","nativeSrc":"16868:8:9","nodeType":"YulIdentifier","src":"16868:8:9"}]},{"nativeSrc":"16928:30:9","nodeType":"YulAssignment","src":"16928:30:9","value":{"arguments":[{"name":"value","nativeSrc":"16941:5:9","nodeType":"YulIdentifier","src":"16941:5:9"},{"arguments":[{"name":"mask","nativeSrc":"16952:4:9","nodeType":"YulIdentifier","src":"16952:4:9"}],"functionName":{"name":"not","nativeSrc":"16948:3:9","nodeType":"YulIdentifier","src":"16948:3:9"},"nativeSrc":"16948:9:9","nodeType":"YulFunctionCall","src":"16948:9:9"}],"functionName":{"name":"and","nativeSrc":"16937:3:9","nodeType":"YulIdentifier","src":"16937:3:9"},"nativeSrc":"16937:21:9","nodeType":"YulFunctionCall","src":"16937:21:9"},"variableNames":[{"name":"value","nativeSrc":"16928:5:9","nodeType":"YulIdentifier","src":"16928:5:9"}]},{"nativeSrc":"16967:40:9","nodeType":"YulAssignment","src":"16967:40:9","value":{"arguments":[{"name":"value","nativeSrc":"16980:5:9","nodeType":"YulIdentifier","src":"16980:5:9"},{"arguments":[{"name":"toInsert","nativeSrc":"16991:8:9","nodeType":"YulIdentifier","src":"16991:8:9"},{"name":"mask","nativeSrc":"17001:4:9","nodeType":"YulIdentifier","src":"17001:4:9"}],"functionName":{"name":"and","nativeSrc":"16987:3:9","nodeType":"YulIdentifier","src":"16987:3:9"},"nativeSrc":"16987:19:9","nodeType":"YulFunctionCall","src":"16987:19:9"}],"functionName":{"name":"or","nativeSrc":"16977:2:9","nodeType":"YulIdentifier","src":"16977:2:9"},"nativeSrc":"16977:30:9","nodeType":"YulFunctionCall","src":"16977:30:9"},"variableNames":[{"name":"result","nativeSrc":"16967:6:9","nodeType":"YulIdentifier","src":"16967:6:9"}]}]},"name":"update_byte_slice_dynamic32","nativeSrc":"16620:393:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"16657:5:9","nodeType":"YulTypedName","src":"16657:5:9","type":""},{"name":"shiftBytes","nativeSrc":"16664:10:9","nodeType":"YulTypedName","src":"16664:10:9","type":""},{"name":"toInsert","nativeSrc":"16676:8:9","nodeType":"YulTypedName","src":"16676:8:9","type":""}],"returnVariables":[{"name":"result","nativeSrc":"16689:6:9","nodeType":"YulTypedName","src":"16689:6:9","type":""}],"src":"16620:393:9"},{"body":{"nativeSrc":"17064:32:9","nodeType":"YulBlock","src":"17064:32:9","statements":[{"nativeSrc":"17074:16:9","nodeType":"YulAssignment","src":"17074:16:9","value":{"name":"value","nativeSrc":"17085:5:9","nodeType":"YulIdentifier","src":"17085:5:9"},"variableNames":[{"name":"cleaned","nativeSrc":"17074:7:9","nodeType":"YulIdentifier","src":"17074:7:9"}]}]},"name":"cleanup_t_uint256","nativeSrc":"17019:77:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"17046:5:9","nodeType":"YulTypedName","src":"17046:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"17056:7:9","nodeType":"YulTypedName","src":"17056:7:9","type":""}],"src":"17019:77:9"},{"body":{"nativeSrc":"17134:28:9","nodeType":"YulBlock","src":"17134:28:9","statements":[{"nativeSrc":"17144:12:9","nodeType":"YulAssignment","src":"17144:12:9","value":{"name":"value","nativeSrc":"17151:5:9","nodeType":"YulIdentifier","src":"17151:5:9"},"variableNames":[{"name":"ret","nativeSrc":"17144:3:9","nodeType":"YulIdentifier","src":"17144:3:9"}]}]},"name":"identity","nativeSrc":"17102:60:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"17120:5:9","nodeType":"YulTypedName","src":"17120:5:9","type":""}],"returnVariables":[{"name":"ret","nativeSrc":"17130:3:9","nodeType":"YulTypedName","src":"17130:3:9","type":""}],"src":"17102:60:9"},{"body":{"nativeSrc":"17228:82:9","nodeType":"YulBlock","src":"17228:82:9","statements":[{"nativeSrc":"17238:66:9","nodeType":"YulAssignment","src":"17238:66:9","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nativeSrc":"17296:5:9","nodeType":"YulIdentifier","src":"17296:5:9"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"17278:17:9","nodeType":"YulIdentifier","src":"17278:17:9"},"nativeSrc":"17278:24:9","nodeType":"YulFunctionCall","src":"17278:24:9"}],"functionName":{"name":"identity","nativeSrc":"17269:8:9","nodeType":"YulIdentifier","src":"17269:8:9"},"nativeSrc":"17269:34:9","nodeType":"YulFunctionCall","src":"17269:34:9"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"17251:17:9","nodeType":"YulIdentifier","src":"17251:17:9"},"nativeSrc":"17251:53:9","nodeType":"YulFunctionCall","src":"17251:53:9"},"variableNames":[{"name":"converted","nativeSrc":"17238:9:9","nodeType":"YulIdentifier","src":"17238:9:9"}]}]},"name":"convert_t_uint256_to_t_uint256","nativeSrc":"17168:142:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"17208:5:9","nodeType":"YulTypedName","src":"17208:5:9","type":""}],"returnVariables":[{"name":"converted","nativeSrc":"17218:9:9","nodeType":"YulTypedName","src":"17218:9:9","type":""}],"src":"17168:142:9"},{"body":{"nativeSrc":"17363:28:9","nodeType":"YulBlock","src":"17363:28:9","statements":[{"nativeSrc":"17373:12:9","nodeType":"YulAssignment","src":"17373:12:9","value":{"name":"value","nativeSrc":"17380:5:9","nodeType":"YulIdentifier","src":"17380:5:9"},"variableNames":[{"name":"ret","nativeSrc":"17373:3:9","nodeType":"YulIdentifier","src":"17373:3:9"}]}]},"name":"prepare_store_t_uint256","nativeSrc":"17316:75:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"17349:5:9","nodeType":"YulTypedName","src":"17349:5:9","type":""}],"returnVariables":[{"name":"ret","nativeSrc":"17359:3:9","nodeType":"YulTypedName","src":"17359:3:9","type":""}],"src":"17316:75:9"},{"body":{"nativeSrc":"17473:193:9","nodeType":"YulBlock","src":"17473:193:9","statements":[{"nativeSrc":"17483:63:9","nodeType":"YulVariableDeclaration","src":"17483:63:9","value":{"arguments":[{"name":"value_0","nativeSrc":"17538:7:9","nodeType":"YulIdentifier","src":"17538:7:9"}],"functionName":{"name":"convert_t_uint256_to_t_uint256","nativeSrc":"17507:30:9","nodeType":"YulIdentifier","src":"17507:30:9"},"nativeSrc":"17507:39:9","nodeType":"YulFunctionCall","src":"17507:39:9"},"variables":[{"name":"convertedValue_0","nativeSrc":"17487:16:9","nodeType":"YulTypedName","src":"17487:16:9","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"17562:4:9","nodeType":"YulIdentifier","src":"17562:4:9"},{"arguments":[{"arguments":[{"name":"slot","nativeSrc":"17602:4:9","nodeType":"YulIdentifier","src":"17602:4:9"}],"functionName":{"name":"sload","nativeSrc":"17596:5:9","nodeType":"YulIdentifier","src":"17596:5:9"},"nativeSrc":"17596:11:9","nodeType":"YulFunctionCall","src":"17596:11:9"},{"name":"offset","nativeSrc":"17609:6:9","nodeType":"YulIdentifier","src":"17609:6:9"},{"arguments":[{"name":"convertedValue_0","nativeSrc":"17641:16:9","nodeType":"YulIdentifier","src":"17641:16:9"}],"functionName":{"name":"prepare_store_t_uint256","nativeSrc":"17617:23:9","nodeType":"YulIdentifier","src":"17617:23:9"},"nativeSrc":"17617:41:9","nodeType":"YulFunctionCall","src":"17617:41:9"}],"functionName":{"name":"update_byte_slice_dynamic32","nativeSrc":"17568:27:9","nodeType":"YulIdentifier","src":"17568:27:9"},"nativeSrc":"17568:91:9","nodeType":"YulFunctionCall","src":"17568:91:9"}],"functionName":{"name":"sstore","nativeSrc":"17555:6:9","nodeType":"YulIdentifier","src":"17555:6:9"},"nativeSrc":"17555:105:9","nodeType":"YulFunctionCall","src":"17555:105:9"},"nativeSrc":"17555:105:9","nodeType":"YulExpressionStatement","src":"17555:105:9"}]},"name":"update_storage_value_t_uint256_to_t_uint256","nativeSrc":"17397:269:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nativeSrc":"17450:4:9","nodeType":"YulTypedName","src":"17450:4:9","type":""},{"name":"offset","nativeSrc":"17456:6:9","nodeType":"YulTypedName","src":"17456:6:9","type":""},{"name":"value_0","nativeSrc":"17464:7:9","nodeType":"YulTypedName","src":"17464:7:9","type":""}],"src":"17397:269:9"},{"body":{"nativeSrc":"17721:24:9","nodeType":"YulBlock","src":"17721:24:9","statements":[{"nativeSrc":"17731:8:9","nodeType":"YulAssignment","src":"17731:8:9","value":{"kind":"number","nativeSrc":"17738:1:9","nodeType":"YulLiteral","src":"17738:1:9","type":"","value":"0"},"variableNames":[{"name":"ret","nativeSrc":"17731:3:9","nodeType":"YulIdentifier","src":"17731:3:9"}]}]},"name":"zero_value_for_split_t_uint256","nativeSrc":"17672:73:9","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"ret","nativeSrc":"17717:3:9","nodeType":"YulTypedName","src":"17717:3:9","type":""}],"src":"17672:73:9"},{"body":{"nativeSrc":"17804:136:9","nodeType":"YulBlock","src":"17804:136:9","statements":[{"nativeSrc":"17814:46:9","nodeType":"YulVariableDeclaration","src":"17814:46:9","value":{"arguments":[],"functionName":{"name":"zero_value_for_split_t_uint256","nativeSrc":"17828:30:9","nodeType":"YulIdentifier","src":"17828:30:9"},"nativeSrc":"17828:32:9","nodeType":"YulFunctionCall","src":"17828:32:9"},"variables":[{"name":"zero_0","nativeSrc":"17818:6:9","nodeType":"YulTypedName","src":"17818:6:9","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"17913:4:9","nodeType":"YulIdentifier","src":"17913:4:9"},{"name":"offset","nativeSrc":"17919:6:9","nodeType":"YulIdentifier","src":"17919:6:9"},{"name":"zero_0","nativeSrc":"17927:6:9","nodeType":"YulIdentifier","src":"17927:6:9"}],"functionName":{"name":"update_storage_value_t_uint256_to_t_uint256","nativeSrc":"17869:43:9","nodeType":"YulIdentifier","src":"17869:43:9"},"nativeSrc":"17869:65:9","nodeType":"YulFunctionCall","src":"17869:65:9"},"nativeSrc":"17869:65:9","nodeType":"YulExpressionStatement","src":"17869:65:9"}]},"name":"storage_set_to_zero_t_uint256","nativeSrc":"17751:189:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nativeSrc":"17790:4:9","nodeType":"YulTypedName","src":"17790:4:9","type":""},{"name":"offset","nativeSrc":"17796:6:9","nodeType":"YulTypedName","src":"17796:6:9","type":""}],"src":"17751:189:9"},{"body":{"nativeSrc":"17996:136:9","nodeType":"YulBlock","src":"17996:136:9","statements":[{"body":{"nativeSrc":"18063:63:9","nodeType":"YulBlock","src":"18063:63:9","statements":[{"expression":{"arguments":[{"name":"start","nativeSrc":"18107:5:9","nodeType":"YulIdentifier","src":"18107:5:9"},{"kind":"number","nativeSrc":"18114:1:9","nodeType":"YulLiteral","src":"18114:1:9","type":"","value":"0"}],"functionName":{"name":"storage_set_to_zero_t_uint256","nativeSrc":"18077:29:9","nodeType":"YulIdentifier","src":"18077:29:9"},"nativeSrc":"18077:39:9","nodeType":"YulFunctionCall","src":"18077:39:9"},"nativeSrc":"18077:39:9","nodeType":"YulExpressionStatement","src":"18077:39:9"}]},"condition":{"arguments":[{"name":"start","nativeSrc":"18016:5:9","nodeType":"YulIdentifier","src":"18016:5:9"},{"name":"end","nativeSrc":"18023:3:9","nodeType":"YulIdentifier","src":"18023:3:9"}],"functionName":{"name":"lt","nativeSrc":"18013:2:9","nodeType":"YulIdentifier","src":"18013:2:9"},"nativeSrc":"18013:14:9","nodeType":"YulFunctionCall","src":"18013:14:9"},"nativeSrc":"18006:120:9","nodeType":"YulForLoop","post":{"nativeSrc":"18028:26:9","nodeType":"YulBlock","src":"18028:26:9","statements":[{"nativeSrc":"18030:22:9","nodeType":"YulAssignment","src":"18030:22:9","value":{"arguments":[{"name":"start","nativeSrc":"18043:5:9","nodeType":"YulIdentifier","src":"18043:5:9"},{"kind":"number","nativeSrc":"18050:1:9","nodeType":"YulLiteral","src":"18050:1:9","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"18039:3:9","nodeType":"YulIdentifier","src":"18039:3:9"},"nativeSrc":"18039:13:9","nodeType":"YulFunctionCall","src":"18039:13:9"},"variableNames":[{"name":"start","nativeSrc":"18030:5:9","nodeType":"YulIdentifier","src":"18030:5:9"}]}]},"pre":{"nativeSrc":"18010:2:9","nodeType":"YulBlock","src":"18010:2:9","statements":[]},"src":"18006:120:9"}]},"name":"clear_storage_range_t_bytes1","nativeSrc":"17946:186:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nativeSrc":"17984:5:9","nodeType":"YulTypedName","src":"17984:5:9","type":""},{"name":"end","nativeSrc":"17991:3:9","nodeType":"YulTypedName","src":"17991:3:9","type":""}],"src":"17946:186:9"},{"body":{"nativeSrc":"18217:464:9","nodeType":"YulBlock","src":"18217:464:9","statements":[{"body":{"nativeSrc":"18243:431:9","nodeType":"YulBlock","src":"18243:431:9","statements":[{"nativeSrc":"18257:54:9","nodeType":"YulVariableDeclaration","src":"18257:54:9","value":{"arguments":[{"name":"array","nativeSrc":"18305:5:9","nodeType":"YulIdentifier","src":"18305:5:9"}],"functionName":{"name":"array_dataslot_t_string_storage","nativeSrc":"18273:31:9","nodeType":"YulIdentifier","src":"18273:31:9"},"nativeSrc":"18273:38:9","nodeType":"YulFunctionCall","src":"18273:38:9"},"variables":[{"name":"dataArea","nativeSrc":"18261:8:9","nodeType":"YulTypedName","src":"18261:8:9","type":""}]},{"nativeSrc":"18324:63:9","nodeType":"YulVariableDeclaration","src":"18324:63:9","value":{"arguments":[{"name":"dataArea","nativeSrc":"18347:8:9","nodeType":"YulIdentifier","src":"18347:8:9"},{"arguments":[{"name":"startIndex","nativeSrc":"18375:10:9","nodeType":"YulIdentifier","src":"18375:10:9"}],"functionName":{"name":"divide_by_32_ceil","nativeSrc":"18357:17:9","nodeType":"YulIdentifier","src":"18357:17:9"},"nativeSrc":"18357:29:9","nodeType":"YulFunctionCall","src":"18357:29:9"}],"functionName":{"name":"add","nativeSrc":"18343:3:9","nodeType":"YulIdentifier","src":"18343:3:9"},"nativeSrc":"18343:44:9","nodeType":"YulFunctionCall","src":"18343:44:9"},"variables":[{"name":"deleteStart","nativeSrc":"18328:11:9","nodeType":"YulTypedName","src":"18328:11:9","type":""}]},{"body":{"nativeSrc":"18544:27:9","nodeType":"YulBlock","src":"18544:27:9","statements":[{"nativeSrc":"18546:23:9","nodeType":"YulAssignment","src":"18546:23:9","value":{"name":"dataArea","nativeSrc":"18561:8:9","nodeType":"YulIdentifier","src":"18561:8:9"},"variableNames":[{"name":"deleteStart","nativeSrc":"18546:11:9","nodeType":"YulIdentifier","src":"18546:11:9"}]}]},"condition":{"arguments":[{"name":"startIndex","nativeSrc":"18528:10:9","nodeType":"YulIdentifier","src":"18528:10:9"},{"kind":"number","nativeSrc":"18540:2:9","nodeType":"YulLiteral","src":"18540:2:9","type":"","value":"32"}],"functionName":{"name":"lt","nativeSrc":"18525:2:9","nodeType":"YulIdentifier","src":"18525:2:9"},"nativeSrc":"18525:18:9","nodeType":"YulFunctionCall","src":"18525:18:9"},"nativeSrc":"18522:49:9","nodeType":"YulIf","src":"18522:49:9"},{"expression":{"arguments":[{"name":"deleteStart","nativeSrc":"18613:11:9","nodeType":"YulIdentifier","src":"18613:11:9"},{"arguments":[{"name":"dataArea","nativeSrc":"18630:8:9","nodeType":"YulIdentifier","src":"18630:8:9"},{"arguments":[{"name":"len","nativeSrc":"18658:3:9","nodeType":"YulIdentifier","src":"18658:3:9"}],"functionName":{"name":"divide_by_32_ceil","nativeSrc":"18640:17:9","nodeType":"YulIdentifier","src":"18640:17:9"},"nativeSrc":"18640:22:9","nodeType":"YulFunctionCall","src":"18640:22:9"}],"functionName":{"name":"add","nativeSrc":"18626:3:9","nodeType":"YulIdentifier","src":"18626:3:9"},"nativeSrc":"18626:37:9","nodeType":"YulFunctionCall","src":"18626:37:9"}],"functionName":{"name":"clear_storage_range_t_bytes1","nativeSrc":"18584:28:9","nodeType":"YulIdentifier","src":"18584:28:9"},"nativeSrc":"18584:80:9","nodeType":"YulFunctionCall","src":"18584:80:9"},"nativeSrc":"18584:80:9","nodeType":"YulExpressionStatement","src":"18584:80:9"}]},"condition":{"arguments":[{"name":"len","nativeSrc":"18234:3:9","nodeType":"YulIdentifier","src":"18234:3:9"},{"kind":"number","nativeSrc":"18239:2:9","nodeType":"YulLiteral","src":"18239:2:9","type":"","value":"31"}],"functionName":{"name":"gt","nativeSrc":"18231:2:9","nodeType":"YulIdentifier","src":"18231:2:9"},"nativeSrc":"18231:11:9","nodeType":"YulFunctionCall","src":"18231:11:9"},"nativeSrc":"18228:446:9","nodeType":"YulIf","src":"18228:446:9"}]},"name":"clean_up_bytearray_end_slots_t_string_storage","nativeSrc":"18138:543:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nativeSrc":"18193:5:9","nodeType":"YulTypedName","src":"18193:5:9","type":""},{"name":"len","nativeSrc":"18200:3:9","nodeType":"YulTypedName","src":"18200:3:9","type":""},{"name":"startIndex","nativeSrc":"18205:10:9","nodeType":"YulTypedName","src":"18205:10:9","type":""}],"src":"18138:543:9"},{"body":{"nativeSrc":"18750:54:9","nodeType":"YulBlock","src":"18750:54:9","statements":[{"nativeSrc":"18760:37:9","nodeType":"YulAssignment","src":"18760:37:9","value":{"arguments":[{"name":"bits","nativeSrc":"18785:4:9","nodeType":"YulIdentifier","src":"18785:4:9"},{"name":"value","nativeSrc":"18791:5:9","nodeType":"YulIdentifier","src":"18791:5:9"}],"functionName":{"name":"shr","nativeSrc":"18781:3:9","nodeType":"YulIdentifier","src":"18781:3:9"},"nativeSrc":"18781:16:9","nodeType":"YulFunctionCall","src":"18781:16:9"},"variableNames":[{"name":"newValue","nativeSrc":"18760:8:9","nodeType":"YulIdentifier","src":"18760:8:9"}]}]},"name":"shift_right_unsigned_dynamic","nativeSrc":"18687:117:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nativeSrc":"18725:4:9","nodeType":"YulTypedName","src":"18725:4:9","type":""},{"name":"value","nativeSrc":"18731:5:9","nodeType":"YulTypedName","src":"18731:5:9","type":""}],"returnVariables":[{"name":"newValue","nativeSrc":"18741:8:9","nodeType":"YulTypedName","src":"18741:8:9","type":""}],"src":"18687:117:9"},{"body":{"nativeSrc":"18861:118:9","nodeType":"YulBlock","src":"18861:118:9","statements":[{"nativeSrc":"18871:68:9","nodeType":"YulVariableDeclaration","src":"18871:68:9","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"18920:1:9","nodeType":"YulLiteral","src":"18920:1:9","type":"","value":"8"},{"name":"bytes","nativeSrc":"18923:5:9","nodeType":"YulIdentifier","src":"18923:5:9"}],"functionName":{"name":"mul","nativeSrc":"18916:3:9","nodeType":"YulIdentifier","src":"18916:3:9"},"nativeSrc":"18916:13:9","nodeType":"YulFunctionCall","src":"18916:13:9"},{"arguments":[{"kind":"number","nativeSrc":"18935:1:9","nodeType":"YulLiteral","src":"18935:1:9","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"18931:3:9","nodeType":"YulIdentifier","src":"18931:3:9"},"nativeSrc":"18931:6:9","nodeType":"YulFunctionCall","src":"18931:6:9"}],"functionName":{"name":"shift_right_unsigned_dynamic","nativeSrc":"18887:28:9","nodeType":"YulIdentifier","src":"18887:28:9"},"nativeSrc":"18887:51:9","nodeType":"YulFunctionCall","src":"18887:51:9"}],"functionName":{"name":"not","nativeSrc":"18883:3:9","nodeType":"YulIdentifier","src":"18883:3:9"},"nativeSrc":"18883:56:9","nodeType":"YulFunctionCall","src":"18883:56:9"},"variables":[{"name":"mask","nativeSrc":"18875:4:9","nodeType":"YulTypedName","src":"18875:4:9","type":""}]},{"nativeSrc":"18948:25:9","nodeType":"YulAssignment","src":"18948:25:9","value":{"arguments":[{"name":"data","nativeSrc":"18962:4:9","nodeType":"YulIdentifier","src":"18962:4:9"},{"name":"mask","nativeSrc":"18968:4:9","nodeType":"YulIdentifier","src":"18968:4:9"}],"functionName":{"name":"and","nativeSrc":"18958:3:9","nodeType":"YulIdentifier","src":"18958:3:9"},"nativeSrc":"18958:15:9","nodeType":"YulFunctionCall","src":"18958:15:9"},"variableNames":[{"name":"result","nativeSrc":"18948:6:9","nodeType":"YulIdentifier","src":"18948:6:9"}]}]},"name":"mask_bytes_dynamic","nativeSrc":"18810:169:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nativeSrc":"18838:4:9","nodeType":"YulTypedName","src":"18838:4:9","type":""},{"name":"bytes","nativeSrc":"18844:5:9","nodeType":"YulTypedName","src":"18844:5:9","type":""}],"returnVariables":[{"name":"result","nativeSrc":"18854:6:9","nodeType":"YulTypedName","src":"18854:6:9","type":""}],"src":"18810:169:9"},{"body":{"nativeSrc":"19065:214:9","nodeType":"YulBlock","src":"19065:214:9","statements":[{"nativeSrc":"19198:37:9","nodeType":"YulAssignment","src":"19198:37:9","value":{"arguments":[{"name":"data","nativeSrc":"19225:4:9","nodeType":"YulIdentifier","src":"19225:4:9"},{"name":"len","nativeSrc":"19231:3:9","nodeType":"YulIdentifier","src":"19231:3:9"}],"functionName":{"name":"mask_bytes_dynamic","nativeSrc":"19206:18:9","nodeType":"YulIdentifier","src":"19206:18:9"},"nativeSrc":"19206:29:9","nodeType":"YulFunctionCall","src":"19206:29:9"},"variableNames":[{"name":"data","nativeSrc":"19198:4:9","nodeType":"YulIdentifier","src":"19198:4:9"}]},{"nativeSrc":"19244:29:9","nodeType":"YulAssignment","src":"19244:29:9","value":{"arguments":[{"name":"data","nativeSrc":"19255:4:9","nodeType":"YulIdentifier","src":"19255:4:9"},{"arguments":[{"kind":"number","nativeSrc":"19265:1:9","nodeType":"YulLiteral","src":"19265:1:9","type":"","value":"2"},{"name":"len","nativeSrc":"19268:3:9","nodeType":"YulIdentifier","src":"19268:3:9"}],"functionName":{"name":"mul","nativeSrc":"19261:3:9","nodeType":"YulIdentifier","src":"19261:3:9"},"nativeSrc":"19261:11:9","nodeType":"YulFunctionCall","src":"19261:11:9"}],"functionName":{"name":"or","nativeSrc":"19252:2:9","nodeType":"YulIdentifier","src":"19252:2:9"},"nativeSrc":"19252:21:9","nodeType":"YulFunctionCall","src":"19252:21:9"},"variableNames":[{"name":"used","nativeSrc":"19244:4:9","nodeType":"YulIdentifier","src":"19244:4:9"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nativeSrc":"18984:295:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nativeSrc":"19046:4:9","nodeType":"YulTypedName","src":"19046:4:9","type":""},{"name":"len","nativeSrc":"19052:3:9","nodeType":"YulTypedName","src":"19052:3:9","type":""}],"returnVariables":[{"name":"used","nativeSrc":"19060:4:9","nodeType":"YulTypedName","src":"19060:4:9","type":""}],"src":"18984:295:9"},{"body":{"nativeSrc":"19383:1304:9","nodeType":"YulBlock","src":"19383:1304:9","statements":[{"nativeSrc":"19394:58:9","nodeType":"YulVariableDeclaration","src":"19394:58:9","value":{"arguments":[{"name":"src","nativeSrc":"19443:3:9","nodeType":"YulIdentifier","src":"19443:3:9"},{"name":"len","nativeSrc":"19448:3:9","nodeType":"YulIdentifier","src":"19448:3:9"}],"functionName":{"name":"array_length_t_string_calldata_ptr","nativeSrc":"19408:34:9","nodeType":"YulIdentifier","src":"19408:34:9"},"nativeSrc":"19408:44:9","nodeType":"YulFunctionCall","src":"19408:44:9"},"variables":[{"name":"newLen","nativeSrc":"19398:6:9","nodeType":"YulTypedName","src":"19398:6:9","type":""}]},{"body":{"nativeSrc":"19537:22:9","nodeType":"YulBlock","src":"19537:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"19539:16:9","nodeType":"YulIdentifier","src":"19539:16:9"},"nativeSrc":"19539:18:9","nodeType":"YulFunctionCall","src":"19539:18:9"},"nativeSrc":"19539:18:9","nodeType":"YulExpressionStatement","src":"19539:18:9"}]},"condition":{"arguments":[{"name":"newLen","nativeSrc":"19509:6:9","nodeType":"YulIdentifier","src":"19509:6:9"},{"kind":"number","nativeSrc":"19517:18:9","nodeType":"YulLiteral","src":"19517:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"19506:2:9","nodeType":"YulIdentifier","src":"19506:2:9"},"nativeSrc":"19506:30:9","nodeType":"YulFunctionCall","src":"19506:30:9"},"nativeSrc":"19503:56:9","nodeType":"YulIf","src":"19503:56:9"},{"nativeSrc":"19569:52:9","nodeType":"YulVariableDeclaration","src":"19569:52:9","value":{"arguments":[{"arguments":[{"name":"slot","nativeSrc":"19615:4:9","nodeType":"YulIdentifier","src":"19615:4:9"}],"functionName":{"name":"sload","nativeSrc":"19609:5:9","nodeType":"YulIdentifier","src":"19609:5:9"},"nativeSrc":"19609:11:9","nodeType":"YulFunctionCall","src":"19609:11:9"}],"functionName":{"name":"extract_byte_array_length","nativeSrc":"19583:25:9","nodeType":"YulIdentifier","src":"19583:25:9"},"nativeSrc":"19583:38:9","nodeType":"YulFunctionCall","src":"19583:38:9"},"variables":[{"name":"oldLen","nativeSrc":"19573:6:9","nodeType":"YulTypedName","src":"19573:6:9","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"19714:4:9","nodeType":"YulIdentifier","src":"19714:4:9"},{"name":"oldLen","nativeSrc":"19720:6:9","nodeType":"YulIdentifier","src":"19720:6:9"},{"name":"newLen","nativeSrc":"19728:6:9","nodeType":"YulIdentifier","src":"19728:6:9"}],"functionName":{"name":"clean_up_bytearray_end_slots_t_string_storage","nativeSrc":"19668:45:9","nodeType":"YulIdentifier","src":"19668:45:9"},"nativeSrc":"19668:67:9","nodeType":"YulFunctionCall","src":"19668:67:9"},"nativeSrc":"19668:67:9","nodeType":"YulExpressionStatement","src":"19668:67:9"},{"nativeSrc":"19745:18:9","nodeType":"YulVariableDeclaration","src":"19745:18:9","value":{"kind":"number","nativeSrc":"19762:1:9","nodeType":"YulLiteral","src":"19762:1:9","type":"","value":"0"},"variables":[{"name":"srcOffset","nativeSrc":"19749:9:9","nodeType":"YulTypedName","src":"19749:9:9","type":""}]},{"cases":[{"body":{"nativeSrc":"19810:625:9","nodeType":"YulBlock","src":"19810:625:9","statements":[{"nativeSrc":"19824:37:9","nodeType":"YulVariableDeclaration","src":"19824:37:9","value":{"arguments":[{"name":"newLen","nativeSrc":"19843:6:9","nodeType":"YulIdentifier","src":"19843:6:9"},{"arguments":[{"kind":"number","nativeSrc":"19855:4:9","nodeType":"YulLiteral","src":"19855:4:9","type":"","value":"0x1f"}],"functionName":{"name":"not","nativeSrc":"19851:3:9","nodeType":"YulIdentifier","src":"19851:3:9"},"nativeSrc":"19851:9:9","nodeType":"YulFunctionCall","src":"19851:9:9"}],"functionName":{"name":"and","nativeSrc":"19839:3:9","nodeType":"YulIdentifier","src":"19839:3:9"},"nativeSrc":"19839:22:9","nodeType":"YulFunctionCall","src":"19839:22:9"},"variables":[{"name":"loopEnd","nativeSrc":"19828:7:9","nodeType":"YulTypedName","src":"19828:7:9","type":""}]},{"nativeSrc":"19875:51:9","nodeType":"YulVariableDeclaration","src":"19875:51:9","value":{"arguments":[{"name":"slot","nativeSrc":"19921:4:9","nodeType":"YulIdentifier","src":"19921:4:9"}],"functionName":{"name":"array_dataslot_t_string_storage","nativeSrc":"19889:31:9","nodeType":"YulIdentifier","src":"19889:31:9"},"nativeSrc":"19889:37:9","nodeType":"YulFunctionCall","src":"19889:37:9"},"variables":[{"name":"dstPtr","nativeSrc":"19879:6:9","nodeType":"YulTypedName","src":"19879:6:9","type":""}]},{"nativeSrc":"19939:10:9","nodeType":"YulVariableDeclaration","src":"19939:10:9","value":{"kind":"number","nativeSrc":"19948:1:9","nodeType":"YulLiteral","src":"19948:1:9","type":"","value":"0"},"variables":[{"name":"i","nativeSrc":"19943:1:9","nodeType":"YulTypedName","src":"19943:1:9","type":""}]},{"body":{"nativeSrc":"20007:170:9","nodeType":"YulBlock","src":"20007:170:9","statements":[{"expression":{"arguments":[{"name":"dstPtr","nativeSrc":"20032:6:9","nodeType":"YulIdentifier","src":"20032:6:9"},{"arguments":[{"arguments":[{"name":"src","nativeSrc":"20057:3:9","nodeType":"YulIdentifier","src":"20057:3:9"},{"name":"srcOffset","nativeSrc":"20062:9:9","nodeType":"YulIdentifier","src":"20062:9:9"}],"functionName":{"name":"add","nativeSrc":"20053:3:9","nodeType":"YulIdentifier","src":"20053:3:9"},"nativeSrc":"20053:19:9","nodeType":"YulFunctionCall","src":"20053:19:9"}],"functionName":{"name":"calldataload","nativeSrc":"20040:12:9","nodeType":"YulIdentifier","src":"20040:12:9"},"nativeSrc":"20040:33:9","nodeType":"YulFunctionCall","src":"20040:33:9"}],"functionName":{"name":"sstore","nativeSrc":"20025:6:9","nodeType":"YulIdentifier","src":"20025:6:9"},"nativeSrc":"20025:49:9","nodeType":"YulFunctionCall","src":"20025:49:9"},"nativeSrc":"20025:49:9","nodeType":"YulExpressionStatement","src":"20025:49:9"},{"nativeSrc":"20091:24:9","nodeType":"YulAssignment","src":"20091:24:9","value":{"arguments":[{"name":"dstPtr","nativeSrc":"20105:6:9","nodeType":"YulIdentifier","src":"20105:6:9"},{"kind":"number","nativeSrc":"20113:1:9","nodeType":"YulLiteral","src":"20113:1:9","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"20101:3:9","nodeType":"YulIdentifier","src":"20101:3:9"},"nativeSrc":"20101:14:9","nodeType":"YulFunctionCall","src":"20101:14:9"},"variableNames":[{"name":"dstPtr","nativeSrc":"20091:6:9","nodeType":"YulIdentifier","src":"20091:6:9"}]},{"nativeSrc":"20132:31:9","nodeType":"YulAssignment","src":"20132:31:9","value":{"arguments":[{"name":"srcOffset","nativeSrc":"20149:9:9","nodeType":"YulIdentifier","src":"20149:9:9"},{"kind":"number","nativeSrc":"20160:2:9","nodeType":"YulLiteral","src":"20160:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"20145:3:9","nodeType":"YulIdentifier","src":"20145:3:9"},"nativeSrc":"20145:18:9","nodeType":"YulFunctionCall","src":"20145:18:9"},"variableNames":[{"name":"srcOffset","nativeSrc":"20132:9:9","nodeType":"YulIdentifier","src":"20132:9:9"}]}]},"condition":{"arguments":[{"name":"i","nativeSrc":"19973:1:9","nodeType":"YulIdentifier","src":"19973:1:9"},{"name":"loopEnd","nativeSrc":"19976:7:9","nodeType":"YulIdentifier","src":"19976:7:9"}],"functionName":{"name":"lt","nativeSrc":"19970:2:9","nodeType":"YulIdentifier","src":"19970:2:9"},"nativeSrc":"19970:14:9","nodeType":"YulFunctionCall","src":"19970:14:9"},"nativeSrc":"19962:215:9","nodeType":"YulForLoop","post":{"nativeSrc":"19985:21:9","nodeType":"YulBlock","src":"19985:21:9","statements":[{"nativeSrc":"19987:17:9","nodeType":"YulAssignment","src":"19987:17:9","value":{"arguments":[{"name":"i","nativeSrc":"19996:1:9","nodeType":"YulIdentifier","src":"19996:1:9"},{"kind":"number","nativeSrc":"19999:4:9","nodeType":"YulLiteral","src":"19999:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19992:3:9","nodeType":"YulIdentifier","src":"19992:3:9"},"nativeSrc":"19992:12:9","nodeType":"YulFunctionCall","src":"19992:12:9"},"variableNames":[{"name":"i","nativeSrc":"19987:1:9","nodeType":"YulIdentifier","src":"19987:1:9"}]}]},"pre":{"nativeSrc":"19966:3:9","nodeType":"YulBlock","src":"19966:3:9","statements":[]},"src":"19962:215:9"},{"body":{"nativeSrc":"20213:163:9","nodeType":"YulBlock","src":"20213:163:9","statements":[{"nativeSrc":"20231:50:9","nodeType":"YulVariableDeclaration","src":"20231:50:9","value":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"20265:3:9","nodeType":"YulIdentifier","src":"20265:3:9"},{"name":"srcOffset","nativeSrc":"20270:9:9","nodeType":"YulIdentifier","src":"20270:9:9"}],"functionName":{"name":"add","nativeSrc":"20261:3:9","nodeType":"YulIdentifier","src":"20261:3:9"},"nativeSrc":"20261:19:9","nodeType":"YulFunctionCall","src":"20261:19:9"}],"functionName":{"name":"calldataload","nativeSrc":"20248:12:9","nodeType":"YulIdentifier","src":"20248:12:9"},"nativeSrc":"20248:33:9","nodeType":"YulFunctionCall","src":"20248:33:9"},"variables":[{"name":"lastValue","nativeSrc":"20235:9:9","nodeType":"YulTypedName","src":"20235:9:9","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nativeSrc":"20305:6:9","nodeType":"YulIdentifier","src":"20305:6:9"},{"arguments":[{"name":"lastValue","nativeSrc":"20332:9:9","nodeType":"YulIdentifier","src":"20332:9:9"},{"arguments":[{"name":"newLen","nativeSrc":"20347:6:9","nodeType":"YulIdentifier","src":"20347:6:9"},{"kind":"number","nativeSrc":"20355:4:9","nodeType":"YulLiteral","src":"20355:4:9","type":"","value":"0x1f"}],"functionName":{"name":"and","nativeSrc":"20343:3:9","nodeType":"YulIdentifier","src":"20343:3:9"},"nativeSrc":"20343:17:9","nodeType":"YulFunctionCall","src":"20343:17:9"}],"functionName":{"name":"mask_bytes_dynamic","nativeSrc":"20313:18:9","nodeType":"YulIdentifier","src":"20313:18:9"},"nativeSrc":"20313:48:9","nodeType":"YulFunctionCall","src":"20313:48:9"}],"functionName":{"name":"sstore","nativeSrc":"20298:6:9","nodeType":"YulIdentifier","src":"20298:6:9"},"nativeSrc":"20298:64:9","nodeType":"YulFunctionCall","src":"20298:64:9"},"nativeSrc":"20298:64:9","nodeType":"YulExpressionStatement","src":"20298:64:9"}]},"condition":{"arguments":[{"name":"loopEnd","nativeSrc":"20196:7:9","nodeType":"YulIdentifier","src":"20196:7:9"},{"name":"newLen","nativeSrc":"20205:6:9","nodeType":"YulIdentifier","src":"20205:6:9"}],"functionName":{"name":"lt","nativeSrc":"20193:2:9","nodeType":"YulIdentifier","src":"20193:2:9"},"nativeSrc":"20193:19:9","nodeType":"YulFunctionCall","src":"20193:19:9"},"nativeSrc":"20190:186:9","nodeType":"YulIf","src":"20190:186:9"},{"expression":{"arguments":[{"name":"slot","nativeSrc":"20396:4:9","nodeType":"YulIdentifier","src":"20396:4:9"},{"arguments":[{"arguments":[{"name":"newLen","nativeSrc":"20410:6:9","nodeType":"YulIdentifier","src":"20410:6:9"},{"kind":"number","nativeSrc":"20418:1:9","nodeType":"YulLiteral","src":"20418:1:9","type":"","value":"2"}],"functionName":{"name":"mul","nativeSrc":"20406:3:9","nodeType":"YulIdentifier","src":"20406:3:9"},"nativeSrc":"20406:14:9","nodeType":"YulFunctionCall","src":"20406:14:9"},{"kind":"number","nativeSrc":"20422:1:9","nodeType":"YulLiteral","src":"20422:1:9","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"20402:3:9","nodeType":"YulIdentifier","src":"20402:3:9"},"nativeSrc":"20402:22:9","nodeType":"YulFunctionCall","src":"20402:22:9"}],"functionName":{"name":"sstore","nativeSrc":"20389:6:9","nodeType":"YulIdentifier","src":"20389:6:9"},"nativeSrc":"20389:36:9","nodeType":"YulFunctionCall","src":"20389:36:9"},"nativeSrc":"20389:36:9","nodeType":"YulExpressionStatement","src":"20389:36:9"}]},"nativeSrc":"19803:632:9","nodeType":"YulCase","src":"19803:632:9","value":{"kind":"number","nativeSrc":"19808:1:9","nodeType":"YulLiteral","src":"19808:1:9","type":"","value":"1"}},{"body":{"nativeSrc":"20452:229:9","nodeType":"YulBlock","src":"20452:229:9","statements":[{"nativeSrc":"20466:14:9","nodeType":"YulVariableDeclaration","src":"20466:14:9","value":{"kind":"number","nativeSrc":"20479:1:9","nodeType":"YulLiteral","src":"20479:1:9","type":"","value":"0"},"variables":[{"name":"value","nativeSrc":"20470:5:9","nodeType":"YulTypedName","src":"20470:5:9","type":""}]},{"body":{"nativeSrc":"20503:74:9","nodeType":"YulBlock","src":"20503:74:9","statements":[{"nativeSrc":"20521:42:9","nodeType":"YulAssignment","src":"20521:42:9","value":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"20547:3:9","nodeType":"YulIdentifier","src":"20547:3:9"},{"name":"srcOffset","nativeSrc":"20552:9:9","nodeType":"YulIdentifier","src":"20552:9:9"}],"functionName":{"name":"add","nativeSrc":"20543:3:9","nodeType":"YulIdentifier","src":"20543:3:9"},"nativeSrc":"20543:19:9","nodeType":"YulFunctionCall","src":"20543:19:9"}],"functionName":{"name":"calldataload","nativeSrc":"20530:12:9","nodeType":"YulIdentifier","src":"20530:12:9"},"nativeSrc":"20530:33:9","nodeType":"YulFunctionCall","src":"20530:33:9"},"variableNames":[{"name":"value","nativeSrc":"20521:5:9","nodeType":"YulIdentifier","src":"20521:5:9"}]}]},"condition":{"name":"newLen","nativeSrc":"20496:6:9","nodeType":"YulIdentifier","src":"20496:6:9"},"nativeSrc":"20493:84:9","nodeType":"YulIf","src":"20493:84:9"},{"expression":{"arguments":[{"name":"slot","nativeSrc":"20597:4:9","nodeType":"YulIdentifier","src":"20597:4:9"},{"arguments":[{"name":"value","nativeSrc":"20656:5:9","nodeType":"YulIdentifier","src":"20656:5:9"},{"name":"newLen","nativeSrc":"20663:6:9","nodeType":"YulIdentifier","src":"20663:6:9"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nativeSrc":"20603:52:9","nodeType":"YulIdentifier","src":"20603:52:9"},"nativeSrc":"20603:67:9","nodeType":"YulFunctionCall","src":"20603:67:9"}],"functionName":{"name":"sstore","nativeSrc":"20590:6:9","nodeType":"YulIdentifier","src":"20590:6:9"},"nativeSrc":"20590:81:9","nodeType":"YulFunctionCall","src":"20590:81:9"},"nativeSrc":"20590:81:9","nodeType":"YulExpressionStatement","src":"20590:81:9"}]},"nativeSrc":"20444:237:9","nodeType":"YulCase","src":"20444:237:9","value":"default"}],"expression":{"arguments":[{"name":"newLen","nativeSrc":"19783:6:9","nodeType":"YulIdentifier","src":"19783:6:9"},{"kind":"number","nativeSrc":"19791:2:9","nodeType":"YulLiteral","src":"19791:2:9","type":"","value":"31"}],"functionName":{"name":"gt","nativeSrc":"19780:2:9","nodeType":"YulIdentifier","src":"19780:2:9"},"nativeSrc":"19780:14:9","nodeType":"YulFunctionCall","src":"19780:14:9"},"nativeSrc":"19773:908:9","nodeType":"YulSwitch","src":"19773:908:9"}]},"name":"copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage","nativeSrc":"19284:1403:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nativeSrc":"19367:4:9","nodeType":"YulTypedName","src":"19367:4:9","type":""},{"name":"src","nativeSrc":"19373:3:9","nodeType":"YulTypedName","src":"19373:3:9","type":""},{"name":"len","nativeSrc":"19378:3:9","nodeType":"YulTypedName","src":"19378:3:9","type":""}],"src":"19284:1403:9"},{"body":{"nativeSrc":"20819:215:9","nodeType":"YulBlock","src":"20819:215:9","statements":[{"nativeSrc":"20829:78:9","nodeType":"YulAssignment","src":"20829:78:9","value":{"arguments":[{"name":"pos","nativeSrc":"20895:3:9","nodeType":"YulIdentifier","src":"20895:3:9"},{"name":"length","nativeSrc":"20900:6:9","nodeType":"YulIdentifier","src":"20900:6:9"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"20836:58:9","nodeType":"YulIdentifier","src":"20836:58:9"},"nativeSrc":"20836:71:9","nodeType":"YulFunctionCall","src":"20836:71:9"},"variableNames":[{"name":"pos","nativeSrc":"20829:3:9","nodeType":"YulIdentifier","src":"20829:3:9"}]},{"expression":{"arguments":[{"name":"start","nativeSrc":"20954:5:9","nodeType":"YulIdentifier","src":"20954:5:9"},{"name":"pos","nativeSrc":"20961:3:9","nodeType":"YulIdentifier","src":"20961:3:9"},{"name":"length","nativeSrc":"20966:6:9","nodeType":"YulIdentifier","src":"20966:6:9"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"20917:36:9","nodeType":"YulIdentifier","src":"20917:36:9"},"nativeSrc":"20917:56:9","nodeType":"YulFunctionCall","src":"20917:56:9"},"nativeSrc":"20917:56:9","nodeType":"YulExpressionStatement","src":"20917:56:9"},{"nativeSrc":"20982:46:9","nodeType":"YulAssignment","src":"20982:46:9","value":{"arguments":[{"name":"pos","nativeSrc":"20993:3:9","nodeType":"YulIdentifier","src":"20993:3:9"},{"arguments":[{"name":"length","nativeSrc":"21020:6:9","nodeType":"YulIdentifier","src":"21020:6:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"20998:21:9","nodeType":"YulIdentifier","src":"20998:21:9"},"nativeSrc":"20998:29:9","nodeType":"YulFunctionCall","src":"20998:29:9"}],"functionName":{"name":"add","nativeSrc":"20989:3:9","nodeType":"YulIdentifier","src":"20989:3:9"},"nativeSrc":"20989:39:9","nodeType":"YulFunctionCall","src":"20989:39:9"},"variableNames":[{"name":"end","nativeSrc":"20982:3:9","nodeType":"YulIdentifier","src":"20982:3:9"}]}]},"name":"abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack","nativeSrc":"20717:317:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nativeSrc":"20792:5:9","nodeType":"YulTypedName","src":"20792:5:9","type":""},{"name":"length","nativeSrc":"20799:6:9","nodeType":"YulTypedName","src":"20799:6:9","type":""},{"name":"pos","nativeSrc":"20807:3:9","nodeType":"YulTypedName","src":"20807:3:9","type":""}],"returnVariables":[{"name":"end","nativeSrc":"20815:3:9","nodeType":"YulTypedName","src":"20815:3:9","type":""}],"src":"20717:317:9"},{"body":{"nativeSrc":"21168:205:9","nodeType":"YulBlock","src":"21168:205:9","statements":[{"nativeSrc":"21178:26:9","nodeType":"YulAssignment","src":"21178:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"21190:9:9","nodeType":"YulIdentifier","src":"21190:9:9"},{"kind":"number","nativeSrc":"21201:2:9","nodeType":"YulLiteral","src":"21201:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"21186:3:9","nodeType":"YulIdentifier","src":"21186:3:9"},"nativeSrc":"21186:18:9","nodeType":"YulFunctionCall","src":"21186:18:9"},"variableNames":[{"name":"tail","nativeSrc":"21178:4:9","nodeType":"YulIdentifier","src":"21178:4:9"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"21225:9:9","nodeType":"YulIdentifier","src":"21225:9:9"},{"kind":"number","nativeSrc":"21236:1:9","nodeType":"YulLiteral","src":"21236:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"21221:3:9","nodeType":"YulIdentifier","src":"21221:3:9"},"nativeSrc":"21221:17:9","nodeType":"YulFunctionCall","src":"21221:17:9"},{"arguments":[{"name":"tail","nativeSrc":"21244:4:9","nodeType":"YulIdentifier","src":"21244:4:9"},{"name":"headStart","nativeSrc":"21250:9:9","nodeType":"YulIdentifier","src":"21250:9:9"}],"functionName":{"name":"sub","nativeSrc":"21240:3:9","nodeType":"YulIdentifier","src":"21240:3:9"},"nativeSrc":"21240:20:9","nodeType":"YulFunctionCall","src":"21240:20:9"}],"functionName":{"name":"mstore","nativeSrc":"21214:6:9","nodeType":"YulIdentifier","src":"21214:6:9"},"nativeSrc":"21214:47:9","nodeType":"YulFunctionCall","src":"21214:47:9"},"nativeSrc":"21214:47:9","nodeType":"YulExpressionStatement","src":"21214:47:9"},{"nativeSrc":"21270:96:9","nodeType":"YulAssignment","src":"21270:96:9","value":{"arguments":[{"name":"value0","nativeSrc":"21344:6:9","nodeType":"YulIdentifier","src":"21344:6:9"},{"name":"value1","nativeSrc":"21352:6:9","nodeType":"YulIdentifier","src":"21352:6:9"},{"name":"tail","nativeSrc":"21361:4:9","nodeType":"YulIdentifier","src":"21361:4:9"}],"functionName":{"name":"abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack","nativeSrc":"21278:65:9","nodeType":"YulIdentifier","src":"21278:65:9"},"nativeSrc":"21278:88:9","nodeType":"YulFunctionCall","src":"21278:88:9"},"variableNames":[{"name":"tail","nativeSrc":"21270:4:9","nodeType":"YulIdentifier","src":"21270:4:9"}]}]},"name":"abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"21040:333:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"21132:9:9","nodeType":"YulTypedName","src":"21132:9:9","type":""},{"name":"value1","nativeSrc":"21144:6:9","nodeType":"YulTypedName","src":"21144:6:9","type":""},{"name":"value0","nativeSrc":"21152:6:9","nodeType":"YulTypedName","src":"21152:6:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"21163:4:9","nodeType":"YulTypedName","src":"21163:4:9","type":""}],"src":"21040:333:9"},{"body":{"nativeSrc":"21444:53:9","nodeType":"YulBlock","src":"21444:53:9","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"21461:3:9","nodeType":"YulIdentifier","src":"21461:3:9"},{"arguments":[{"name":"value","nativeSrc":"21484:5:9","nodeType":"YulIdentifier","src":"21484:5:9"}],"functionName":{"name":"cleanup_t_address","nativeSrc":"21466:17:9","nodeType":"YulIdentifier","src":"21466:17:9"},"nativeSrc":"21466:24:9","nodeType":"YulFunctionCall","src":"21466:24:9"}],"functionName":{"name":"mstore","nativeSrc":"21454:6:9","nodeType":"YulIdentifier","src":"21454:6:9"},"nativeSrc":"21454:37:9","nodeType":"YulFunctionCall","src":"21454:37:9"},"nativeSrc":"21454:37:9","nodeType":"YulExpressionStatement","src":"21454:37:9"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nativeSrc":"21379:118:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"21432:5:9","nodeType":"YulTypedName","src":"21432:5:9","type":""},{"name":"pos","nativeSrc":"21439:3:9","nodeType":"YulTypedName","src":"21439:3:9","type":""}],"src":"21379:118:9"},{"body":{"nativeSrc":"21629:206:9","nodeType":"YulBlock","src":"21629:206:9","statements":[{"nativeSrc":"21639:26:9","nodeType":"YulAssignment","src":"21639:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"21651:9:9","nodeType":"YulIdentifier","src":"21651:9:9"},{"kind":"number","nativeSrc":"21662:2:9","nodeType":"YulLiteral","src":"21662:2:9","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"21647:3:9","nodeType":"YulIdentifier","src":"21647:3:9"},"nativeSrc":"21647:18:9","nodeType":"YulFunctionCall","src":"21647:18:9"},"variableNames":[{"name":"tail","nativeSrc":"21639:4:9","nodeType":"YulIdentifier","src":"21639:4:9"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"21719:6:9","nodeType":"YulIdentifier","src":"21719:6:9"},{"arguments":[{"name":"headStart","nativeSrc":"21732:9:9","nodeType":"YulIdentifier","src":"21732:9:9"},{"kind":"number","nativeSrc":"21743:1:9","nodeType":"YulLiteral","src":"21743:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"21728:3:9","nodeType":"YulIdentifier","src":"21728:3:9"},"nativeSrc":"21728:17:9","nodeType":"YulFunctionCall","src":"21728:17:9"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nativeSrc":"21675:43:9","nodeType":"YulIdentifier","src":"21675:43:9"},"nativeSrc":"21675:71:9","nodeType":"YulFunctionCall","src":"21675:71:9"},"nativeSrc":"21675:71:9","nodeType":"YulExpressionStatement","src":"21675:71:9"},{"expression":{"arguments":[{"name":"value1","nativeSrc":"21800:6:9","nodeType":"YulIdentifier","src":"21800:6:9"},{"arguments":[{"name":"headStart","nativeSrc":"21813:9:9","nodeType":"YulIdentifier","src":"21813:9:9"},{"kind":"number","nativeSrc":"21824:2:9","nodeType":"YulLiteral","src":"21824:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"21809:3:9","nodeType":"YulIdentifier","src":"21809:3:9"},"nativeSrc":"21809:18:9","nodeType":"YulFunctionCall","src":"21809:18:9"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nativeSrc":"21756:43:9","nodeType":"YulIdentifier","src":"21756:43:9"},"nativeSrc":"21756:72:9","nodeType":"YulFunctionCall","src":"21756:72:9"},"nativeSrc":"21756:72:9","nodeType":"YulExpressionStatement","src":"21756:72:9"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nativeSrc":"21503:332:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"21593:9:9","nodeType":"YulTypedName","src":"21593:9:9","type":""},{"name":"value1","nativeSrc":"21605:6:9","nodeType":"YulTypedName","src":"21605:6:9","type":""},{"name":"value0","nativeSrc":"21613:6:9","nodeType":"YulTypedName","src":"21613:6:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"21624:4:9","nodeType":"YulTypedName","src":"21624:4:9","type":""}],"src":"21503:332:9"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b(memPtr) {\n\n mstore(add(memPtr, 0), \"Only admin can call this functio\")\n\n mstore(add(memPtr, 32), \"n\")\n\n }\n\n function abi_encode_t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_e0ef19aa67a8b89b19419c8977a6a75d04286a47014bf7a3d2ea537634352c8b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c(memPtr) {\n\n mstore(add(memPtr, 0), \"WorkstepInstanceId cannot be emp\")\n\n mstore(add(memPtr, 32), \"ty\")\n\n }\n\n function abi_encode_t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9cf0ab836837e7a27265ac81a8dbacab052dc458c74df6439cba5f25d6ebc80c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718(memPtr) {\n\n mstore(add(memPtr, 0), \"WorkstepInstanceId cannot exceed\")\n\n mstore(add(memPtr, 32), \" 40 bytes\")\n\n }\n\n function abi_encode_t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_68ff023eb21a7ae71370e1d830b5fa65bf52979d1ff64b37b03339cc94816718_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca(memPtr) {\n\n mstore(add(memPtr, 0), \"AnchorHash cannot be empty\")\n\n }\n\n function abi_encode_t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a3a00e5cebac6883c44ba7b7b2dc537ce06da1609d1fbae9a9e21d5fd543a3ca_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b(memPtr) {\n\n mstore(add(memPtr, 0), \"AnchorHash cannot exceed 256 byt\")\n\n mstore(add(memPtr, 32), \"es\")\n\n }\n\n function abi_encode_t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_917787271d803f79cf82ae633fa9817a11c907186eb4e8b04a4a8343d3facc8b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n // string -> string\n function abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, value1, pos)\n\n end := pos\n }\n\n function array_length_t_string_calldata_ptr(value, len) -> length {\n\n length := len\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage(slot, src, len) {\n\n let newLen := array_length_t_string_calldata_ptr(src, len)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, calldataload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := calldataload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := calldataload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n // string -> string\n function abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory_with_cleanup(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack(value0, value1, tail)\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value1, add(headStart, 32))\n\n }\n\n}\n","id":9,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100a95760003560e01c8063513ec2f811610071578063513ec2f81461016257806375b238fc14610192578063890f10a0146101b057806391d14854146101e0578063a217fddf14610210578063d547741f1461022e576100a9565b806301ffc9a7146100ae578063248a9ca3146100de5780632588cd551461010e5780632f2ff15d1461012a57806336568abe14610146575b600080fd5b6100c860048036038101906100c39190610ad0565b61024a565b6040516100d59190610b18565b60405180910390f35b6100f860048036038101906100f39190610b69565b6102c4565b6040516101059190610ba5565b60405180910390f35b61012860048036038101906101239190610c25565b6102e3565b005b610144600480360381019061013f9190610d04565b6104ed565b005b610160600480360381019061015b9190610d04565b61050f565b005b61017c60048036038101906101779190610e85565b61058a565b6040516101899190610f4d565b60405180910390f35b61019a610640565b6040516101a79190610ba5565b60405180910390f35b6101ca60048036038101906101c59190610f6f565b610664565b6040516101d79190610f4d565b60405180910390f35b6101fa60048036038101906101f59190610d04565b610717565b6040516102079190610b18565b60405180910390f35b610218610781565b6040516102259190610ba5565b60405180910390f35b61024860048036038101906102439190610d04565b610788565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806102bd57506102bc826107aa565b5b9050919050565b6000806000838152602001908152602001600020600101549050919050565b61030d7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610717565b61034c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103439061102e565b60405180910390fd5b60008484905011610392576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610389906110c0565b60405180910390fd5b602884849050106103d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cf90611152565b60405180910390fd5b6000828290501161041e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610415906111be565b60405180910390fd5b610100828290501115610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611250565b60405180910390fd5b81816001868660405161047a9291906112a0565b908152602001604051809103902091826104959291906114da565b5083836040516104a69291906112a0565b60405180910390207f6468084a45bfadcd3a84169a78a1a25c53317fc97f185e4037e0696cfc913ccc83836040516104df9291906115d7565b60405180910390a250505050565b6104f6826102c4565b6104ff81610814565b6105098383610828565b50505050565b610517610919565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461057b576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105858282610921565b505050565b60018180516020810182018051848252602083016020850120818352809550505050505060009150905080546105bf906112f3565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb906112f3565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b505050505081565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6060600183836040516106789291906112a0565b90815260200160405180910390208054610691906112f3565b80601f01602080910402602001604051908101604052809291908181526020018280546106bd906112f3565b801561070a5780601f106106df5761010080835404028352916020019161070a565b820191906000526020600020905b8154815290600101906020018083116106ed57829003601f168201915b5050505050905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b610791826102c4565b61079a81610814565b6107a48383610921565b50505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61082581610820610919565b610a13565b50565b60006108348383610717565b61090e57600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506108ab610919565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610913565b600090505b92915050565b600033905090565b600061092d8383610717565b15610a0857600080600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506109a5610919565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050610a0d565b600090505b92915050565b610a1d8282610717565b610a605780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401610a5792919061160a565b60405180910390fd5b5050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610aad81610a78565b8114610ab857600080fd5b50565b600081359050610aca81610aa4565b92915050565b600060208284031215610ae657610ae5610a6e565b5b6000610af484828501610abb565b91505092915050565b60008115159050919050565b610b1281610afd565b82525050565b6000602082019050610b2d6000830184610b09565b92915050565b6000819050919050565b610b4681610b33565b8114610b5157600080fd5b50565b600081359050610b6381610b3d565b92915050565b600060208284031215610b7f57610b7e610a6e565b5b6000610b8d84828501610b54565b91505092915050565b610b9f81610b33565b82525050565b6000602082019050610bba6000830184610b96565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610be557610be4610bc0565b5b8235905067ffffffffffffffff811115610c0257610c01610bc5565b5b602083019150836001820283011115610c1e57610c1d610bca565b5b9250929050565b60008060008060408587031215610c3f57610c3e610a6e565b5b600085013567ffffffffffffffff811115610c5d57610c5c610a73565b5b610c6987828801610bcf565b9450945050602085013567ffffffffffffffff811115610c8c57610c8b610a73565b5b610c9887828801610bcf565b925092505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cd182610ca6565b9050919050565b610ce181610cc6565b8114610cec57600080fd5b50565b600081359050610cfe81610cd8565b92915050565b60008060408385031215610d1b57610d1a610a6e565b5b6000610d2985828601610b54565b9250506020610d3a85828601610cef565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610d9282610d49565b810181811067ffffffffffffffff82111715610db157610db0610d5a565b5b80604052505050565b6000610dc4610a64565b9050610dd08282610d89565b919050565b600067ffffffffffffffff821115610df057610def610d5a565b5b610df982610d49565b9050602081019050919050565b82818337600083830152505050565b6000610e28610e2384610dd5565b610dba565b905082815260208101848484011115610e4457610e43610d44565b5b610e4f848285610e06565b509392505050565b600082601f830112610e6c57610e6b610bc0565b5b8135610e7c848260208601610e15565b91505092915050565b600060208284031215610e9b57610e9a610a6e565b5b600082013567ffffffffffffffff811115610eb957610eb8610a73565b5b610ec584828501610e57565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f08578082015181840152602081019050610eed565b60008484015250505050565b6000610f1f82610ece565b610f298185610ed9565b9350610f39818560208601610eea565b610f4281610d49565b840191505092915050565b60006020820190508181036000830152610f678184610f14565b905092915050565b60008060208385031215610f8657610f85610a6e565b5b600083013567ffffffffffffffff811115610fa457610fa3610a73565b5b610fb085828601610bcf565b92509250509250929050565b7f4f6e6c792061646d696e2063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611018602183610ed9565b915061102382610fbc565b604082019050919050565b600060208201905081810360008301526110478161100b565b9050919050565b7f576f726b73746570496e7374616e636549642063616e6e6f7420626520656d7060008201527f7479000000000000000000000000000000000000000000000000000000000000602082015250565b60006110aa602283610ed9565b91506110b58261104e565b604082019050919050565b600060208201905081810360008301526110d98161109d565b9050919050565b7f576f726b73746570496e7374616e636549642063616e6e6f742065786365656460008201527f2034302062797465730000000000000000000000000000000000000000000000602082015250565b600061113c602983610ed9565b9150611147826110e0565b604082019050919050565b6000602082019050818103600083015261116b8161112f565b9050919050565b7f416e63686f72486173682063616e6e6f7420626520656d707479000000000000600082015250565b60006111a8601a83610ed9565b91506111b382611172565b602082019050919050565b600060208201905081810360008301526111d78161119b565b9050919050565b7f416e63686f72486173682063616e6e6f7420657863656564203235362062797460008201527f6573000000000000000000000000000000000000000000000000000000000000602082015250565b600061123a602283610ed9565b9150611245826111de565b604082019050919050565b600060208201905081810360008301526112698161122d565b9050919050565b600081905092915050565b60006112878385611270565b9350611294838584610e06565b82840190509392505050565b60006112ad82848661127b565b91508190509392505050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061130b57607f821691505b60208210810361131e5761131d6112c4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611349565b6113908683611349565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006113d76113d26113cd846113a8565b6113b2565b6113a8565b9050919050565b6000819050919050565b6113f1836113bc565b6114056113fd826113de565b848454611356565b825550505050565b600090565b61141a61140d565b6114258184846113e8565b505050565b5b818110156114495761143e600082611412565b60018101905061142b565b5050565b601f82111561148e5761145f81611324565b61146884611339565b81016020851015611477578190505b61148b61148385611339565b83018261142a565b50505b505050565b600082821c905092915050565b60006114b160001984600802611493565b1980831691505092915050565b60006114ca83836114a0565b9150826002028217905092915050565b6114e483836112b9565b67ffffffffffffffff8111156114fd576114fc610d5a565b5b61150782546112f3565b61151282828561144d565b6000601f831160018114611541576000841561152f578287013590505b61153985826114be565b8655506115a1565b601f19841661154f86611324565b60005b8281101561157757848901358255600182019150602085019450602081019050611552565b868310156115945784890135611590601f8916826114a0565b8355505b6001600288020188555050505b50505050505050565b60006115b68385610ed9565b93506115c3838584610e06565b6115cc83610d49565b840190509392505050565b600060208201905081810360008301526115f28184866115aa565b90509392505050565b61160481610cc6565b82525050565b600060408201905061161f60008301856115fb565b61162c6020830184610b96565b939250505056fea2646970667358221220ece41f4fa00767e1dea402f3499f4b298bfa454644d4625eec00bbad9d616b2d64736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x513EC2F8 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x513EC2F8 EQ PUSH2 0x162 JUMPI DUP1 PUSH4 0x75B238FC EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x890F10A0 EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x22E JUMPI PUSH2 0xA9 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x2588CD55 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x146 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0xAD0 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD5 SWAP2 SWAP1 PUSH2 0xB18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xB69 JUMP JUMPDEST PUSH2 0x2C4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x105 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x128 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x123 SWAP2 SWAP1 PUSH2 0xC25 JUMP JUMPDEST PUSH2 0x2E3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x144 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13F SWAP2 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH2 0x4ED JUMP JUMPDEST STOP JUMPDEST PUSH2 0x160 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15B SWAP2 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH2 0x50F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x17C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x177 SWAP2 SWAP1 PUSH2 0xE85 JUMP JUMPDEST PUSH2 0x58A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x189 SWAP2 SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19A PUSH2 0x640 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C5 SWAP2 SWAP1 PUSH2 0xF6F JUMP JUMPDEST PUSH2 0x664 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH2 0x717 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x207 SWAP2 SWAP1 PUSH2 0xB18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x218 PUSH2 0x781 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x225 SWAP2 SWAP1 PUSH2 0xBA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x248 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x243 SWAP2 SWAP1 PUSH2 0xD04 JUMP JUMPDEST PUSH2 0x788 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x2BD JUMPI POP PUSH2 0x2BC DUP3 PUSH2 0x7AA JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x30D PUSH32 0xA49807205CE4D355092EF5A8A18F56E8913CF4A201FBE287825B095693C21775 CALLER PUSH2 0x717 JUMP JUMPDEST PUSH2 0x34C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x343 SWAP1 PUSH2 0x102E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 DUP5 SWAP1 POP GT PUSH2 0x392 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x389 SWAP1 PUSH2 0x10C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x28 DUP5 DUP5 SWAP1 POP LT PUSH2 0x3D8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3CF SWAP1 PUSH2 0x1152 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 SWAP1 POP GT PUSH2 0x41E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x415 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x100 DUP3 DUP3 SWAP1 POP GT ISZERO PUSH2 0x466 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45D SWAP1 PUSH2 0x1250 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x1 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x47A SWAP3 SWAP2 SWAP1 PUSH2 0x12A0 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP2 DUP3 PUSH2 0x495 SWAP3 SWAP2 SWAP1 PUSH2 0x14DA JUMP JUMPDEST POP DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x4A6 SWAP3 SWAP2 SWAP1 PUSH2 0x12A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0x6468084A45BFADCD3A84169A78A1A25C53317FC97F185E4037E0696CFC913CCC DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x4DF SWAP3 SWAP2 SWAP1 PUSH2 0x15D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH2 0x4F6 DUP3 PUSH2 0x2C4 JUMP JUMPDEST PUSH2 0x4FF DUP2 PUSH2 0x814 JUMP JUMPDEST PUSH2 0x509 DUP4 DUP4 PUSH2 0x828 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x517 PUSH2 0x919 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x57B JUMPI PUSH1 0x40 MLOAD PUSH32 0x6697B23200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x585 DUP3 DUP3 PUSH2 0x921 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 SLOAD PUSH2 0x5BF SWAP1 PUSH2 0x12F3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5EB SWAP1 PUSH2 0x12F3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x638 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x60D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x638 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x61B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH32 0xA49807205CE4D355092EF5A8A18F56E8913CF4A201FBE287825B095693C21775 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x678 SWAP3 SWAP2 SWAP1 PUSH2 0x12A0 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x691 SWAP1 PUSH2 0x12F3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6BD SWAP1 PUSH2 0x12F3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x70A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6DF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x70A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6ED JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SHL DUP2 JUMP JUMPDEST PUSH2 0x791 DUP3 PUSH2 0x2C4 JUMP JUMPDEST PUSH2 0x79A DUP2 PUSH2 0x814 JUMP JUMPDEST PUSH2 0x7A4 DUP4 DUP4 PUSH2 0x921 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x825 DUP2 PUSH2 0x820 PUSH2 0x919 JUMP JUMPDEST PUSH2 0xA13 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x834 DUP4 DUP4 PUSH2 0x717 JUMP JUMPDEST PUSH2 0x90E JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x8AB PUSH2 0x919 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP1 POP PUSH2 0x913 JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x92D DUP4 DUP4 PUSH2 0x717 JUMP JUMPDEST ISZERO PUSH2 0xA08 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x9A5 PUSH2 0x919 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 PUSH1 0x1 SWAP1 POP PUSH2 0xA0D JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA1D DUP3 DUP3 PUSH2 0x717 JUMP JUMPDEST PUSH2 0xA60 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH32 0xE2517D3F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA57 SWAP3 SWAP2 SWAP1 PUSH2 0x160A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAAD DUP2 PUSH2 0xA78 JUMP JUMPDEST DUP2 EQ PUSH2 0xAB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xACA DUP2 PUSH2 0xAA4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAE6 JUMPI PUSH2 0xAE5 PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAF4 DUP5 DUP3 DUP6 ADD PUSH2 0xABB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB12 DUP2 PUSH2 0xAFD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB2D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB09 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB46 DUP2 PUSH2 0xB33 JUMP JUMPDEST DUP2 EQ PUSH2 0xB51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB63 DUP2 PUSH2 0xB3D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB7F JUMPI PUSH2 0xB7E PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB8D DUP5 DUP3 DUP6 ADD PUSH2 0xB54 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB9F DUP2 PUSH2 0xB33 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBBA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB96 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xBE5 JUMPI PUSH2 0xBE4 PUSH2 0xBC0 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC02 JUMPI PUSH2 0xC01 PUSH2 0xBC5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0xC1E JUMPI PUSH2 0xC1D PUSH2 0xBCA JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xC3F JUMPI PUSH2 0xC3E PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC5D JUMPI PUSH2 0xC5C PUSH2 0xA73 JUMP JUMPDEST JUMPDEST PUSH2 0xC69 DUP8 DUP3 DUP9 ADD PUSH2 0xBCF JUMP JUMPDEST SWAP5 POP SWAP5 POP POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC8C JUMPI PUSH2 0xC8B PUSH2 0xA73 JUMP JUMPDEST JUMPDEST PUSH2 0xC98 DUP8 DUP3 DUP9 ADD PUSH2 0xBCF JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCD1 DUP3 PUSH2 0xCA6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xCE1 DUP2 PUSH2 0xCC6 JUMP JUMPDEST DUP2 EQ PUSH2 0xCEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xCFE DUP2 PUSH2 0xCD8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD1B JUMPI PUSH2 0xD1A PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD29 DUP6 DUP3 DUP7 ADD PUSH2 0xB54 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xD3A DUP6 DUP3 DUP7 ADD PUSH2 0xCEF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xD92 DUP3 PUSH2 0xD49 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xDB1 JUMPI PUSH2 0xDB0 PUSH2 0xD5A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDC4 PUSH2 0xA64 JUMP JUMPDEST SWAP1 POP PUSH2 0xDD0 DUP3 DUP3 PUSH2 0xD89 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xDF0 JUMPI PUSH2 0xDEF PUSH2 0xD5A JUMP JUMPDEST JUMPDEST PUSH2 0xDF9 DUP3 PUSH2 0xD49 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE28 PUSH2 0xE23 DUP5 PUSH2 0xDD5 JUMP JUMPDEST PUSH2 0xDBA JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xE44 JUMPI PUSH2 0xE43 PUSH2 0xD44 JUMP JUMPDEST JUMPDEST PUSH2 0xE4F DUP5 DUP3 DUP6 PUSH2 0xE06 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE6C JUMPI PUSH2 0xE6B PUSH2 0xBC0 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xE7C DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xE15 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE9B JUMPI PUSH2 0xE9A PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xEB9 JUMPI PUSH2 0xEB8 PUSH2 0xA73 JUMP JUMPDEST JUMPDEST PUSH2 0xEC5 DUP5 DUP3 DUP6 ADD PUSH2 0xE57 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF08 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xEED JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF1F DUP3 PUSH2 0xECE JUMP JUMPDEST PUSH2 0xF29 DUP2 DUP6 PUSH2 0xED9 JUMP JUMPDEST SWAP4 POP PUSH2 0xF39 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xEEA JUMP JUMPDEST PUSH2 0xF42 DUP2 PUSH2 0xD49 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF67 DUP2 DUP5 PUSH2 0xF14 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF86 JUMPI PUSH2 0xF85 PUSH2 0xA6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFA4 JUMPI PUSH2 0xFA3 PUSH2 0xA73 JUMP JUMPDEST JUMPDEST PUSH2 0xFB0 DUP6 DUP3 DUP7 ADD PUSH2 0xBCF JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C792061646D696E2063616E2063616C6C20746869732066756E6374696F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1018 PUSH1 0x21 DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x1023 DUP3 PUSH2 0xFBC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1047 DUP2 PUSH2 0x100B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x576F726B73746570496E7374616E636549642063616E6E6F7420626520656D70 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7479000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10AA PUSH1 0x22 DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x10B5 DUP3 PUSH2 0x104E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x10D9 DUP2 PUSH2 0x109D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x576F726B73746570496E7374616E636549642063616E6E6F7420657863656564 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2034302062797465730000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x113C PUSH1 0x29 DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x1147 DUP3 PUSH2 0x10E0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x116B DUP2 PUSH2 0x112F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416E63686F72486173682063616E6E6F7420626520656D707479000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11A8 PUSH1 0x1A DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x11B3 DUP3 PUSH2 0x1172 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x11D7 DUP2 PUSH2 0x119B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416E63686F72486173682063616E6E6F74206578636565642032353620627974 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6573000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x123A PUSH1 0x22 DUP4 PUSH2 0xED9 JUMP JUMPDEST SWAP2 POP PUSH2 0x1245 DUP3 PUSH2 0x11DE JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1269 DUP2 PUSH2 0x122D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1287 DUP4 DUP6 PUSH2 0x1270 JUMP JUMPDEST SWAP4 POP PUSH2 0x1294 DUP4 DUP6 DUP5 PUSH2 0xE06 JUMP JUMPDEST DUP3 DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12AD DUP3 DUP5 DUP7 PUSH2 0x127B JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x130B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x131E JUMPI PUSH2 0x131D PUSH2 0x12C4 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x1386 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1349 JUMP JUMPDEST PUSH2 0x1390 DUP7 DUP4 PUSH2 0x1349 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D7 PUSH2 0x13D2 PUSH2 0x13CD DUP5 PUSH2 0x13A8 JUMP JUMPDEST PUSH2 0x13B2 JUMP JUMPDEST PUSH2 0x13A8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13F1 DUP4 PUSH2 0x13BC JUMP JUMPDEST PUSH2 0x1405 PUSH2 0x13FD DUP3 PUSH2 0x13DE JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x1356 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x141A PUSH2 0x140D JUMP JUMPDEST PUSH2 0x1425 DUP2 DUP5 DUP5 PUSH2 0x13E8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1449 JUMPI PUSH2 0x143E PUSH1 0x0 DUP3 PUSH2 0x1412 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x142B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x148E JUMPI PUSH2 0x145F DUP2 PUSH2 0x1324 JUMP JUMPDEST PUSH2 0x1468 DUP5 PUSH2 0x1339 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x1477 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x148B PUSH2 0x1483 DUP6 PUSH2 0x1339 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x142A JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14B1 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1493 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14CA DUP4 DUP4 PUSH2 0x14A0 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14E4 DUP4 DUP4 PUSH2 0x12B9 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14FD JUMPI PUSH2 0x14FC PUSH2 0xD5A JUMP JUMPDEST JUMPDEST PUSH2 0x1507 DUP3 SLOAD PUSH2 0x12F3 JUMP JUMPDEST PUSH2 0x1512 DUP3 DUP3 DUP6 PUSH2 0x144D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1541 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x152F JUMPI DUP3 DUP8 ADD CALLDATALOAD SWAP1 POP JUMPDEST PUSH2 0x1539 DUP6 DUP3 PUSH2 0x14BE JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x15A1 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x154F DUP7 PUSH2 0x1324 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1577 JUMPI DUP5 DUP10 ADD CALLDATALOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1552 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1594 JUMPI DUP5 DUP10 ADD CALLDATALOAD PUSH2 0x1590 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x14A0 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15B6 DUP4 DUP6 PUSH2 0xED9 JUMP JUMPDEST SWAP4 POP PUSH2 0x15C3 DUP4 DUP6 DUP5 PUSH2 0xE06 JUMP JUMPDEST PUSH2 0x15CC DUP4 PUSH2 0xD49 JUMP JUMPDEST DUP5 ADD SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x15F2 DUP2 DUP5 DUP7 PUSH2 0x15AA JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1604 DUP2 PUSH2 0xCC6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x161F PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x15FB JUMP JUMPDEST PUSH2 0x162C PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xB96 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEC 0xE4 0x1F 0x4F LOG0 SMOD PUSH8 0xE1DEA402F3499F4B 0x29 DUP12 STATICCALL GASLIMIT CHAINID PREVRANDAO 0xD4 PUSH3 0x5EEC00 0xBB 0xAD SWAP14 PUSH2 0x6B2D PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ","sourceMap":"123:1456:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2565:202:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3810:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;633:642:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4226:136:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5328:245;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;172:48:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;302:60;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1279:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2854:136:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2187:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4642:138;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2565:202;2650:4;2688:32;2673:47;;;:11;:47;;;;:87;;;;2724:36;2748:11;2724:23;:36::i;:::-;2673:87;2666:94;;2565:202;;;:::o;3810:120::-;3875:7;3901:6;:12;3908:4;3901:12;;;;;;;;;;;:22;;;3894:29;;3810:120;;;:::o;633:642:5:-;1485:31;339:23;1505:10;1485:7;:31::i;:::-;1470:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;810:1:::1;780:19;;774:33;;:37;759:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;918:2;888:19;;882:33;;:38;867:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;1019:1;997:11;;991:25;;:29;983:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1101:3;1078:11;;1072:25;;:32;;1057:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;1200:11;;1161:15;1177:19;;1161:36;;;;;;;:::i;:::-;;;;;;;;;;;;;:50;;;;;;;:::i;:::-;;1237:19;;1223:47;;;;;;;:::i;:::-;;;;;;;;;1258:11;;1223:47;;;;;;;:::i;:::-;;;;;;;;633:642:::0;;;;:::o;4226:136:0:-;4300:18;4313:4;4300:12;:18::i;:::-;2464:16;2475:4;2464:10;:16::i;:::-;4330:25:::1;4341:4;4347:7;4330:10;:25::i;:::-;;4226:136:::0;;;:::o;5328:245::-;5443:12;:10;:12::i;:::-;5421:34;;:18;:34;;;5417:102;;5478:30;;;;;;;;;;;;;;5417:102;5529:37;5541:4;5547:18;5529:11;:37::i;:::-;;5328:245;;:::o;172:48:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;302:60::-;339:23;302:60;:::o;1279:160::-;1370:13;1398:15;1414:19;;1398:36;;;;;;;:::i;:::-;;;;;;;;;;;;;1391:43;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1279:160;;;;:::o;2854:136:0:-;2931:4;2954:6;:12;2961:4;2954:12;;;;;;;;;;;:20;;:29;2975:7;2954:29;;;;;;;;;;;;;;;;;;;;;;;;;2947:36;;2854:136;;;;:::o;2187:49::-;2232:4;2187:49;;;:::o;4642:138::-;4717:18;4730:4;4717:12;:18::i;:::-;2464:16;2475:4;2464:10;:16::i;:::-;4747:26:::1;4759:4;4765:7;4747:11;:26::i;:::-;;4642:138:::0;;;:::o;762:146:3:-;838:4;876:25;861:40;;;:11;:40;;;;854:47;;762:146;;;:::o;3199:103:0:-;3265:30;3276:4;3282:12;:10;:12::i;:::-;3265:10;:30::i;:::-;3199:103;:::o;6179:316::-;6256:4;6277:22;6285:4;6291:7;6277;:22::i;:::-;6272:217;;6347:4;6315:6;:12;6322:4;6315:12;;;;;;;;;;;:20;;:29;6336:7;6315:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;6397:12;:10;:12::i;:::-;6370:40;;6388:7;6370:40;;6382:4;6370:40;;;;;;;;;;6431:4;6424:11;;;;6272:217;6473:5;6466:12;;6179:316;;;;;:::o;656:96:2:-;709:7;735:10;728:17;;656:96;:::o;6730:317:0:-;6808:4;6828:22;6836:4;6842:7;6828;:22::i;:::-;6824:217;;;6898:5;6866:6;:12;6873:4;6866:12;;;;;;;;;;;:20;;:29;6887:7;6866:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;6949:12;:10;:12::i;:::-;6922:40;;6940:7;6922:40;;6934:4;6922:40;;;;;;;;;;6983:4;6976:11;;;;6824:217;7025:5;7018:12;;6730:317;;;;;:::o;3432:197::-;3520:22;3528:4;3534:7;3520;:22::i;:::-;3515:108;;3598:7;3607:4;3565:47;;;;;;;;;;;;:::i;:::-;;;;;;;;3515:108;3432:197;;:::o;7:75:9:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:77::-;1555:7;1584:5;1573:16;;1518:77;;;:::o;1601:122::-;1674:24;1692:5;1674:24;:::i;:::-;1667:5;1664:35;1654:63;;1713:1;1710;1703:12;1654:63;1601:122;:::o;1729:139::-;1775:5;1813:6;1800:20;1791:29;;1829:33;1856:5;1829:33;:::i;:::-;1729:139;;;;:::o;1874:329::-;1933:6;1982:2;1970:9;1961:7;1957:23;1953:32;1950:119;;;1988:79;;:::i;:::-;1950:119;2108:1;2133:53;2178:7;2169:6;2158:9;2154:22;2133:53;:::i;:::-;2123:63;;2079:117;1874:329;;;;:::o;2209:118::-;2296:24;2314:5;2296:24;:::i;:::-;2291:3;2284:37;2209:118;;:::o;2333:222::-;2426:4;2464:2;2453:9;2449:18;2441:26;;2477:71;2545:1;2534:9;2530:17;2521:6;2477:71;:::i;:::-;2333:222;;;;:::o;2561:117::-;2670:1;2667;2660:12;2684:117;2793:1;2790;2783:12;2807:117;2916:1;2913;2906:12;2944:553;3002:8;3012:6;3062:3;3055:4;3047:6;3043:17;3039:27;3029:122;;3070:79;;:::i;:::-;3029:122;3183:6;3170:20;3160:30;;3213:18;3205:6;3202:30;3199:117;;;3235:79;;:::i;:::-;3199:117;3349:4;3341:6;3337:17;3325:29;;3403:3;3395:4;3387:6;3383:17;3373:8;3369:32;3366:41;3363:128;;;3410:79;;:::i;:::-;3363:128;2944:553;;;;;:::o;3503:874::-;3595:6;3603;3611;3619;3668:2;3656:9;3647:7;3643:23;3639:32;3636:119;;;3674:79;;:::i;:::-;3636:119;3822:1;3811:9;3807:17;3794:31;3852:18;3844:6;3841:30;3838:117;;;3874:79;;:::i;:::-;3838:117;3987:65;4044:7;4035:6;4024:9;4020:22;3987:65;:::i;:::-;3969:83;;;;3765:297;4129:2;4118:9;4114:18;4101:32;4160:18;4152:6;4149:30;4146:117;;;4182:79;;:::i;:::-;4146:117;4295:65;4352:7;4343:6;4332:9;4328:22;4295:65;:::i;:::-;4277:83;;;;4072:298;3503:874;;;;;;;:::o;4383:126::-;4420:7;4460:42;4453:5;4449:54;4438:65;;4383:126;;;:::o;4515:96::-;4552:7;4581:24;4599:5;4581:24;:::i;:::-;4570:35;;4515:96;;;:::o;4617:122::-;4690:24;4708:5;4690:24;:::i;:::-;4683:5;4680:35;4670:63;;4729:1;4726;4719:12;4670:63;4617:122;:::o;4745:139::-;4791:5;4829:6;4816:20;4807:29;;4845:33;4872:5;4845:33;:::i;:::-;4745:139;;;;:::o;4890:474::-;4958:6;4966;5015:2;5003:9;4994:7;4990:23;4986:32;4983:119;;;5021:79;;:::i;:::-;4983:119;5141:1;5166:53;5211:7;5202:6;5191:9;5187:22;5166:53;:::i;:::-;5156:63;;5112:117;5268:2;5294:53;5339:7;5330:6;5319:9;5315:22;5294:53;:::i;:::-;5284:63;;5239:118;4890:474;;;;;:::o;5370:117::-;5479:1;5476;5469:12;5493:102;5534:6;5585:2;5581:7;5576:2;5569:5;5565:14;5561:28;5551:38;;5493:102;;;:::o;5601:180::-;5649:77;5646:1;5639:88;5746:4;5743:1;5736:15;5770:4;5767:1;5760:15;5787:281;5870:27;5892:4;5870:27;:::i;:::-;5862:6;5858:40;6000:6;5988:10;5985:22;5964:18;5952:10;5949:34;5946:62;5943:88;;;6011:18;;:::i;:::-;5943:88;6051:10;6047:2;6040:22;5830:238;5787:281;;:::o;6074:129::-;6108:6;6135:20;;:::i;:::-;6125:30;;6164:33;6192:4;6184:6;6164:33;:::i;:::-;6074:129;;;:::o;6209:308::-;6271:4;6361:18;6353:6;6350:30;6347:56;;;6383:18;;:::i;:::-;6347:56;6421:29;6443:6;6421:29;:::i;:::-;6413:37;;6505:4;6499;6495:15;6487:23;;6209:308;;;:::o;6523:146::-;6620:6;6615:3;6610;6597:30;6661:1;6652:6;6647:3;6643:16;6636:27;6523:146;;;:::o;6675:425::-;6753:5;6778:66;6794:49;6836:6;6794:49;:::i;:::-;6778:66;:::i;:::-;6769:75;;6867:6;6860:5;6853:21;6905:4;6898:5;6894:16;6943:3;6934:6;6929:3;6925:16;6922:25;6919:112;;;6950:79;;:::i;:::-;6919:112;7040:54;7087:6;7082:3;7077;7040:54;:::i;:::-;6759:341;6675:425;;;;;:::o;7120:340::-;7176:5;7225:3;7218:4;7210:6;7206:17;7202:27;7192:122;;7233:79;;:::i;:::-;7192:122;7350:6;7337:20;7375:79;7450:3;7442:6;7435:4;7427:6;7423:17;7375:79;:::i;:::-;7366:88;;7182:278;7120:340;;;;:::o;7466:509::-;7535:6;7584:2;7572:9;7563:7;7559:23;7555:32;7552:119;;;7590:79;;:::i;:::-;7552:119;7738:1;7727:9;7723:17;7710:31;7768:18;7760:6;7757:30;7754:117;;;7790:79;;:::i;:::-;7754:117;7895:63;7950:7;7941:6;7930:9;7926:22;7895:63;:::i;:::-;7885:73;;7681:287;7466:509;;;;:::o;7981:99::-;8033:6;8067:5;8061:12;8051:22;;7981:99;;;:::o;8086:169::-;8170:11;8204:6;8199:3;8192:19;8244:4;8239:3;8235:14;8220:29;;8086:169;;;;:::o;8261:246::-;8342:1;8352:113;8366:6;8363:1;8360:13;8352:113;;;8451:1;8446:3;8442:11;8436:18;8432:1;8427:3;8423:11;8416:39;8388:2;8385:1;8381:10;8376:15;;8352:113;;;8499:1;8490:6;8485:3;8481:16;8474:27;8323:184;8261:246;;;:::o;8513:377::-;8601:3;8629:39;8662:5;8629:39;:::i;:::-;8684:71;8748:6;8743:3;8684:71;:::i;:::-;8677:78;;8764:65;8822:6;8817:3;8810:4;8803:5;8799:16;8764:65;:::i;:::-;8854:29;8876:6;8854:29;:::i;:::-;8849:3;8845:39;8838:46;;8605:285;8513:377;;;;:::o;8896:313::-;9009:4;9047:2;9036:9;9032:18;9024:26;;9096:9;9090:4;9086:20;9082:1;9071:9;9067:17;9060:47;9124:78;9197:4;9188:6;9124:78;:::i;:::-;9116:86;;8896:313;;;;:::o;9215:529::-;9286:6;9294;9343:2;9331:9;9322:7;9318:23;9314:32;9311:119;;;9349:79;;:::i;:::-;9311:119;9497:1;9486:9;9482:17;9469:31;9527:18;9519:6;9516:30;9513:117;;;9549:79;;:::i;:::-;9513:117;9662:65;9719:7;9710:6;9699:9;9695:22;9662:65;:::i;:::-;9644:83;;;;9440:297;9215:529;;;;;:::o;9750:220::-;9890:34;9886:1;9878:6;9874:14;9867:58;9959:3;9954:2;9946:6;9942:15;9935:28;9750:220;:::o;9976:366::-;10118:3;10139:67;10203:2;10198:3;10139:67;:::i;:::-;10132:74;;10215:93;10304:3;10215:93;:::i;:::-;10333:2;10328:3;10324:12;10317:19;;9976:366;;;:::o;10348:419::-;10514:4;10552:2;10541:9;10537:18;10529:26;;10601:9;10595:4;10591:20;10587:1;10576:9;10572:17;10565:47;10629:131;10755:4;10629:131;:::i;:::-;10621:139;;10348:419;;;:::o;10773:221::-;10913:34;10909:1;10901:6;10897:14;10890:58;10982:4;10977:2;10969:6;10965:15;10958:29;10773:221;:::o;11000:366::-;11142:3;11163:67;11227:2;11222:3;11163:67;:::i;:::-;11156:74;;11239:93;11328:3;11239:93;:::i;:::-;11357:2;11352:3;11348:12;11341:19;;11000:366;;;:::o;11372:419::-;11538:4;11576:2;11565:9;11561:18;11553:26;;11625:9;11619:4;11615:20;11611:1;11600:9;11596:17;11589:47;11653:131;11779:4;11653:131;:::i;:::-;11645:139;;11372:419;;;:::o;11797:228::-;11937:34;11933:1;11925:6;11921:14;11914:58;12006:11;12001:2;11993:6;11989:15;11982:36;11797:228;:::o;12031:366::-;12173:3;12194:67;12258:2;12253:3;12194:67;:::i;:::-;12187:74;;12270:93;12359:3;12270:93;:::i;:::-;12388:2;12383:3;12379:12;12372:19;;12031:366;;;:::o;12403:419::-;12569:4;12607:2;12596:9;12592:18;12584:26;;12656:9;12650:4;12646:20;12642:1;12631:9;12627:17;12620:47;12684:131;12810:4;12684:131;:::i;:::-;12676:139;;12403:419;;;:::o;12828:176::-;12968:28;12964:1;12956:6;12952:14;12945:52;12828:176;:::o;13010:366::-;13152:3;13173:67;13237:2;13232:3;13173:67;:::i;:::-;13166:74;;13249:93;13338:3;13249:93;:::i;:::-;13367:2;13362:3;13358:12;13351:19;;13010:366;;;:::o;13382:419::-;13548:4;13586:2;13575:9;13571:18;13563:26;;13635:9;13629:4;13625:20;13621:1;13610:9;13606:17;13599:47;13663:131;13789:4;13663:131;:::i;:::-;13655:139;;13382:419;;;:::o;13807:221::-;13947:34;13943:1;13935:6;13931:14;13924:58;14016:4;14011:2;14003:6;13999:15;13992:29;13807:221;:::o;14034:366::-;14176:3;14197:67;14261:2;14256:3;14197:67;:::i;:::-;14190:74;;14273:93;14362:3;14273:93;:::i;:::-;14391:2;14386:3;14382:12;14375:19;;14034:366;;;:::o;14406:419::-;14572:4;14610:2;14599:9;14595:18;14587:26;;14659:9;14653:4;14649:20;14645:1;14634:9;14630:17;14623:47;14687:131;14813:4;14687:131;:::i;:::-;14679:139;;14406:419;;;:::o;14831:148::-;14933:11;14970:3;14955:18;;14831:148;;;;:::o;15009:330::-;15125:3;15146:89;15228:6;15223:3;15146:89;:::i;:::-;15139:96;;15245:56;15294:6;15289:3;15282:5;15245:56;:::i;:::-;15326:6;15321:3;15317:16;15310:23;;15009:330;;;;;:::o;15345:295::-;15487:3;15509:105;15610:3;15601:6;15593;15509:105;:::i;:::-;15502:112;;15631:3;15624:10;;15345:295;;;;;:::o;15646:97::-;15705:6;15733:3;15723:13;;15646:97;;;;:::o;15749:180::-;15797:77;15794:1;15787:88;15894:4;15891:1;15884:15;15918:4;15915:1;15908:15;15935:320;15979:6;16016:1;16010:4;16006:12;15996:22;;16063:1;16057:4;16053:12;16084:18;16074:81;;16140:4;16132:6;16128:17;16118:27;;16074:81;16202:2;16194:6;16191:14;16171:18;16168:38;16165:84;;16221:18;;:::i;:::-;16165:84;15986:269;15935:320;;;:::o;16261:141::-;16310:4;16333:3;16325:11;;16356:3;16353:1;16346:14;16390:4;16387:1;16377:18;16369:26;;16261:141;;;:::o;16408:93::-;16445:6;16492:2;16487;16480:5;16476:14;16472:23;16462:33;;16408:93;;;:::o;16507:107::-;16551:8;16601:5;16595:4;16591:16;16570:37;;16507:107;;;;:::o;16620:393::-;16689:6;16739:1;16727:10;16723:18;16762:97;16792:66;16781:9;16762:97;:::i;:::-;16880:39;16910:8;16899:9;16880:39;:::i;:::-;16868:51;;16952:4;16948:9;16941:5;16937:21;16928:30;;17001:4;16991:8;16987:19;16980:5;16977:30;16967:40;;16696:317;;16620:393;;;;;:::o;17019:77::-;17056:7;17085:5;17074:16;;17019:77;;;:::o;17102:60::-;17130:3;17151:5;17144:12;;17102:60;;;:::o;17168:142::-;17218:9;17251:53;17269:34;17278:24;17296:5;17278:24;:::i;:::-;17269:34;:::i;:::-;17251:53;:::i;:::-;17238:66;;17168:142;;;:::o;17316:75::-;17359:3;17380:5;17373:12;;17316:75;;;:::o;17397:269::-;17507:39;17538:7;17507:39;:::i;:::-;17568:91;17617:41;17641:16;17617:41;:::i;:::-;17609:6;17602:4;17596:11;17568:91;:::i;:::-;17562:4;17555:105;17473:193;17397:269;;;:::o;17672:73::-;17717:3;17672:73;:::o;17751:189::-;17828:32;;:::i;:::-;17869:65;17927:6;17919;17913:4;17869:65;:::i;:::-;17804:136;17751:189;;:::o;17946:186::-;18006:120;18023:3;18016:5;18013:14;18006:120;;;18077:39;18114:1;18107:5;18077:39;:::i;:::-;18050:1;18043:5;18039:13;18030:22;;18006:120;;;17946:186;;:::o;18138:543::-;18239:2;18234:3;18231:11;18228:446;;;18273:38;18305:5;18273:38;:::i;:::-;18357:29;18375:10;18357:29;:::i;:::-;18347:8;18343:44;18540:2;18528:10;18525:18;18522:49;;;18561:8;18546:23;;18522:49;18584:80;18640:22;18658:3;18640:22;:::i;:::-;18630:8;18626:37;18613:11;18584:80;:::i;:::-;18243:431;;18228:446;18138:543;;;:::o;18687:117::-;18741:8;18791:5;18785:4;18781:16;18760:37;;18687:117;;;;:::o;18810:169::-;18854:6;18887:51;18935:1;18931:6;18923:5;18920:1;18916:13;18887:51;:::i;:::-;18883:56;18968:4;18962;18958:15;18948:25;;18861:118;18810:169;;;;:::o;18984:295::-;19060:4;19206:29;19231:3;19225:4;19206:29;:::i;:::-;19198:37;;19268:3;19265:1;19261:11;19255:4;19252:21;19244:29;;18984:295;;;;:::o;19284:1403::-;19408:44;19448:3;19443;19408:44;:::i;:::-;19517:18;19509:6;19506:30;19503:56;;;19539:18;;:::i;:::-;19503:56;19583:38;19615:4;19609:11;19583:38;:::i;:::-;19668:67;19728:6;19720;19714:4;19668:67;:::i;:::-;19762:1;19791:2;19783:6;19780:14;19808:1;19803:632;;;;20479:1;20496:6;20493:84;;;20552:9;20547:3;20543:19;20530:33;20521:42;;20493:84;20603:67;20663:6;20656:5;20603:67;:::i;:::-;20597:4;20590:81;20452:229;19773:908;;19803:632;19855:4;19851:9;19843:6;19839:22;19889:37;19921:4;19889:37;:::i;:::-;19948:1;19962:215;19976:7;19973:1;19970:14;19962:215;;;20062:9;20057:3;20053:19;20040:33;20032:6;20025:49;20113:1;20105:6;20101:14;20091:24;;20160:2;20149:9;20145:18;20132:31;;19999:4;19996:1;19992:12;19987:17;;19962:215;;;20205:6;20196:7;20193:19;20190:186;;;20270:9;20265:3;20261:19;20248:33;20313:48;20355:4;20347:6;20343:17;20332:9;20313:48;:::i;:::-;20305:6;20298:64;20213:163;20190:186;20422:1;20418;20410:6;20406:14;20402:22;20396:4;20389:36;19810:625;;;19773:908;;19383:1304;;;19284:1403;;;:::o;20717:317::-;20815:3;20836:71;20900:6;20895:3;20836:71;:::i;:::-;20829:78;;20917:56;20966:6;20961:3;20954:5;20917:56;:::i;:::-;20998:29;21020:6;20998:29;:::i;:::-;20993:3;20989:39;20982:46;;20717:317;;;;;:::o;21040:333::-;21163:4;21201:2;21190:9;21186:18;21178:26;;21250:9;21244:4;21240:20;21236:1;21225:9;21221:17;21214:47;21278:88;21361:4;21352:6;21344;21278:88;:::i;:::-;21270:96;;21040:333;;;;;:::o;21379:118::-;21466:24;21484:5;21466:24;:::i;:::-;21461:3;21454:37;21379:118;;:::o;21503:332::-;21624:4;21662:2;21651:9;21647:18;21639:26;;21675:71;21743:1;21732:9;21728:17;21719:6;21675:71;:::i;:::-;21756:72;21824:2;21813:9;21809:18;21800:6;21756:72;:::i;:::-;21503:332;;;;;:::o"},"methodIdentifiers":{"ADMIN_ROLE()":"75b238fc","DEFAULT_ADMIN_ROLE()":"a217fddf","anchorHashStore(string)":"513ec2f8","getAnchorHash(string)":"890f10a0","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setAnchorHash(string,string)":"2588cd55","supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"admins\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"workstepInstanceId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"anchorHash\",\"type\":\"string\"}],\"name\":\"AnchorHashSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"anchorHashStore\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_workstepInstanceId\",\"type\":\"string\"}],\"name\":\"getAnchorHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_workstepInstanceId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_anchorHash\",\"type\":\"string\"}],\"name\":\"setAnchorHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/CcsmBpiStateAnchor.sol\":\"CcsmBpiStateAnchor\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80\",\"dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"contracts/CcsmBpiStateAnchor.sol\":{\"keccak256\":\"0x5c6e4a77a8169aef62d86678e91c3b7ba7a475f4ab0a621bb330dbc964500e54\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://82640ab6c2a5c53d0512691ee974985c824867d9bc763020d560ae00cc18e739\",\"dweb:/ipfs/QmcemSDebVg8VWXiDoEmJYchtSw3Lr9CX9NVkhLW8Ckkrt\"]}},\"version\":1}"}},"contracts/workstep1Verifier.sol":{"PlonkVerifier":{"abi":[{"inputs":[{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"uint256[]","name":"pubSignals","type":"uint256[]"}],"name":"verifyProof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50611dc3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cdf565b610060565b6040516100579190611d72565b60405180910390f35b6000611a1c565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f29e79ad99d77a4ffcf4b8ab0e464b713c864049f2add12136968cff0864088eb7f1410aa6f48b6cf3bf598c6dfa5cb01466519164bd833de0e7827db62d8cac07884610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f1d0d822b29a0910be348f05ad545cfca3c4a45984ec7b3c071978ca4e979b6867f1689e43d6a0f29f2c00abcf49c803fa5c0ebbf4937b1ad668147399369a8fa7e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f145db25e5672a52146b54883489d4339ba16367240f7dd1dacb09e4daf1189d77f1f3ae2a7d2308c43976c572190b3779f177a653b623119177aec86a173733e0984610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f2ece7b42d73dbbda215415dad9da14a4e9f50453c2ea3c269d78f0c4f48b93927f1d854ccab14984cad21ee83abc5688656d4978607ee46ce05c6e30e70438934c84610c61565b60c08501519250610f76837f28dfa5635712fec932cb955efa78de7c3bb1d717ca47ac63d0028c25000ab9827f0c1d9a27ace009b0748df47d8996964d4c5efe448f5689be7f89b1c9b54d1fd484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f1a57e0730386d03ce171300fd06d8df31762d7652b64af847809b15539bf96477f12515de6655d8e300d5106f29f03a0e8d28d2c9c2cf842475e26a42f3eca1c3784610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f28a149d8479d0660ccf9119b862a6296efb8955f144f3a4c28218cbdc30c4a3e7f268d5e96726a4f0a0af926881dd088840f0b189fc0bac1c06378ca1342030d4784610c61565b6115ee6101608601517f0e7776860985ee7b82e3ff3a29a0704c80cc4f49fd6a08562de1286b1a4147737f16d85b4ca470712c952db758ba22542a1494058886d0cf5bc1d6e2796d5d7a3a84610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ae836002600184610c61565b606085015192506117c4836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184883610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a3084610206565b611a3b83828661027f565b611a4481610785565b611a4e838261082a565b611a58818561088d565b611a628185610d07565b611a6c8185610d33565b611a758161184f565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aee82611aa5565b810181811067ffffffffffffffff82111715611b0d57611b0c611ab6565b5b80604052505050565b6000611b20611a87565b9050611b2c8282611ae5565b919050565b600067ffffffffffffffff821115611b4c57611b4b611ab6565b5b611b5582611aa5565b9050602081019050919050565b82818337600083830152505050565b6000611b84611b7f84611b31565b611b16565b905082815260208101848484011115611ba057611b9f611aa0565b5b611bab848285611b62565b509392505050565b600082601f830112611bc857611bc7611a9b565b5b8135611bd8848260208601611b71565b91505092915050565b600067ffffffffffffffff821115611bfc57611bfb611ab6565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b6000611c5b611c5684611be1565b611b16565b90508083825260208201905060208402830185811115611c7e57611c7d611c0d565b5b835b81811015611ca75780611c938882611c33565b845260208401935050602081019050611c80565b5050509392505050565b600082601f830112611cc657611cc5611a9b565b5b8135611cd6848260208601611c48565b91505092915050565b60008060408385031215611cf657611cf5611a91565b5b600083013567ffffffffffffffff811115611d1457611d13611a96565b5b611d2085828601611bb3565b925050602083013567ffffffffffffffff811115611d4157611d40611a96565b5b611d4d85828601611cb1565b9150509250929050565b60008115159050919050565b611d6c81611d57565b82525050565b6000602082019050611d876000830184611d63565b9291505056fea26469706673582212203093dcfd459ab1becb11ad43ebcf9e3441be5d423473c0159821433f9605e36864736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC3 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDF JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x29E79AD99D77A4FFCF4B8AB0E464B713C864049F2ADD12136968CFF0864088EB PUSH32 0x1410AA6F48B6CF3BF598C6DFA5CB01466519164BD833DE0E7827DB62D8CAC078 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x1D0D822B29A0910BE348F05AD545CFCA3C4A45984EC7B3C071978CA4E979B686 PUSH32 0x1689E43D6A0F29F2C00ABCF49C803FA5C0EBBF4937B1AD668147399369A8FA7E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0x145DB25E5672A52146B54883489D4339BA16367240F7DD1DACB09E4DAF1189D7 PUSH32 0x1F3AE2A7D2308C43976C572190B3779F177A653B623119177AEC86A173733E09 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x2ECE7B42D73DBBDA215415DAD9DA14A4E9F50453C2EA3C269D78F0C4F48B9392 PUSH32 0x1D854CCAB14984CAD21EE83ABC5688656D4978607EE46CE05C6E30E70438934C DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x28DFA5635712FEC932CB955EFA78DE7C3BB1D717CA47AC63D0028C25000AB982 PUSH32 0xC1D9A27ACE009B0748DF47D8996964D4C5EFE448F5689BE7F89B1C9B54D1FD4 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x1A57E0730386D03CE171300FD06D8DF31762D7652B64AF847809B15539BF9647 PUSH32 0x12515DE6655D8E300D5106F29F03A0E8D28D2C9C2CF842475E26A42F3ECA1C37 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x28A149D8479D0660CCF9119B862A6296EFB8955F144F3A4C28218CBDC30C4A3E PUSH32 0x268D5E96726A4F0A0AF926881DD088840F0B189FC0BAC1C06378CA1342030D47 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15EE PUSH2 0x160 DUP7 ADD MLOAD PUSH32 0xE7776860985EE7B82E3FF3A29A0704C80CC4F49FD6A08562DE1286B1A414773 PUSH32 0x16D85B4CA470712C952DB758BA22542A1494058886D0CF5BC1D6E2796D5D7A3A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AE DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C4 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1848 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A30 DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3B DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A44 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4E DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A58 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A62 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6C DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A75 DUP2 PUSH2 0x184F JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AEE DUP3 PUSH2 0x1AA5 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0D JUMPI PUSH2 0x1B0C PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B20 PUSH2 0x1A87 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2C DUP3 DUP3 PUSH2 0x1AE5 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4C JUMPI PUSH2 0x1B4B PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST PUSH2 0x1B55 DUP3 PUSH2 0x1AA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B84 PUSH2 0x1B7F DUP5 PUSH2 0x1B31 JUMP JUMPDEST PUSH2 0x1B16 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1BA0 JUMPI PUSH2 0x1B9F PUSH2 0x1AA0 JUMP JUMPDEST JUMPDEST PUSH2 0x1BAB DUP5 DUP3 DUP6 PUSH2 0x1B62 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC8 JUMPI PUSH2 0x1BC7 PUSH2 0x1A9B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B71 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFC JUMPI PUSH2 0x1BFB PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C25 DUP2 PUSH2 0x1C12 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C42 DUP2 PUSH2 0x1C1C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5B PUSH2 0x1C56 DUP5 PUSH2 0x1BE1 JUMP JUMPDEST PUSH2 0x1B16 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7E JUMPI PUSH2 0x1C7D PUSH2 0x1C0D JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA7 JUMPI DUP1 PUSH2 0x1C93 DUP9 DUP3 PUSH2 0x1C33 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C80 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC6 JUMPI PUSH2 0x1CC5 PUSH2 0x1A9B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C48 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF6 JUMPI PUSH2 0x1CF5 PUSH2 0x1A91 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D14 JUMPI PUSH2 0x1D13 PUSH2 0x1A96 JUMP JUMPDEST JUMPDEST PUSH2 0x1D20 DUP6 DUP3 DUP7 ADD PUSH2 0x1BB3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D41 JUMPI PUSH2 0x1D40 PUSH2 0x1A96 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4D DUP6 DUP3 DUP7 ADD PUSH2 0x1CB1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6C DUP2 PUSH2 0x1D57 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D87 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDRESS SWAP4 0xDC REVERT GASLIMIT SWAP11 0xB1 0xBE 0xCB GT 0xAD NUMBER 0xEB 0xCF SWAP15 CALLVALUE COINBASE 0xBE TSTORE TIMESTAMP CALLVALUE PUSH20 0xC0159821433F9605E36864736F6C634300081800 CALLER ","sourceMap":"832:23908:6:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@verifyProof_815":{"entryPoint":96,"id":815,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7240,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":7025,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7345,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":7091,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":7219,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7391,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":7523,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":7538,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":6934,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":6791,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7137,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":6961,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":7511,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":7186,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":7010,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":6885,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x41":{"entryPoint":6838,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":6811,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":7181,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":6816,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":6806,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":6801,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":6821,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":7196,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nativeSrc":"0:5761:9","nodeType":"YulBlock","src":"0:5761:9","statements":[{"body":{"nativeSrc":"47:35:9","nodeType":"YulBlock","src":"47:35:9","statements":[{"nativeSrc":"57:19:9","nodeType":"YulAssignment","src":"57:19:9","value":{"arguments":[{"kind":"number","nativeSrc":"73:2:9","nodeType":"YulLiteral","src":"73:2:9","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"67:5:9","nodeType":"YulIdentifier","src":"67:5:9"},"nativeSrc":"67:9:9","nodeType":"YulFunctionCall","src":"67:9:9"},"variableNames":[{"name":"memPtr","nativeSrc":"57:6:9","nodeType":"YulIdentifier","src":"57:6:9"}]}]},"name":"allocate_unbounded","nativeSrc":"7:75:9","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nativeSrc":"40:6:9","nodeType":"YulTypedName","src":"40:6:9","type":""}],"src":"7:75:9"},{"body":{"nativeSrc":"177:28:9","nodeType":"YulBlock","src":"177:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194:1:9","nodeType":"YulLiteral","src":"194:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"197:1:9","nodeType":"YulLiteral","src":"197:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"187:6:9","nodeType":"YulIdentifier","src":"187:6:9"},"nativeSrc":"187:12:9","nodeType":"YulFunctionCall","src":"187:12:9"},"nativeSrc":"187:12:9","nodeType":"YulExpressionStatement","src":"187:12:9"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"88:117:9","nodeType":"YulFunctionDefinition","src":"88:117:9"},{"body":{"nativeSrc":"300:28:9","nodeType":"YulBlock","src":"300:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"317:1:9","nodeType":"YulLiteral","src":"317:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"320:1:9","nodeType":"YulLiteral","src":"320:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"310:6:9","nodeType":"YulIdentifier","src":"310:6:9"},"nativeSrc":"310:12:9","nodeType":"YulFunctionCall","src":"310:12:9"},"nativeSrc":"310:12:9","nodeType":"YulExpressionStatement","src":"310:12:9"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"211:117:9","nodeType":"YulFunctionDefinition","src":"211:117:9"},{"body":{"nativeSrc":"423:28:9","nodeType":"YulBlock","src":"423:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"440:1:9","nodeType":"YulLiteral","src":"440:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"443:1:9","nodeType":"YulLiteral","src":"443:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"433:6:9","nodeType":"YulIdentifier","src":"433:6:9"},"nativeSrc":"433:12:9","nodeType":"YulFunctionCall","src":"433:12:9"},"nativeSrc":"433:12:9","nodeType":"YulExpressionStatement","src":"433:12:9"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"334:117:9","nodeType":"YulFunctionDefinition","src":"334:117:9"},{"body":{"nativeSrc":"546:28:9","nodeType":"YulBlock","src":"546:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"563:1:9","nodeType":"YulLiteral","src":"563:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"566:1:9","nodeType":"YulLiteral","src":"566:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"556:6:9","nodeType":"YulIdentifier","src":"556:6:9"},"nativeSrc":"556:12:9","nodeType":"YulFunctionCall","src":"556:12:9"},"nativeSrc":"556:12:9","nodeType":"YulExpressionStatement","src":"556:12:9"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"457:117:9","nodeType":"YulFunctionDefinition","src":"457:117:9"},{"body":{"nativeSrc":"628:54:9","nodeType":"YulBlock","src":"628:54:9","statements":[{"nativeSrc":"638:38:9","nodeType":"YulAssignment","src":"638:38:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"656:5:9","nodeType":"YulIdentifier","src":"656:5:9"},{"kind":"number","nativeSrc":"663:2:9","nodeType":"YulLiteral","src":"663:2:9","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"652:3:9","nodeType":"YulIdentifier","src":"652:3:9"},"nativeSrc":"652:14:9","nodeType":"YulFunctionCall","src":"652:14:9"},{"arguments":[{"kind":"number","nativeSrc":"672:2:9","nodeType":"YulLiteral","src":"672:2:9","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"668:3:9","nodeType":"YulIdentifier","src":"668:3:9"},"nativeSrc":"668:7:9","nodeType":"YulFunctionCall","src":"668:7:9"}],"functionName":{"name":"and","nativeSrc":"648:3:9","nodeType":"YulIdentifier","src":"648:3:9"},"nativeSrc":"648:28:9","nodeType":"YulFunctionCall","src":"648:28:9"},"variableNames":[{"name":"result","nativeSrc":"638:6:9","nodeType":"YulIdentifier","src":"638:6:9"}]}]},"name":"round_up_to_mul_of_32","nativeSrc":"580:102:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"611:5:9","nodeType":"YulTypedName","src":"611:5:9","type":""}],"returnVariables":[{"name":"result","nativeSrc":"621:6:9","nodeType":"YulTypedName","src":"621:6:9","type":""}],"src":"580:102:9"},{"body":{"nativeSrc":"716:152:9","nodeType":"YulBlock","src":"716:152:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"733:1:9","nodeType":"YulLiteral","src":"733:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"736:77:9","nodeType":"YulLiteral","src":"736:77:9","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"726:6:9","nodeType":"YulIdentifier","src":"726:6:9"},"nativeSrc":"726:88:9","nodeType":"YulFunctionCall","src":"726:88:9"},"nativeSrc":"726:88:9","nodeType":"YulExpressionStatement","src":"726:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"830:1:9","nodeType":"YulLiteral","src":"830:1:9","type":"","value":"4"},{"kind":"number","nativeSrc":"833:4:9","nodeType":"YulLiteral","src":"833:4:9","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"823:6:9","nodeType":"YulIdentifier","src":"823:6:9"},"nativeSrc":"823:15:9","nodeType":"YulFunctionCall","src":"823:15:9"},"nativeSrc":"823:15:9","nodeType":"YulExpressionStatement","src":"823:15:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"854:1:9","nodeType":"YulLiteral","src":"854:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"857:4:9","nodeType":"YulLiteral","src":"857:4:9","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"847:6:9","nodeType":"YulIdentifier","src":"847:6:9"},"nativeSrc":"847:15:9","nodeType":"YulFunctionCall","src":"847:15:9"},"nativeSrc":"847:15:9","nodeType":"YulExpressionStatement","src":"847:15:9"}]},"name":"panic_error_0x41","nativeSrc":"688:180:9","nodeType":"YulFunctionDefinition","src":"688:180:9"},{"body":{"nativeSrc":"917:238:9","nodeType":"YulBlock","src":"917:238:9","statements":[{"nativeSrc":"927:58:9","nodeType":"YulVariableDeclaration","src":"927:58:9","value":{"arguments":[{"name":"memPtr","nativeSrc":"949:6:9","nodeType":"YulIdentifier","src":"949:6:9"},{"arguments":[{"name":"size","nativeSrc":"979:4:9","nodeType":"YulIdentifier","src":"979:4:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"957:21:9","nodeType":"YulIdentifier","src":"957:21:9"},"nativeSrc":"957:27:9","nodeType":"YulFunctionCall","src":"957:27:9"}],"functionName":{"name":"add","nativeSrc":"945:3:9","nodeType":"YulIdentifier","src":"945:3:9"},"nativeSrc":"945:40:9","nodeType":"YulFunctionCall","src":"945:40:9"},"variables":[{"name":"newFreePtr","nativeSrc":"931:10:9","nodeType":"YulTypedName","src":"931:10:9","type":""}]},{"body":{"nativeSrc":"1096:22:9","nodeType":"YulBlock","src":"1096:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1098:16:9","nodeType":"YulIdentifier","src":"1098:16:9"},"nativeSrc":"1098:18:9","nodeType":"YulFunctionCall","src":"1098:18:9"},"nativeSrc":"1098:18:9","nodeType":"YulExpressionStatement","src":"1098:18:9"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"1039:10:9","nodeType":"YulIdentifier","src":"1039:10:9"},{"kind":"number","nativeSrc":"1051:18:9","nodeType":"YulLiteral","src":"1051:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1036:2:9","nodeType":"YulIdentifier","src":"1036:2:9"},"nativeSrc":"1036:34:9","nodeType":"YulFunctionCall","src":"1036:34:9"},{"arguments":[{"name":"newFreePtr","nativeSrc":"1075:10:9","nodeType":"YulIdentifier","src":"1075:10:9"},{"name":"memPtr","nativeSrc":"1087:6:9","nodeType":"YulIdentifier","src":"1087:6:9"}],"functionName":{"name":"lt","nativeSrc":"1072:2:9","nodeType":"YulIdentifier","src":"1072:2:9"},"nativeSrc":"1072:22:9","nodeType":"YulFunctionCall","src":"1072:22:9"}],"functionName":{"name":"or","nativeSrc":"1033:2:9","nodeType":"YulIdentifier","src":"1033:2:9"},"nativeSrc":"1033:62:9","nodeType":"YulFunctionCall","src":"1033:62:9"},"nativeSrc":"1030:88:9","nodeType":"YulIf","src":"1030:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1134:2:9","nodeType":"YulLiteral","src":"1134:2:9","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"1138:10:9","nodeType":"YulIdentifier","src":"1138:10:9"}],"functionName":{"name":"mstore","nativeSrc":"1127:6:9","nodeType":"YulIdentifier","src":"1127:6:9"},"nativeSrc":"1127:22:9","nodeType":"YulFunctionCall","src":"1127:22:9"},"nativeSrc":"1127:22:9","nodeType":"YulExpressionStatement","src":"1127:22:9"}]},"name":"finalize_allocation","nativeSrc":"874:281:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"903:6:9","nodeType":"YulTypedName","src":"903:6:9","type":""},{"name":"size","nativeSrc":"911:4:9","nodeType":"YulTypedName","src":"911:4:9","type":""}],"src":"874:281:9"},{"body":{"nativeSrc":"1202:88:9","nodeType":"YulBlock","src":"1202:88:9","statements":[{"nativeSrc":"1212:30:9","nodeType":"YulAssignment","src":"1212:30:9","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nativeSrc":"1222:18:9","nodeType":"YulIdentifier","src":"1222:18:9"},"nativeSrc":"1222:20:9","nodeType":"YulFunctionCall","src":"1222:20:9"},"variableNames":[{"name":"memPtr","nativeSrc":"1212:6:9","nodeType":"YulIdentifier","src":"1212:6:9"}]},{"expression":{"arguments":[{"name":"memPtr","nativeSrc":"1271:6:9","nodeType":"YulIdentifier","src":"1271:6:9"},{"name":"size","nativeSrc":"1279:4:9","nodeType":"YulIdentifier","src":"1279:4:9"}],"functionName":{"name":"finalize_allocation","nativeSrc":"1251:19:9","nodeType":"YulIdentifier","src":"1251:19:9"},"nativeSrc":"1251:33:9","nodeType":"YulFunctionCall","src":"1251:33:9"},"nativeSrc":"1251:33:9","nodeType":"YulExpressionStatement","src":"1251:33:9"}]},"name":"allocate_memory","nativeSrc":"1161:129:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"1186:4:9","nodeType":"YulTypedName","src":"1186:4:9","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"1195:6:9","nodeType":"YulTypedName","src":"1195:6:9","type":""}],"src":"1161:129:9"},{"body":{"nativeSrc":"1362:241:9","nodeType":"YulBlock","src":"1362:241:9","statements":[{"body":{"nativeSrc":"1467:22:9","nodeType":"YulBlock","src":"1467:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1469:16:9","nodeType":"YulIdentifier","src":"1469:16:9"},"nativeSrc":"1469:18:9","nodeType":"YulFunctionCall","src":"1469:18:9"},"nativeSrc":"1469:18:9","nodeType":"YulExpressionStatement","src":"1469:18:9"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"1439:6:9","nodeType":"YulIdentifier","src":"1439:6:9"},{"kind":"number","nativeSrc":"1447:18:9","nodeType":"YulLiteral","src":"1447:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1436:2:9","nodeType":"YulIdentifier","src":"1436:2:9"},"nativeSrc":"1436:30:9","nodeType":"YulFunctionCall","src":"1436:30:9"},"nativeSrc":"1433:56:9","nodeType":"YulIf","src":"1433:56:9"},{"nativeSrc":"1499:37:9","nodeType":"YulAssignment","src":"1499:37:9","value":{"arguments":[{"name":"length","nativeSrc":"1529:6:9","nodeType":"YulIdentifier","src":"1529:6:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"1507:21:9","nodeType":"YulIdentifier","src":"1507:21:9"},"nativeSrc":"1507:29:9","nodeType":"YulFunctionCall","src":"1507:29:9"},"variableNames":[{"name":"size","nativeSrc":"1499:4:9","nodeType":"YulIdentifier","src":"1499:4:9"}]},{"nativeSrc":"1573:23:9","nodeType":"YulAssignment","src":"1573:23:9","value":{"arguments":[{"name":"size","nativeSrc":"1585:4:9","nodeType":"YulIdentifier","src":"1585:4:9"},{"kind":"number","nativeSrc":"1591:4:9","nodeType":"YulLiteral","src":"1591:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1581:3:9","nodeType":"YulIdentifier","src":"1581:3:9"},"nativeSrc":"1581:15:9","nodeType":"YulFunctionCall","src":"1581:15:9"},"variableNames":[{"name":"size","nativeSrc":"1573:4:9","nodeType":"YulIdentifier","src":"1573:4:9"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1296:307:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"1346:6:9","nodeType":"YulTypedName","src":"1346:6:9","type":""}],"returnVariables":[{"name":"size","nativeSrc":"1357:4:9","nodeType":"YulTypedName","src":"1357:4:9","type":""}],"src":"1296:307:9"},{"body":{"nativeSrc":"1673:82:9","nodeType":"YulBlock","src":"1673:82:9","statements":[{"expression":{"arguments":[{"name":"dst","nativeSrc":"1696:3:9","nodeType":"YulIdentifier","src":"1696:3:9"},{"name":"src","nativeSrc":"1701:3:9","nodeType":"YulIdentifier","src":"1701:3:9"},{"name":"length","nativeSrc":"1706:6:9","nodeType":"YulIdentifier","src":"1706:6:9"}],"functionName":{"name":"calldatacopy","nativeSrc":"1683:12:9","nodeType":"YulIdentifier","src":"1683:12:9"},"nativeSrc":"1683:30:9","nodeType":"YulFunctionCall","src":"1683:30:9"},"nativeSrc":"1683:30:9","nodeType":"YulExpressionStatement","src":"1683:30:9"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"1733:3:9","nodeType":"YulIdentifier","src":"1733:3:9"},{"name":"length","nativeSrc":"1738:6:9","nodeType":"YulIdentifier","src":"1738:6:9"}],"functionName":{"name":"add","nativeSrc":"1729:3:9","nodeType":"YulIdentifier","src":"1729:3:9"},"nativeSrc":"1729:16:9","nodeType":"YulFunctionCall","src":"1729:16:9"},{"kind":"number","nativeSrc":"1747:1:9","nodeType":"YulLiteral","src":"1747:1:9","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"1722:6:9","nodeType":"YulIdentifier","src":"1722:6:9"},"nativeSrc":"1722:27:9","nodeType":"YulFunctionCall","src":"1722:27:9"},"nativeSrc":"1722:27:9","nodeType":"YulExpressionStatement","src":"1722:27:9"}]},"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"1609:146:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1655:3:9","nodeType":"YulTypedName","src":"1655:3:9","type":""},{"name":"dst","nativeSrc":"1660:3:9","nodeType":"YulTypedName","src":"1660:3:9","type":""},{"name":"length","nativeSrc":"1665:6:9","nodeType":"YulTypedName","src":"1665:6:9","type":""}],"src":"1609:146:9"},{"body":{"nativeSrc":"1844:340:9","nodeType":"YulBlock","src":"1844:340:9","statements":[{"nativeSrc":"1854:74:9","nodeType":"YulAssignment","src":"1854:74:9","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"1920:6:9","nodeType":"YulIdentifier","src":"1920:6:9"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1879:40:9","nodeType":"YulIdentifier","src":"1879:40:9"},"nativeSrc":"1879:48:9","nodeType":"YulFunctionCall","src":"1879:48:9"}],"functionName":{"name":"allocate_memory","nativeSrc":"1863:15:9","nodeType":"YulIdentifier","src":"1863:15:9"},"nativeSrc":"1863:65:9","nodeType":"YulFunctionCall","src":"1863:65:9"},"variableNames":[{"name":"array","nativeSrc":"1854:5:9","nodeType":"YulIdentifier","src":"1854:5:9"}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"1944:5:9","nodeType":"YulIdentifier","src":"1944:5:9"},{"name":"length","nativeSrc":"1951:6:9","nodeType":"YulIdentifier","src":"1951:6:9"}],"functionName":{"name":"mstore","nativeSrc":"1937:6:9","nodeType":"YulIdentifier","src":"1937:6:9"},"nativeSrc":"1937:21:9","nodeType":"YulFunctionCall","src":"1937:21:9"},"nativeSrc":"1937:21:9","nodeType":"YulExpressionStatement","src":"1937:21:9"},{"nativeSrc":"1967:27:9","nodeType":"YulVariableDeclaration","src":"1967:27:9","value":{"arguments":[{"name":"array","nativeSrc":"1982:5:9","nodeType":"YulIdentifier","src":"1982:5:9"},{"kind":"number","nativeSrc":"1989:4:9","nodeType":"YulLiteral","src":"1989:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1978:3:9","nodeType":"YulIdentifier","src":"1978:3:9"},"nativeSrc":"1978:16:9","nodeType":"YulFunctionCall","src":"1978:16:9"},"variables":[{"name":"dst","nativeSrc":"1971:3:9","nodeType":"YulTypedName","src":"1971:3:9","type":""}]},{"body":{"nativeSrc":"2032:83:9","nodeType":"YulBlock","src":"2032:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"2034:77:9","nodeType":"YulIdentifier","src":"2034:77:9"},"nativeSrc":"2034:79:9","nodeType":"YulFunctionCall","src":"2034:79:9"},"nativeSrc":"2034:79:9","nodeType":"YulExpressionStatement","src":"2034:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"2013:3:9","nodeType":"YulIdentifier","src":"2013:3:9"},{"name":"length","nativeSrc":"2018:6:9","nodeType":"YulIdentifier","src":"2018:6:9"}],"functionName":{"name":"add","nativeSrc":"2009:3:9","nodeType":"YulIdentifier","src":"2009:3:9"},"nativeSrc":"2009:16:9","nodeType":"YulFunctionCall","src":"2009:16:9"},{"name":"end","nativeSrc":"2027:3:9","nodeType":"YulIdentifier","src":"2027:3:9"}],"functionName":{"name":"gt","nativeSrc":"2006:2:9","nodeType":"YulIdentifier","src":"2006:2:9"},"nativeSrc":"2006:25:9","nodeType":"YulFunctionCall","src":"2006:25:9"},"nativeSrc":"2003:112:9","nodeType":"YulIf","src":"2003:112:9"},{"expression":{"arguments":[{"name":"src","nativeSrc":"2161:3:9","nodeType":"YulIdentifier","src":"2161:3:9"},{"name":"dst","nativeSrc":"2166:3:9","nodeType":"YulIdentifier","src":"2166:3:9"},{"name":"length","nativeSrc":"2171:6:9","nodeType":"YulIdentifier","src":"2171:6:9"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"2124:36:9","nodeType":"YulIdentifier","src":"2124:36:9"},"nativeSrc":"2124:54:9","nodeType":"YulFunctionCall","src":"2124:54:9"},"nativeSrc":"2124:54:9","nodeType":"YulExpressionStatement","src":"2124:54:9"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"1761:423:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1817:3:9","nodeType":"YulTypedName","src":"1817:3:9","type":""},{"name":"length","nativeSrc":"1822:6:9","nodeType":"YulTypedName","src":"1822:6:9","type":""},{"name":"end","nativeSrc":"1830:3:9","nodeType":"YulTypedName","src":"1830:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"1838:5:9","nodeType":"YulTypedName","src":"1838:5:9","type":""}],"src":"1761:423:9"},{"body":{"nativeSrc":"2264:277:9","nodeType":"YulBlock","src":"2264:277:9","statements":[{"body":{"nativeSrc":"2313:83:9","nodeType":"YulBlock","src":"2313:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"2315:77:9","nodeType":"YulIdentifier","src":"2315:77:9"},"nativeSrc":"2315:79:9","nodeType":"YulFunctionCall","src":"2315:79:9"},"nativeSrc":"2315:79:9","nodeType":"YulExpressionStatement","src":"2315:79:9"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2292:6:9","nodeType":"YulIdentifier","src":"2292:6:9"},{"kind":"number","nativeSrc":"2300:4:9","nodeType":"YulLiteral","src":"2300:4:9","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"2288:3:9","nodeType":"YulIdentifier","src":"2288:3:9"},"nativeSrc":"2288:17:9","nodeType":"YulFunctionCall","src":"2288:17:9"},{"name":"end","nativeSrc":"2307:3:9","nodeType":"YulIdentifier","src":"2307:3:9"}],"functionName":{"name":"slt","nativeSrc":"2284:3:9","nodeType":"YulIdentifier","src":"2284:3:9"},"nativeSrc":"2284:27:9","nodeType":"YulFunctionCall","src":"2284:27:9"}],"functionName":{"name":"iszero","nativeSrc":"2277:6:9","nodeType":"YulIdentifier","src":"2277:6:9"},"nativeSrc":"2277:35:9","nodeType":"YulFunctionCall","src":"2277:35:9"},"nativeSrc":"2274:122:9","nodeType":"YulIf","src":"2274:122:9"},{"nativeSrc":"2405:34:9","nodeType":"YulVariableDeclaration","src":"2405:34:9","value":{"arguments":[{"name":"offset","nativeSrc":"2432:6:9","nodeType":"YulIdentifier","src":"2432:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"2419:12:9","nodeType":"YulIdentifier","src":"2419:12:9"},"nativeSrc":"2419:20:9","nodeType":"YulFunctionCall","src":"2419:20:9"},"variables":[{"name":"length","nativeSrc":"2409:6:9","nodeType":"YulTypedName","src":"2409:6:9","type":""}]},{"nativeSrc":"2448:87:9","nodeType":"YulAssignment","src":"2448:87:9","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2508:6:9","nodeType":"YulIdentifier","src":"2508:6:9"},{"kind":"number","nativeSrc":"2516:4:9","nodeType":"YulLiteral","src":"2516:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2504:3:9","nodeType":"YulIdentifier","src":"2504:3:9"},"nativeSrc":"2504:17:9","nodeType":"YulFunctionCall","src":"2504:17:9"},{"name":"length","nativeSrc":"2523:6:9","nodeType":"YulIdentifier","src":"2523:6:9"},{"name":"end","nativeSrc":"2531:3:9","nodeType":"YulIdentifier","src":"2531:3:9"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"2457:46:9","nodeType":"YulIdentifier","src":"2457:46:9"},"nativeSrc":"2457:78:9","nodeType":"YulFunctionCall","src":"2457:78:9"},"variableNames":[{"name":"array","nativeSrc":"2448:5:9","nodeType":"YulIdentifier","src":"2448:5:9"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"2203:338:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2242:6:9","nodeType":"YulTypedName","src":"2242:6:9","type":""},{"name":"end","nativeSrc":"2250:3:9","nodeType":"YulTypedName","src":"2250:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2258:5:9","nodeType":"YulTypedName","src":"2258:5:9","type":""}],"src":"2203:338:9"},{"body":{"nativeSrc":"2629:229:9","nodeType":"YulBlock","src":"2629:229:9","statements":[{"body":{"nativeSrc":"2734:22:9","nodeType":"YulBlock","src":"2734:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"2736:16:9","nodeType":"YulIdentifier","src":"2736:16:9"},"nativeSrc":"2736:18:9","nodeType":"YulFunctionCall","src":"2736:18:9"},"nativeSrc":"2736:18:9","nodeType":"YulExpressionStatement","src":"2736:18:9"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"2706:6:9","nodeType":"YulIdentifier","src":"2706:6:9"},{"kind":"number","nativeSrc":"2714:18:9","nodeType":"YulLiteral","src":"2714:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"2703:2:9","nodeType":"YulIdentifier","src":"2703:2:9"},"nativeSrc":"2703:30:9","nodeType":"YulFunctionCall","src":"2703:30:9"},"nativeSrc":"2700:56:9","nodeType":"YulIf","src":"2700:56:9"},{"nativeSrc":"2766:25:9","nodeType":"YulAssignment","src":"2766:25:9","value":{"arguments":[{"name":"length","nativeSrc":"2778:6:9","nodeType":"YulIdentifier","src":"2778:6:9"},{"kind":"number","nativeSrc":"2786:4:9","nodeType":"YulLiteral","src":"2786:4:9","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"2774:3:9","nodeType":"YulIdentifier","src":"2774:3:9"},"nativeSrc":"2774:17:9","nodeType":"YulFunctionCall","src":"2774:17:9"},"variableNames":[{"name":"size","nativeSrc":"2766:4:9","nodeType":"YulIdentifier","src":"2766:4:9"}]},{"nativeSrc":"2828:23:9","nodeType":"YulAssignment","src":"2828:23:9","value":{"arguments":[{"name":"size","nativeSrc":"2840:4:9","nodeType":"YulIdentifier","src":"2840:4:9"},{"kind":"number","nativeSrc":"2846:4:9","nodeType":"YulLiteral","src":"2846:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2836:3:9","nodeType":"YulIdentifier","src":"2836:3:9"},"nativeSrc":"2836:15:9","nodeType":"YulFunctionCall","src":"2836:15:9"},"variableNames":[{"name":"size","nativeSrc":"2828:4:9","nodeType":"YulIdentifier","src":"2828:4:9"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"2547:311:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"2613:6:9","nodeType":"YulTypedName","src":"2613:6:9","type":""}],"returnVariables":[{"name":"size","nativeSrc":"2624:4:9","nodeType":"YulTypedName","src":"2624:4:9","type":""}],"src":"2547:311:9"},{"body":{"nativeSrc":"2953:28:9","nodeType":"YulBlock","src":"2953:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2970:1:9","nodeType":"YulLiteral","src":"2970:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"2973:1:9","nodeType":"YulLiteral","src":"2973:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2963:6:9","nodeType":"YulIdentifier","src":"2963:6:9"},"nativeSrc":"2963:12:9","nodeType":"YulFunctionCall","src":"2963:12:9"},"nativeSrc":"2963:12:9","nodeType":"YulExpressionStatement","src":"2963:12:9"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"2864:117:9","nodeType":"YulFunctionDefinition","src":"2864:117:9"},{"body":{"nativeSrc":"3032:32:9","nodeType":"YulBlock","src":"3032:32:9","statements":[{"nativeSrc":"3042:16:9","nodeType":"YulAssignment","src":"3042:16:9","value":{"name":"value","nativeSrc":"3053:5:9","nodeType":"YulIdentifier","src":"3053:5:9"},"variableNames":[{"name":"cleaned","nativeSrc":"3042:7:9","nodeType":"YulIdentifier","src":"3042:7:9"}]}]},"name":"cleanup_t_uint256","nativeSrc":"2987:77:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3014:5:9","nodeType":"YulTypedName","src":"3014:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"3024:7:9","nodeType":"YulTypedName","src":"3024:7:9","type":""}],"src":"2987:77:9"},{"body":{"nativeSrc":"3113:79:9","nodeType":"YulBlock","src":"3113:79:9","statements":[{"body":{"nativeSrc":"3170:16:9","nodeType":"YulBlock","src":"3170:16:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3179:1:9","nodeType":"YulLiteral","src":"3179:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"3182:1:9","nodeType":"YulLiteral","src":"3182:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"3172:6:9","nodeType":"YulIdentifier","src":"3172:6:9"},"nativeSrc":"3172:12:9","nodeType":"YulFunctionCall","src":"3172:12:9"},"nativeSrc":"3172:12:9","nodeType":"YulExpressionStatement","src":"3172:12:9"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"3136:5:9","nodeType":"YulIdentifier","src":"3136:5:9"},{"arguments":[{"name":"value","nativeSrc":"3161:5:9","nodeType":"YulIdentifier","src":"3161:5:9"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"3143:17:9","nodeType":"YulIdentifier","src":"3143:17:9"},"nativeSrc":"3143:24:9","nodeType":"YulFunctionCall","src":"3143:24:9"}],"functionName":{"name":"eq","nativeSrc":"3133:2:9","nodeType":"YulIdentifier","src":"3133:2:9"},"nativeSrc":"3133:35:9","nodeType":"YulFunctionCall","src":"3133:35:9"}],"functionName":{"name":"iszero","nativeSrc":"3126:6:9","nodeType":"YulIdentifier","src":"3126:6:9"},"nativeSrc":"3126:43:9","nodeType":"YulFunctionCall","src":"3126:43:9"},"nativeSrc":"3123:63:9","nodeType":"YulIf","src":"3123:63:9"}]},"name":"validator_revert_t_uint256","nativeSrc":"3070:122:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3106:5:9","nodeType":"YulTypedName","src":"3106:5:9","type":""}],"src":"3070:122:9"},{"body":{"nativeSrc":"3250:87:9","nodeType":"YulBlock","src":"3250:87:9","statements":[{"nativeSrc":"3260:29:9","nodeType":"YulAssignment","src":"3260:29:9","value":{"arguments":[{"name":"offset","nativeSrc":"3282:6:9","nodeType":"YulIdentifier","src":"3282:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"3269:12:9","nodeType":"YulIdentifier","src":"3269:12:9"},"nativeSrc":"3269:20:9","nodeType":"YulFunctionCall","src":"3269:20:9"},"variableNames":[{"name":"value","nativeSrc":"3260:5:9","nodeType":"YulIdentifier","src":"3260:5:9"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"3325:5:9","nodeType":"YulIdentifier","src":"3325:5:9"}],"functionName":{"name":"validator_revert_t_uint256","nativeSrc":"3298:26:9","nodeType":"YulIdentifier","src":"3298:26:9"},"nativeSrc":"3298:33:9","nodeType":"YulFunctionCall","src":"3298:33:9"},"nativeSrc":"3298:33:9","nodeType":"YulExpressionStatement","src":"3298:33:9"}]},"name":"abi_decode_t_uint256","nativeSrc":"3198:139:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3228:6:9","nodeType":"YulTypedName","src":"3228:6:9","type":""},{"name":"end","nativeSrc":"3236:3:9","nodeType":"YulTypedName","src":"3236:3:9","type":""}],"returnVariables":[{"name":"value","nativeSrc":"3244:5:9","nodeType":"YulTypedName","src":"3244:5:9","type":""}],"src":"3198:139:9"},{"body":{"nativeSrc":"3462:608:9","nodeType":"YulBlock","src":"3462:608:9","statements":[{"nativeSrc":"3472:90:9","nodeType":"YulAssignment","src":"3472:90:9","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"3554:6:9","nodeType":"YulIdentifier","src":"3554:6:9"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3497:56:9","nodeType":"YulIdentifier","src":"3497:56:9"},"nativeSrc":"3497:64:9","nodeType":"YulFunctionCall","src":"3497:64:9"}],"functionName":{"name":"allocate_memory","nativeSrc":"3481:15:9","nodeType":"YulIdentifier","src":"3481:15:9"},"nativeSrc":"3481:81:9","nodeType":"YulFunctionCall","src":"3481:81:9"},"variableNames":[{"name":"array","nativeSrc":"3472:5:9","nodeType":"YulIdentifier","src":"3472:5:9"}]},{"nativeSrc":"3571:16:9","nodeType":"YulVariableDeclaration","src":"3571:16:9","value":{"name":"array","nativeSrc":"3582:5:9","nodeType":"YulIdentifier","src":"3582:5:9"},"variables":[{"name":"dst","nativeSrc":"3575:3:9","nodeType":"YulTypedName","src":"3575:3:9","type":""}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"3604:5:9","nodeType":"YulIdentifier","src":"3604:5:9"},{"name":"length","nativeSrc":"3611:6:9","nodeType":"YulIdentifier","src":"3611:6:9"}],"functionName":{"name":"mstore","nativeSrc":"3597:6:9","nodeType":"YulIdentifier","src":"3597:6:9"},"nativeSrc":"3597:21:9","nodeType":"YulFunctionCall","src":"3597:21:9"},"nativeSrc":"3597:21:9","nodeType":"YulExpressionStatement","src":"3597:21:9"},{"nativeSrc":"3627:23:9","nodeType":"YulAssignment","src":"3627:23:9","value":{"arguments":[{"name":"array","nativeSrc":"3638:5:9","nodeType":"YulIdentifier","src":"3638:5:9"},{"kind":"number","nativeSrc":"3645:4:9","nodeType":"YulLiteral","src":"3645:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3634:3:9","nodeType":"YulIdentifier","src":"3634:3:9"},"nativeSrc":"3634:16:9","nodeType":"YulFunctionCall","src":"3634:16:9"},"variableNames":[{"name":"dst","nativeSrc":"3627:3:9","nodeType":"YulIdentifier","src":"3627:3:9"}]},{"nativeSrc":"3660:44:9","nodeType":"YulVariableDeclaration","src":"3660:44:9","value":{"arguments":[{"name":"offset","nativeSrc":"3678:6:9","nodeType":"YulIdentifier","src":"3678:6:9"},{"arguments":[{"name":"length","nativeSrc":"3690:6:9","nodeType":"YulIdentifier","src":"3690:6:9"},{"kind":"number","nativeSrc":"3698:4:9","nodeType":"YulLiteral","src":"3698:4:9","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"3686:3:9","nodeType":"YulIdentifier","src":"3686:3:9"},"nativeSrc":"3686:17:9","nodeType":"YulFunctionCall","src":"3686:17:9"}],"functionName":{"name":"add","nativeSrc":"3674:3:9","nodeType":"YulIdentifier","src":"3674:3:9"},"nativeSrc":"3674:30:9","nodeType":"YulFunctionCall","src":"3674:30:9"},"variables":[{"name":"srcEnd","nativeSrc":"3664:6:9","nodeType":"YulTypedName","src":"3664:6:9","type":""}]},{"body":{"nativeSrc":"3732:103:9","nodeType":"YulBlock","src":"3732:103:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"3746:77:9","nodeType":"YulIdentifier","src":"3746:77:9"},"nativeSrc":"3746:79:9","nodeType":"YulFunctionCall","src":"3746:79:9"},"nativeSrc":"3746:79:9","nodeType":"YulExpressionStatement","src":"3746:79:9"}]},"condition":{"arguments":[{"name":"srcEnd","nativeSrc":"3719:6:9","nodeType":"YulIdentifier","src":"3719:6:9"},{"name":"end","nativeSrc":"3727:3:9","nodeType":"YulIdentifier","src":"3727:3:9"}],"functionName":{"name":"gt","nativeSrc":"3716:2:9","nodeType":"YulIdentifier","src":"3716:2:9"},"nativeSrc":"3716:15:9","nodeType":"YulFunctionCall","src":"3716:15:9"},"nativeSrc":"3713:122:9","nodeType":"YulIf","src":"3713:122:9"},{"body":{"nativeSrc":"3920:144:9","nodeType":"YulBlock","src":"3920:144:9","statements":[{"nativeSrc":"3935:21:9","nodeType":"YulVariableDeclaration","src":"3935:21:9","value":{"name":"src","nativeSrc":"3953:3:9","nodeType":"YulIdentifier","src":"3953:3:9"},"variables":[{"name":"elementPos","nativeSrc":"3939:10:9","nodeType":"YulTypedName","src":"3939:10:9","type":""}]},{"expression":{"arguments":[{"name":"dst","nativeSrc":"3977:3:9","nodeType":"YulIdentifier","src":"3977:3:9"},{"arguments":[{"name":"elementPos","nativeSrc":"4003:10:9","nodeType":"YulIdentifier","src":"4003:10:9"},{"name":"end","nativeSrc":"4015:3:9","nodeType":"YulIdentifier","src":"4015:3:9"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"3982:20:9","nodeType":"YulIdentifier","src":"3982:20:9"},"nativeSrc":"3982:37:9","nodeType":"YulFunctionCall","src":"3982:37:9"}],"functionName":{"name":"mstore","nativeSrc":"3970:6:9","nodeType":"YulIdentifier","src":"3970:6:9"},"nativeSrc":"3970:50:9","nodeType":"YulFunctionCall","src":"3970:50:9"},"nativeSrc":"3970:50:9","nodeType":"YulExpressionStatement","src":"3970:50:9"},{"nativeSrc":"4033:21:9","nodeType":"YulAssignment","src":"4033:21:9","value":{"arguments":[{"name":"dst","nativeSrc":"4044:3:9","nodeType":"YulIdentifier","src":"4044:3:9"},{"kind":"number","nativeSrc":"4049:4:9","nodeType":"YulLiteral","src":"4049:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4040:3:9","nodeType":"YulIdentifier","src":"4040:3:9"},"nativeSrc":"4040:14:9","nodeType":"YulFunctionCall","src":"4040:14:9"},"variableNames":[{"name":"dst","nativeSrc":"4033:3:9","nodeType":"YulIdentifier","src":"4033:3:9"}]}]},"condition":{"arguments":[{"name":"src","nativeSrc":"3873:3:9","nodeType":"YulIdentifier","src":"3873:3:9"},{"name":"srcEnd","nativeSrc":"3878:6:9","nodeType":"YulIdentifier","src":"3878:6:9"}],"functionName":{"name":"lt","nativeSrc":"3870:2:9","nodeType":"YulIdentifier","src":"3870:2:9"},"nativeSrc":"3870:15:9","nodeType":"YulFunctionCall","src":"3870:15:9"},"nativeSrc":"3844:220:9","nodeType":"YulForLoop","post":{"nativeSrc":"3886:25:9","nodeType":"YulBlock","src":"3886:25:9","statements":[{"nativeSrc":"3888:21:9","nodeType":"YulAssignment","src":"3888:21:9","value":{"arguments":[{"name":"src","nativeSrc":"3899:3:9","nodeType":"YulIdentifier","src":"3899:3:9"},{"kind":"number","nativeSrc":"3904:4:9","nodeType":"YulLiteral","src":"3904:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3895:3:9","nodeType":"YulIdentifier","src":"3895:3:9"},"nativeSrc":"3895:14:9","nodeType":"YulFunctionCall","src":"3895:14:9"},"variableNames":[{"name":"src","nativeSrc":"3888:3:9","nodeType":"YulIdentifier","src":"3888:3:9"}]}]},"pre":{"nativeSrc":"3848:21:9","nodeType":"YulBlock","src":"3848:21:9","statements":[{"nativeSrc":"3850:17:9","nodeType":"YulVariableDeclaration","src":"3850:17:9","value":{"name":"offset","nativeSrc":"3861:6:9","nodeType":"YulIdentifier","src":"3861:6:9"},"variables":[{"name":"src","nativeSrc":"3854:3:9","nodeType":"YulTypedName","src":"3854:3:9","type":""}]}]},"src":"3844:220:9"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3360:710:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3432:6:9","nodeType":"YulTypedName","src":"3432:6:9","type":""},{"name":"length","nativeSrc":"3440:6:9","nodeType":"YulTypedName","src":"3440:6:9","type":""},{"name":"end","nativeSrc":"3448:3:9","nodeType":"YulTypedName","src":"3448:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"3456:5:9","nodeType":"YulTypedName","src":"3456:5:9","type":""}],"src":"3360:710:9"},{"body":{"nativeSrc":"4170:293:9","nodeType":"YulBlock","src":"4170:293:9","statements":[{"body":{"nativeSrc":"4219:83:9","nodeType":"YulBlock","src":"4219:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"4221:77:9","nodeType":"YulIdentifier","src":"4221:77:9"},"nativeSrc":"4221:79:9","nodeType":"YulFunctionCall","src":"4221:79:9"},"nativeSrc":"4221:79:9","nodeType":"YulExpressionStatement","src":"4221:79:9"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4198:6:9","nodeType":"YulIdentifier","src":"4198:6:9"},{"kind":"number","nativeSrc":"4206:4:9","nodeType":"YulLiteral","src":"4206:4:9","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"4194:3:9","nodeType":"YulIdentifier","src":"4194:3:9"},"nativeSrc":"4194:17:9","nodeType":"YulFunctionCall","src":"4194:17:9"},{"name":"end","nativeSrc":"4213:3:9","nodeType":"YulIdentifier","src":"4213:3:9"}],"functionName":{"name":"slt","nativeSrc":"4190:3:9","nodeType":"YulIdentifier","src":"4190:3:9"},"nativeSrc":"4190:27:9","nodeType":"YulFunctionCall","src":"4190:27:9"}],"functionName":{"name":"iszero","nativeSrc":"4183:6:9","nodeType":"YulIdentifier","src":"4183:6:9"},"nativeSrc":"4183:35:9","nodeType":"YulFunctionCall","src":"4183:35:9"},"nativeSrc":"4180:122:9","nodeType":"YulIf","src":"4180:122:9"},{"nativeSrc":"4311:34:9","nodeType":"YulVariableDeclaration","src":"4311:34:9","value":{"arguments":[{"name":"offset","nativeSrc":"4338:6:9","nodeType":"YulIdentifier","src":"4338:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"4325:12:9","nodeType":"YulIdentifier","src":"4325:12:9"},"nativeSrc":"4325:20:9","nodeType":"YulFunctionCall","src":"4325:20:9"},"variables":[{"name":"length","nativeSrc":"4315:6:9","nodeType":"YulTypedName","src":"4315:6:9","type":""}]},{"nativeSrc":"4354:103:9","nodeType":"YulAssignment","src":"4354:103:9","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4430:6:9","nodeType":"YulIdentifier","src":"4430:6:9"},{"kind":"number","nativeSrc":"4438:4:9","nodeType":"YulLiteral","src":"4438:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4426:3:9","nodeType":"YulIdentifier","src":"4426:3:9"},"nativeSrc":"4426:17:9","nodeType":"YulFunctionCall","src":"4426:17:9"},{"name":"length","nativeSrc":"4445:6:9","nodeType":"YulIdentifier","src":"4445:6:9"},{"name":"end","nativeSrc":"4453:3:9","nodeType":"YulIdentifier","src":"4453:3:9"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4363:62:9","nodeType":"YulIdentifier","src":"4363:62:9"},"nativeSrc":"4363:94:9","nodeType":"YulFunctionCall","src":"4363:94:9"},"variableNames":[{"name":"array","nativeSrc":"4354:5:9","nodeType":"YulIdentifier","src":"4354:5:9"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4093:370:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"4148:6:9","nodeType":"YulTypedName","src":"4148:6:9","type":""},{"name":"end","nativeSrc":"4156:3:9","nodeType":"YulTypedName","src":"4156:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"4164:5:9","nodeType":"YulTypedName","src":"4164:5:9","type":""}],"src":"4093:370:9"},{"body":{"nativeSrc":"4586:745:9","nodeType":"YulBlock","src":"4586:745:9","statements":[{"body":{"nativeSrc":"4632:83:9","nodeType":"YulBlock","src":"4632:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"4634:77:9","nodeType":"YulIdentifier","src":"4634:77:9"},"nativeSrc":"4634:79:9","nodeType":"YulFunctionCall","src":"4634:79:9"},"nativeSrc":"4634:79:9","nodeType":"YulExpressionStatement","src":"4634:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"4607:7:9","nodeType":"YulIdentifier","src":"4607:7:9"},{"name":"headStart","nativeSrc":"4616:9:9","nodeType":"YulIdentifier","src":"4616:9:9"}],"functionName":{"name":"sub","nativeSrc":"4603:3:9","nodeType":"YulIdentifier","src":"4603:3:9"},"nativeSrc":"4603:23:9","nodeType":"YulFunctionCall","src":"4603:23:9"},{"kind":"number","nativeSrc":"4628:2:9","nodeType":"YulLiteral","src":"4628:2:9","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"4599:3:9","nodeType":"YulIdentifier","src":"4599:3:9"},"nativeSrc":"4599:32:9","nodeType":"YulFunctionCall","src":"4599:32:9"},"nativeSrc":"4596:119:9","nodeType":"YulIf","src":"4596:119:9"},{"nativeSrc":"4725:286:9","nodeType":"YulBlock","src":"4725:286:9","statements":[{"nativeSrc":"4740:45:9","nodeType":"YulVariableDeclaration","src":"4740:45:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4771:9:9","nodeType":"YulIdentifier","src":"4771:9:9"},{"kind":"number","nativeSrc":"4782:1:9","nodeType":"YulLiteral","src":"4782:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"4767:3:9","nodeType":"YulIdentifier","src":"4767:3:9"},"nativeSrc":"4767:17:9","nodeType":"YulFunctionCall","src":"4767:17:9"}],"functionName":{"name":"calldataload","nativeSrc":"4754:12:9","nodeType":"YulIdentifier","src":"4754:12:9"},"nativeSrc":"4754:31:9","nodeType":"YulFunctionCall","src":"4754:31:9"},"variables":[{"name":"offset","nativeSrc":"4744:6:9","nodeType":"YulTypedName","src":"4744:6:9","type":""}]},{"body":{"nativeSrc":"4832:83:9","nodeType":"YulBlock","src":"4832:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"4834:77:9","nodeType":"YulIdentifier","src":"4834:77:9"},"nativeSrc":"4834:79:9","nodeType":"YulFunctionCall","src":"4834:79:9"},"nativeSrc":"4834:79:9","nodeType":"YulExpressionStatement","src":"4834:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"4804:6:9","nodeType":"YulIdentifier","src":"4804:6:9"},{"kind":"number","nativeSrc":"4812:18:9","nodeType":"YulLiteral","src":"4812:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"4801:2:9","nodeType":"YulIdentifier","src":"4801:2:9"},"nativeSrc":"4801:30:9","nodeType":"YulFunctionCall","src":"4801:30:9"},"nativeSrc":"4798:117:9","nodeType":"YulIf","src":"4798:117:9"},{"nativeSrc":"4929:72:9","nodeType":"YulAssignment","src":"4929:72:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4973:9:9","nodeType":"YulIdentifier","src":"4973:9:9"},{"name":"offset","nativeSrc":"4984:6:9","nodeType":"YulIdentifier","src":"4984:6:9"}],"functionName":{"name":"add","nativeSrc":"4969:3:9","nodeType":"YulIdentifier","src":"4969:3:9"},"nativeSrc":"4969:22:9","nodeType":"YulFunctionCall","src":"4969:22:9"},{"name":"dataEnd","nativeSrc":"4993:7:9","nodeType":"YulIdentifier","src":"4993:7:9"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"4939:29:9","nodeType":"YulIdentifier","src":"4939:29:9"},"nativeSrc":"4939:62:9","nodeType":"YulFunctionCall","src":"4939:62:9"},"variableNames":[{"name":"value0","nativeSrc":"4929:6:9","nodeType":"YulIdentifier","src":"4929:6:9"}]}]},{"nativeSrc":"5021:303:9","nodeType":"YulBlock","src":"5021:303:9","statements":[{"nativeSrc":"5036:46:9","nodeType":"YulVariableDeclaration","src":"5036:46:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5067:9:9","nodeType":"YulIdentifier","src":"5067:9:9"},{"kind":"number","nativeSrc":"5078:2:9","nodeType":"YulLiteral","src":"5078:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5063:3:9","nodeType":"YulIdentifier","src":"5063:3:9"},"nativeSrc":"5063:18:9","nodeType":"YulFunctionCall","src":"5063:18:9"}],"functionName":{"name":"calldataload","nativeSrc":"5050:12:9","nodeType":"YulIdentifier","src":"5050:12:9"},"nativeSrc":"5050:32:9","nodeType":"YulFunctionCall","src":"5050:32:9"},"variables":[{"name":"offset","nativeSrc":"5040:6:9","nodeType":"YulTypedName","src":"5040:6:9","type":""}]},{"body":{"nativeSrc":"5129:83:9","nodeType":"YulBlock","src":"5129:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"5131:77:9","nodeType":"YulIdentifier","src":"5131:77:9"},"nativeSrc":"5131:79:9","nodeType":"YulFunctionCall","src":"5131:79:9"},"nativeSrc":"5131:79:9","nodeType":"YulExpressionStatement","src":"5131:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"5101:6:9","nodeType":"YulIdentifier","src":"5101:6:9"},{"kind":"number","nativeSrc":"5109:18:9","nodeType":"YulLiteral","src":"5109:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"5098:2:9","nodeType":"YulIdentifier","src":"5098:2:9"},"nativeSrc":"5098:30:9","nodeType":"YulFunctionCall","src":"5098:30:9"},"nativeSrc":"5095:117:9","nodeType":"YulIf","src":"5095:117:9"},{"nativeSrc":"5226:88:9","nodeType":"YulAssignment","src":"5226:88:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5286:9:9","nodeType":"YulIdentifier","src":"5286:9:9"},{"name":"offset","nativeSrc":"5297:6:9","nodeType":"YulIdentifier","src":"5297:6:9"}],"functionName":{"name":"add","nativeSrc":"5282:3:9","nodeType":"YulIdentifier","src":"5282:3:9"},"nativeSrc":"5282:22:9","nodeType":"YulFunctionCall","src":"5282:22:9"},{"name":"dataEnd","nativeSrc":"5306:7:9","nodeType":"YulIdentifier","src":"5306:7:9"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"5236:45:9","nodeType":"YulIdentifier","src":"5236:45:9"},"nativeSrc":"5236:78:9","nodeType":"YulFunctionCall","src":"5236:78:9"},"variableNames":[{"name":"value1","nativeSrc":"5226:6:9","nodeType":"YulIdentifier","src":"5226:6:9"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4469:862:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4548:9:9","nodeType":"YulTypedName","src":"4548:9:9","type":""},{"name":"dataEnd","nativeSrc":"4559:7:9","nodeType":"YulTypedName","src":"4559:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"4571:6:9","nodeType":"YulTypedName","src":"4571:6:9","type":""},{"name":"value1","nativeSrc":"4579:6:9","nodeType":"YulTypedName","src":"4579:6:9","type":""}],"src":"4469:862:9"},{"body":{"nativeSrc":"5379:48:9","nodeType":"YulBlock","src":"5379:48:9","statements":[{"nativeSrc":"5389:32:9","nodeType":"YulAssignment","src":"5389:32:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5414:5:9","nodeType":"YulIdentifier","src":"5414:5:9"}],"functionName":{"name":"iszero","nativeSrc":"5407:6:9","nodeType":"YulIdentifier","src":"5407:6:9"},"nativeSrc":"5407:13:9","nodeType":"YulFunctionCall","src":"5407:13:9"}],"functionName":{"name":"iszero","nativeSrc":"5400:6:9","nodeType":"YulIdentifier","src":"5400:6:9"},"nativeSrc":"5400:21:9","nodeType":"YulFunctionCall","src":"5400:21:9"},"variableNames":[{"name":"cleaned","nativeSrc":"5389:7:9","nodeType":"YulIdentifier","src":"5389:7:9"}]}]},"name":"cleanup_t_bool","nativeSrc":"5337:90:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5361:5:9","nodeType":"YulTypedName","src":"5361:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"5371:7:9","nodeType":"YulTypedName","src":"5371:7:9","type":""}],"src":"5337:90:9"},{"body":{"nativeSrc":"5492:50:9","nodeType":"YulBlock","src":"5492:50:9","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"5509:3:9","nodeType":"YulIdentifier","src":"5509:3:9"},{"arguments":[{"name":"value","nativeSrc":"5529:5:9","nodeType":"YulIdentifier","src":"5529:5:9"}],"functionName":{"name":"cleanup_t_bool","nativeSrc":"5514:14:9","nodeType":"YulIdentifier","src":"5514:14:9"},"nativeSrc":"5514:21:9","nodeType":"YulFunctionCall","src":"5514:21:9"}],"functionName":{"name":"mstore","nativeSrc":"5502:6:9","nodeType":"YulIdentifier","src":"5502:6:9"},"nativeSrc":"5502:34:9","nodeType":"YulFunctionCall","src":"5502:34:9"},"nativeSrc":"5502:34:9","nodeType":"YulExpressionStatement","src":"5502:34:9"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5433:109:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5480:5:9","nodeType":"YulTypedName","src":"5480:5:9","type":""},{"name":"pos","nativeSrc":"5487:3:9","nodeType":"YulTypedName","src":"5487:3:9","type":""}],"src":"5433:109:9"},{"body":{"nativeSrc":"5640:118:9","nodeType":"YulBlock","src":"5640:118:9","statements":[{"nativeSrc":"5650:26:9","nodeType":"YulAssignment","src":"5650:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"5662:9:9","nodeType":"YulIdentifier","src":"5662:9:9"},{"kind":"number","nativeSrc":"5673:2:9","nodeType":"YulLiteral","src":"5673:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5658:3:9","nodeType":"YulIdentifier","src":"5658:3:9"},"nativeSrc":"5658:18:9","nodeType":"YulFunctionCall","src":"5658:18:9"},"variableNames":[{"name":"tail","nativeSrc":"5650:4:9","nodeType":"YulIdentifier","src":"5650:4:9"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"5724:6:9","nodeType":"YulIdentifier","src":"5724:6:9"},{"arguments":[{"name":"headStart","nativeSrc":"5737:9:9","nodeType":"YulIdentifier","src":"5737:9:9"},{"kind":"number","nativeSrc":"5748:1:9","nodeType":"YulLiteral","src":"5748:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"5733:3:9","nodeType":"YulIdentifier","src":"5733:3:9"},"nativeSrc":"5733:17:9","nodeType":"YulFunctionCall","src":"5733:17:9"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5686:37:9","nodeType":"YulIdentifier","src":"5686:37:9"},"nativeSrc":"5686:65:9","nodeType":"YulFunctionCall","src":"5686:65:9"},"nativeSrc":"5686:65:9","nodeType":"YulExpressionStatement","src":"5686:65:9"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"5548:210:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5612:9:9","nodeType":"YulTypedName","src":"5612:9:9","type":""},{"name":"value0","nativeSrc":"5624:6:9","nodeType":"YulTypedName","src":"5624:6:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5635:4:9","nodeType":"YulTypedName","src":"5635:4:9","type":""}],"src":"5548:210:9"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n","id":9,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cdf565b610060565b6040516100579190611d72565b60405180910390f35b6000611a1c565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f29e79ad99d77a4ffcf4b8ab0e464b713c864049f2add12136968cff0864088eb7f1410aa6f48b6cf3bf598c6dfa5cb01466519164bd833de0e7827db62d8cac07884610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f1d0d822b29a0910be348f05ad545cfca3c4a45984ec7b3c071978ca4e979b6867f1689e43d6a0f29f2c00abcf49c803fa5c0ebbf4937b1ad668147399369a8fa7e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f145db25e5672a52146b54883489d4339ba16367240f7dd1dacb09e4daf1189d77f1f3ae2a7d2308c43976c572190b3779f177a653b623119177aec86a173733e0984610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f2ece7b42d73dbbda215415dad9da14a4e9f50453c2ea3c269d78f0c4f48b93927f1d854ccab14984cad21ee83abc5688656d4978607ee46ce05c6e30e70438934c84610c61565b60c08501519250610f76837f28dfa5635712fec932cb955efa78de7c3bb1d717ca47ac63d0028c25000ab9827f0c1d9a27ace009b0748df47d8996964d4c5efe448f5689be7f89b1c9b54d1fd484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f1a57e0730386d03ce171300fd06d8df31762d7652b64af847809b15539bf96477f12515de6655d8e300d5106f29f03a0e8d28d2c9c2cf842475e26a42f3eca1c3784610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f28a149d8479d0660ccf9119b862a6296efb8955f144f3a4c28218cbdc30c4a3e7f268d5e96726a4f0a0af926881dd088840f0b189fc0bac1c06378ca1342030d4784610c61565b6115ee6101608601517f0e7776860985ee7b82e3ff3a29a0704c80cc4f49fd6a08562de1286b1a4147737f16d85b4ca470712c952db758ba22542a1494058886d0cf5bc1d6e2796d5d7a3a84610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ae836002600184610c61565b606085015192506117c4836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184883610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a3084610206565b611a3b83828661027f565b611a4481610785565b611a4e838261082a565b611a58818561088d565b611a628185610d07565b611a6c8185610d33565b611a758161184f565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aee82611aa5565b810181811067ffffffffffffffff82111715611b0d57611b0c611ab6565b5b80604052505050565b6000611b20611a87565b9050611b2c8282611ae5565b919050565b600067ffffffffffffffff821115611b4c57611b4b611ab6565b5b611b5582611aa5565b9050602081019050919050565b82818337600083830152505050565b6000611b84611b7f84611b31565b611b16565b905082815260208101848484011115611ba057611b9f611aa0565b5b611bab848285611b62565b509392505050565b600082601f830112611bc857611bc7611a9b565b5b8135611bd8848260208601611b71565b91505092915050565b600067ffffffffffffffff821115611bfc57611bfb611ab6565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b6000611c5b611c5684611be1565b611b16565b90508083825260208201905060208402830185811115611c7e57611c7d611c0d565b5b835b81811015611ca75780611c938882611c33565b845260208401935050602081019050611c80565b5050509392505050565b600082601f830112611cc657611cc5611a9b565b5b8135611cd6848260208601611c48565b91505092915050565b60008060408385031215611cf657611cf5611a91565b5b600083013567ffffffffffffffff811115611d1457611d13611a96565b5b611d2085828601611bb3565b925050602083013567ffffffffffffffff811115611d4157611d40611a96565b5b611d4d85828601611cb1565b9150509250929050565b60008115159050919050565b611d6c81611d57565b82525050565b6000602082019050611d876000830184611d63565b9291505056fea26469706673582212203093dcfd459ab1becb11ad43ebcf9e3441be5d423473c0159821433f9605e36864736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDF JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x29E79AD99D77A4FFCF4B8AB0E464B713C864049F2ADD12136968CFF0864088EB PUSH32 0x1410AA6F48B6CF3BF598C6DFA5CB01466519164BD833DE0E7827DB62D8CAC078 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x1D0D822B29A0910BE348F05AD545CFCA3C4A45984EC7B3C071978CA4E979B686 PUSH32 0x1689E43D6A0F29F2C00ABCF49C803FA5C0EBBF4937B1AD668147399369A8FA7E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0x145DB25E5672A52146B54883489D4339BA16367240F7DD1DACB09E4DAF1189D7 PUSH32 0x1F3AE2A7D2308C43976C572190B3779F177A653B623119177AEC86A173733E09 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x2ECE7B42D73DBBDA215415DAD9DA14A4E9F50453C2EA3C269D78F0C4F48B9392 PUSH32 0x1D854CCAB14984CAD21EE83ABC5688656D4978607EE46CE05C6E30E70438934C DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x28DFA5635712FEC932CB955EFA78DE7C3BB1D717CA47AC63D0028C25000AB982 PUSH32 0xC1D9A27ACE009B0748DF47D8996964D4C5EFE448F5689BE7F89B1C9B54D1FD4 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x1A57E0730386D03CE171300FD06D8DF31762D7652B64AF847809B15539BF9647 PUSH32 0x12515DE6655D8E300D5106F29F03A0E8D28D2C9C2CF842475E26A42F3ECA1C37 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x28A149D8479D0660CCF9119B862A6296EFB8955F144F3A4C28218CBDC30C4A3E PUSH32 0x268D5E96726A4F0A0AF926881DD088840F0B189FC0BAC1C06378CA1342030D47 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15EE PUSH2 0x160 DUP7 ADD MLOAD PUSH32 0xE7776860985EE7B82E3FF3A29A0704C80CC4F49FD6A08562DE1286B1A414773 PUSH32 0x16D85B4CA470712C952DB758BA22542A1494058886D0CF5BC1D6E2796D5D7A3A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AE DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C4 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1848 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A30 DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3B DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A44 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4E DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A58 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A62 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6C DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A75 DUP2 PUSH2 0x184F JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AEE DUP3 PUSH2 0x1AA5 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0D JUMPI PUSH2 0x1B0C PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B20 PUSH2 0x1A87 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2C DUP3 DUP3 PUSH2 0x1AE5 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4C JUMPI PUSH2 0x1B4B PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST PUSH2 0x1B55 DUP3 PUSH2 0x1AA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B84 PUSH2 0x1B7F DUP5 PUSH2 0x1B31 JUMP JUMPDEST PUSH2 0x1B16 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1BA0 JUMPI PUSH2 0x1B9F PUSH2 0x1AA0 JUMP JUMPDEST JUMPDEST PUSH2 0x1BAB DUP5 DUP3 DUP6 PUSH2 0x1B62 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC8 JUMPI PUSH2 0x1BC7 PUSH2 0x1A9B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD8 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B71 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFC JUMPI PUSH2 0x1BFB PUSH2 0x1AB6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C25 DUP2 PUSH2 0x1C12 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C42 DUP2 PUSH2 0x1C1C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5B PUSH2 0x1C56 DUP5 PUSH2 0x1BE1 JUMP JUMPDEST PUSH2 0x1B16 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7E JUMPI PUSH2 0x1C7D PUSH2 0x1C0D JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA7 JUMPI DUP1 PUSH2 0x1C93 DUP9 DUP3 PUSH2 0x1C33 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C80 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC6 JUMPI PUSH2 0x1CC5 PUSH2 0x1A9B JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C48 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF6 JUMPI PUSH2 0x1CF5 PUSH2 0x1A91 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D14 JUMPI PUSH2 0x1D13 PUSH2 0x1A96 JUMP JUMPDEST JUMPDEST PUSH2 0x1D20 DUP6 DUP3 DUP7 ADD PUSH2 0x1BB3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D41 JUMPI PUSH2 0x1D40 PUSH2 0x1A96 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4D DUP6 DUP3 DUP7 ADD PUSH2 0x1CB1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6C DUP2 PUSH2 0x1D57 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D87 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D63 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDRESS SWAP4 0xDC REVERT GASLIMIT SWAP11 0xB1 0xBE 0xCB GT 0xAD NUMBER 0xEB 0xCF SWAP15 CALLVALUE COINBASE 0xBE TSTORE TIMESTAMP CALLVALUE PUSH20 0xC0159821433F9605E36864736F6C634300081800 CALLER ","sourceMap":"832:23908:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5187:19551;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;5275:4;5433:724;;;5459:3;5490:1;5525;5552;5587;5605:12;5634:7;5675:334;5683:4;5675:334;;;5734:4;5731:1;5726:13;5714:25;;5788:4;5778:8;5774:19;5771:1;5767:27;5760:34;;5819:4;5815:8;;5851:3;5844:10;;5923:4;5913:8;5909:19;5907:1;5903:26;5896:33;;5955:4;5950:9;;5988:3;5980:11;;5675:334;;;6052:1;6049;6046:8;6043:27;;;6066:1;6064;6057:11;6043:27;6097:1;6094;6090:9;6087:30;;;6113:1;6110;6106:9;6102:13;;6087:30;6142:1;6135:8;;5463:694;;;;;;5433:724;;;;:::o;6399:1517::-;6472:4;6466:11;6544:5;6599:2;6596:1;6592:10;6585:5;6581:22;6656:3;6650:10;6725:2;6720:3;6716:12;6709:19;;6784:7;6830:257;6846:7;6841:3;6838:16;6830:257;;;7011:3;7005:4;6998:17;7067:1;7061:3;7055:10;7050:3;7043:26;7036:33;;6896:2;6890:4;6886:13;6878:21;;6937:2;6932:3;6928:12;6921:19;;6830:257;;;7111:15;7124:1;7119:3;7111:15;:::i;:::-;7104:22;;7288:2;7282:4;7278:13;7270:21;;7401:2;7396:3;7392:12;7385:19;;7432:5;7421:16;;7494:311;7510:7;7505:3;7502:16;7494:311;;;7694:1;7687:4;7681:11;7676:3;7669:27;7662:34;;7748:1;7742:3;7736:10;7731:3;7724:26;7717:33;;7783:3;7778;7771:16;7560:2;7554:4;7550:13;7542:21;;7601:2;7596:3;7592:12;7585:19;;7494:311;;;7898:3;7893;7886:16;6431:1485;;;;;6399:1517;;:::o;7942:162::-;7999:1;7996;7993:8;7983:107;;8035:1;8032;8025:12;8067:4;8065:1;8058:14;7983:107;7942:162;:::o;8130:668::-;8204:3;8195:6;8189:13;8186:23;8176:122;;8243:1;8240;8233:12;8275:4;8273:1;8266:14;8176:122;8315:39;8344:7;8336:6;8332:20;8326:27;8315:39;:::i;:::-;8371;8400:7;8392:6;8388:20;8382:27;8371:39;:::i;:::-;8427;8456:7;8448:6;8444:20;8438:27;8427:39;:::i;:::-;8483:40;8512:8;8504:6;8500:21;8494:28;8483:40;:::i;:::-;8540;8569:8;8561:6;8557:21;8551:28;8540:40;:::i;:::-;8597;8626:8;8618:6;8614:21;8608:28;8597:40;:::i;:::-;8654:39;8683:7;8675:6;8671:20;8665:27;8654:39;:::i;:::-;8130:668;:::o;8824:2828::-;8907:5;8929;9015:2;9006:7;9001:17;8994:25;8987:3;8981:4;8977:15;8969:51;9099:2;9091:6;9086:16;9079:24;9072:3;9066:4;9062:15;9054:50;9173:2;9170;9166:10;9158:6;9153:24;9146:32;9139:3;9133:4;9129:15;9121:58;9248:2;9245;9241:10;9233:6;9228:24;9221:32;9214:3;9208:4;9204:15;9196:58;9323:2;9320;9316:10;9308:6;9303:24;9296:32;9289:3;9283:4;9279:15;9271:58;9398:3;9395:2;9391:11;9383:6;9378:25;9371:33;9364:3;9358:4;9354:15;9346:59;9474:3;9471:2;9467:11;9459:6;9454:25;9447:33;9440:3;9434:4;9430:15;9422:59;9560:1;9554:3;9544:7;9538:4;9534:18;9524:34;9520:42;9515:47;;9606:1;9598:5;9592:4;9588:16;9580:28;9689:1;9684:2;9676:5;9670:4;9666:16;9656:31;9652:39;9643:6;9637:4;9633:17;9625:67;9772:1;9767:2;9762;9754:6;9750:15;9740:30;9736:38;9727:6;9721:4;9717:17;9709:66;9852:1;9846:3;9840;9832:6;9828:16;9818:32;9814:40;9809:45;;9895:1;9889:3;9883:4;9879:14;9871:26;9955:1;9952;9949;9942:15;9932:7;9926:4;9922:18;9914:44;10009:1;10006;10003;9996:15;9992:19;;10062:1;10059;10056;10049:15;10045:19;;10115:1;10112;10109;10102:15;10098:19;;10168:1;10165;10162;10155:15;10151:19;;10221:1;10218;10215;10208:15;10204:19;;10274:1;10271;10268;10261:15;10257:19;;10327:1;10324;10321;10314:15;10310:19;;10380:1;10377;10374;10367:15;10363:19;;10433:1;10430;10427;10420:15;10416:19;;10486:1;10483;10480;10473:15;10469:19;;10539:1;10536;10533;10526:15;10522:19;;10592:1;10589;10586;10579:15;10575:19;;10645:1;10642;10639;10632:15;10628:19;;10698:1;10695;10692;10685:15;10681:19;;10751:1;10748;10745;10738:15;10734:19;;10812:1;10805:4;10799;10795:15;10787:27;10857:1;10853;10850;10847;10843:9;10839:16;10835:24;10831:28;;10900:1;10894:3;10888:4;10884:14;10876:26;10946:1;10937:6;10931:4;10927:17;10919:29;11087:1;11081:3;11071:7;11063:6;11059:20;11049:36;11045:44;11130:2;11124:3;11118:4;11114:14;11106:27;11170:1;11166:2;11162;11155:17;11150:22;;11213:1;11207:3;11201:4;11197:14;11189:26;11251:1;11247:2;11244:1;11237:16;11232:21;;11294:1;11288:3;11282:4;11278:14;11270:26;11332:1;11328:2;11325:1;11318:16;11313:21;;11375:1;11369:3;11363:4;11359:14;11351:26;11413:1;11409:2;11406:1;11399:16;11394:21;;11456:1;11450:3;11444:4;11440:14;11432:26;11494:1;11490:2;11487:1;11480:16;11475:21;;11537:1;11531:3;11525:4;11521:14;11513:26;11635:1;11629:3;11622:4;11614:6;11610:17;11600:33;11596:41;11591:2;11585:4;11581:13;11573:65;8876:2776;;;8824:2828;;;:::o;11678:1173::-;11739:1;12276;12222;12161;12091;12047:3;12041:4;12037:14;12031:21;11990:136;11953:239;11920:329;11892:1;11860:439;11828:8;11822:4;11818:19;11790:527;12385:35;12417:1;12408:6;12402:4;12398:17;12385:35;:::i;:::-;12480:3;12474:4;12470:14;12464:21;12507:1;12502:6;;12743:1;12715:2;12678:8;12672:4;12668:20;12662:27;12630:136;12597:8;12591:4;12587:20;12559:225;11711:1140;;11678:1173;:::o;12877:651::-;12938:1;13400;13355;13272;13234:2;13228:4;13224:13;13218:20;13174:8;13168:4;13164:19;13158:26;13118:185;13084:2;13051:278;13022:356;12997:422;12991:428;;13493:2;13487:3;13481:4;13477:14;13470:26;12910:618;12877:651;;:::o;13542:2196::-;13594:5;13616:6;13639;13789:1;13761:3;13755:4;13751:14;13745:21;13713:7;13705:6;13701:20;13695:27;13667:141;13662:146;;13971:1;13942:5;13936:4;13932:16;13926:23;13894:8;13886:6;13882:21;13876:28;13848:142;13842:148;;14115:1;14084:7;14076:6;14072:20;14066:27;14042:2;14014:120;14008:126;;14272:1;14242:6;14236:4;14232:17;14226:24;14202:2;14174:117;14168:123;;14438:1;14409:5;14403:4;14399:16;14393:23;14361:8;14353:6;14349:21;14343:28;14315:142;14309:148;;14582:1;14551:7;14543:6;14539:20;14533:27;14509:2;14481:120;14475:126;;14739:1;14709:6;14703:4;14699:17;14693:24;14669:2;14641:117;14635:123;;14813:1;14809:2;14805;14798:17;14792:23;;14978:1;14948:6;14942:4;14938:17;14932:24;14901:7;14893:6;14889:20;14883:27;14855:142;14849:148;;15036:1;15032:2;15028;15021:17;15015:23;;15102:1;15090:8;15082:6;15078:21;15072:28;15068:2;15061:43;15055:49;;15164:1;15154:6;15148:4;15144:17;15138:24;15134:2;15127:39;15121:45;;15330:1;15299:6;15293:4;15289:17;15283:24;15250:8;15244:4;15240:19;15234:26;15206:143;15200:149;;15473:1;15442:6;15436:4;15432:17;15426:24;15401:2;15373:119;15367:125;;15531:1;15527:2;15523;15516:17;15510:23;;15596:1;15591:2;15587:1;15584;15580:9;15576:18;15572:26;15567:31;;15656:1;15646:6;15640:4;15636:17;15630:24;15627:1;15620:38;15615:43;;15721:1;15710:7;15704:4;15700:18;15692:31;13576:2162;;;13542:2196;;:::o;15764:132::-;15823:2;15817:9;15813:2;15806:21;15877:2;15874;15870:10;15864:17;15859:2;15855;15851:11;15844:38;15764:132;;:::o;15910:498::-;15969:4;15963:11;16009:2;16003:9;15998:3;15991:22;16064:2;16060;16056:11;16050:18;16045:2;16041:3;16037:11;16030:39;16112:2;16106:9;16101:2;16097:3;16093:11;16086:30;16167:2;16163;16159:11;16153:18;16148:2;16144:3;16140:11;16133:39;16251:2;16247;16242:3;16237;16234:1;16227:4;16220:5;16216:16;16205:49;16298:7;16288:106;;16339:1;16336;16329:12;16371:4;16369:1;16362:14;16288:106;15934:474;;15910:498;;:::o;16422:819::-;16470:11;16515:4;16509:11;16555:2;16549:9;16544:3;16537:22;16610:2;16606;16602:11;16596:18;16591:2;16587:3;16583:11;16576:39;16652:1;16647:2;16643:3;16639:11;16632:22;16729:2;16724:3;16720:2;16715:3;16712:1;16705:4;16698:5;16694:16;16683:49;16672:60;;16776:7;16766:106;;16817:1;16814;16807:12;16849:4;16847:1;16840:14;16766:106;16932:2;16926:9;16921:2;16917:3;16913:11;16906:30;16987:2;16983;16979:11;16973:18;16968:2;16964:3;16960:11;16953:39;17067:2;17063;17058:3;17053;17050:1;17043:4;17036:5;17032:16;17021:49;17010:60;;17114:7;17104:106;;17155:1;17152;17145:12;17187:4;17185:1;17178:14;17104:106;16452:789;;16422:819;;;:::o;17255:780::-;17306:11;17351:4;17345:11;17385:1;17380:3;17373:14;17424:1;17419:2;17415:3;17411:11;17404:22;17463:1;17458:2;17454:3;17450:11;17443:22;17540:2;17535:3;17531:2;17526:3;17523:1;17516:4;17509:5;17505:16;17494:49;17483:60;;17587:7;17577:106;;17628:1;17625;17618:12;17660:4;17658:1;17651:14;17577:106;17743:2;17737:9;17732:2;17728:3;17724:11;17717:30;17798:2;17794;17790:11;17784:18;17779:2;17775:3;17771:11;17764:39;17878:2;17874;17869:3;17864;17861:1;17854:4;17847:5;17843:16;17832:49;17821:60;;17925:7;17915:106;;17966:1;17963;17956:12;17998:4;17996:1;17989:14;17915:106;17288:747;;17255:780;;;;:::o;18049:441::-;18100:11;18145:4;18139:11;18179:1;18174:3;18167:14;18218:1;18213:2;18209:3;18205:11;18198:22;18257:1;18252:2;18248:3;18244:11;18237:22;18333:2;18329;18325;18320:3;18317:1;18310:4;18303:5;18299:16;18288:48;18277:59;;18380:7;18370:106;;18421:1;18418;18411:12;18453:4;18451:1;18444:14;18370:106;18082:408;;18049:441;;;;:::o;18505:206::-;18577:3;18571:4;18567:14;18598:28;18620:4;18612:6;18608:17;18605:1;18598:28;:::i;:::-;18643:54;18692:2;18686:4;18682:13;18676:20;18668:5;18660:6;18656:18;18653:1;18643:54;:::i;:::-;18540:171;18505:206;;:::o;18750:4478::-;18803:5;18825:6;18867:3;18861:4;18857:14;19001:1;18994:3;18988:4;18984:14;18978:21;18967:7;18959:6;18955:20;18949:27;18941:62;18936:67;;19020:26;19044:1;19039:3;19034;19031:1;19020:26;:::i;:::-;19109:1;19098:7;19090:6;19086:20;19080:27;19077:1;19069:42;19064:47;;19144:26;19168:1;19163:3;19158;19155:1;19144:26;:::i;:::-;19253:1;19246:3;19240:4;19236:14;19230:21;19219:7;19211:6;19207:20;19201:27;19193:62;19188:67;;19272:26;19296:1;19291:3;19286;19283:1;19272:26;:::i;:::-;19397:1;19390:3;19384:4;19380:14;19374:21;19363:7;19355:6;19351:20;19345:27;19337:62;19332:67;;19416:26;19440:1;19435:3;19430;19427:1;19416:26;:::i;:::-;19480:3;19474:4;19470:14;19464:21;19460:25;;19502:26;19526:1;19521:3;19516;19513:1;19502:26;:::i;:::-;19614:1;19603:7;19597:4;19593:18;19587:25;19576:7;19568:6;19564:20;19558:27;19551:65;19546:70;;19674:1;19664:6;19658:4;19654:17;19648:24;19645:1;19638:38;19633:43;;19737:1;19726:7;19720:4;19716:18;19710:25;19706:2;19699:40;19693:46;;19802:1;19791:7;19783:6;19779:20;19773:27;19769:2;19762:42;19756:48;;19864:1;19854:6;19848:4;19844:17;19838:24;19834:2;19827:39;19821:45;;19902:1;19898:2;19895:1;19888:16;19883:21;;19965:1;19954:7;19948:4;19944:18;19938:25;19934:2;19927:40;19921:46;;20030:1;20019:7;20011:6;20007:20;20001:27;19997:2;19990:42;19984:48;;20092:1;20082:6;20076:4;20072:17;20066:24;20062:2;20055:39;20049:45;;20130:1;20126:2;20123:1;20116:16;20111:21;;20190:1;20180:6;20174:4;20170:17;20164:24;20161:1;20154:38;20149:43;;20247:1;20240:3;20234:4;20230:14;20224:21;20221:1;20214:35;20209:40;;20333:1;20323:6;20317:4;20313:17;20307:24;20295:8;20289:4;20285:19;20279:26;20272:63;20266:69;;20395:1;20385:6;20379:4;20375:17;20369:24;20365:2;20358:39;20352:45;;20454:1;20447:3;20441:4;20437:14;20431:21;20427:2;20420:36;20414:42;;20492:1;20488:2;20485:1;20478:16;20473:21;;20548:1;20542:2;20536:4;20532:13;20526:20;20523:1;20516:34;20511:39;;20567:32;20597:1;20592:2;20584:6;20580:15;20577:1;20567:32;:::i;:::-;20700:1;20688:8;20680:6;20676:21;20670:28;20661:5;20655:4;20651:16;20645:23;20638:64;20633:69;;20763:1;20752:7;20744:6;20740:20;20734:27;20731:1;20724:41;20719:46;;20823:1;20813:6;20807:4;20803:17;20797:24;20794:1;20787:38;20782:43;;20910:1;20898:8;20890:6;20886:21;20880:28;20871:5;20865:4;20861:16;20855:23;20848:64;20842:70;;20975:1;20964:7;20956:6;20952:20;20946:27;20942:2;20935:42;20929:48;;21037:1;21027:6;21021:4;21017:17;21011:24;21007:2;21000:39;20994:45;;21075:1;21071:2;21068:1;21061:16;21056:21;;21135:1;21125:6;21119:4;21115:17;21109:24;21106:1;21099:38;21094:43;;21192:1;21185:3;21179:4;21175:14;21169:21;21166:1;21159:35;21154:40;;21251:1;21242:5;21236:4;21232:16;21226:23;21223:1;21216:37;21211:42;;21315:1;21303:8;21295:6;21291:21;21285:28;21282:1;21275:42;21270:47;;21354:1;21350;21347;21343:9;21339:17;21334:22;;21373:26;21397:1;21392:3;21387;21384:1;21373:26;:::i;:::-;21449:28;21472:3;21464:6;21460:16;21456:1;21449:28;:::i;:::-;21516:4;21510;21506:15;21500:22;21495:27;;21539:33;21570:1;21564:3;21556:6;21552:16;21549:1;21539:33;:::i;:::-;21624:1;21621;21618;21611:15;21606:20;;21643:33;21674:1;21668:3;21660:6;21656:16;21653:1;21643:33;:::i;:::-;21710:52;21756:3;21750:4;21746:14;21740:21;21735:2;21727:6;21723:15;21720:1;21710:52;:::i;:::-;21779;21825:3;21819:4;21815:14;21809:21;21804:2;21796:6;21792:15;21789:1;21779:52;:::i;:::-;21848;21894:3;21888:4;21884:14;21878:21;21873:2;21865:6;21861:15;21858:1;21848:52;:::i;:::-;21917:46;21957:3;21951:4;21947:14;21941:21;21936:3;21931;21928:1;21917:46;:::i;:::-;21980;22020:3;22014:4;22010:14;22004:21;21999:3;21994;21991:1;21980:46;:::i;:::-;22112:7;22106:4;22102:18;22096:25;22091:30;;22216:1;22212;22205:3;22199:4;22195:14;22189:21;22178:7;22170:6;22166:20;22160:27;22153:61;22150:1;22143:75;22138:80;;22313:1;22309;22302:3;22296:4;22292:14;22286:21;22275:7;22267:6;22263:20;22257:27;22250:61;22247:1;22240:75;22235:80;;22410:1;22406;22399:3;22393:4;22389:14;22383:21;22372:7;22364:6;22360:20;22354:27;22347:61;22344:1;22337:75;22332:80;;22507:1;22503;22496:3;22490:4;22486:14;22480:21;22469:7;22461:6;22457:20;22451:27;22444:61;22441:1;22434:75;22429:80;;22605:1;22601;22594:3;22588:4;22584:14;22578:21;22566:8;22558:6;22554:21;22548:28;22541:62;22538:1;22531:76;22526:81;;22703:1;22699;22692:3;22686:4;22682:14;22676:21;22664:8;22656:6;22652:21;22646:28;22639:62;22636:1;22629:76;22624:81;;22800:1;22796;22790:2;22784:4;22780:13;22774:20;22762:8;22754:6;22750:21;22744:28;22737:61;22734:1;22727:75;22722:80;;22839:1;22835;22832;22828:9;22824:17;22819:22;;22858:26;22882:1;22877:3;22872;22869:1;22858:26;:::i;:::-;22990:3;22984:4;22980:14;22974:21;22969:26;;23012:34;23044:1;23037:4;23029:6;23025:17;23022:1;23012:34;:::i;:::-;23121:1;23114:3;23108:4;23104:14;23098:21;23092:2;23086:4;23082:13;23076:20;23069:54;23064:59;;23159:1;23155:2;23152:1;23145:16;23140:21;;23178:35;23211:1;23203:5;23195:6;23191:18;23188:1;23178:35;:::i;:::-;18785:4443;;;18750:4478;;:::o;23254:915::-;23285:4;23325;23319:11;23375:3;23369:4;23365:14;23359:21;23354:3;23347:34;23444:2;23438:3;23432:4;23428:14;23424:23;23418:30;23413:2;23409:3;23405:11;23398:51;23486:4;23481:2;23477:3;23473:11;23466:25;23528:4;23523:2;23519:3;23515:11;23508:25;23571:4;23565:3;23561;23557:12;23550:26;23614:4;23608:3;23604;23600:12;23593:26;23673:3;23667:4;23663:14;23657:21;23651:3;23647;23643:12;23636:43;23731:2;23725:3;23719:4;23715:14;23711:23;23705:30;23773:2;23769:1;23765:2;23761:10;23757:19;23752:24;;23814:1;23808:3;23804;23800:12;23793:23;23854:4;23848:3;23844;23840:12;23833:26;23897:4;23891:3;23887;23883:12;23876:26;23940:4;23934:3;23930;23926:12;23919:26;23983:4;23977:3;23973;23969:12;23962:26;24084:4;24079:3;24074;24069;24066:1;24059:4;24052:5;24048:16;24037:52;24150:3;24144:10;24135:7;24131:24;24123:32;;23290:879;;;23254:915;;;:::o;:::-;24213:4;24207:11;24254:7;24248:4;24244:18;24238:4;24231:32;24289:17;24300:5;24289:17;:::i;:::-;24319:44;24352:10;24346:4;24339:5;24319:44;:::i;:::-;24376:23;24394:4;24376:23;:::i;:::-;24412:29;24430:10;24424:4;24412:29;:::i;:::-;24454:23;24472:4;24465:5;24454:23;:::i;:::-;24490:24;24509:4;24502:5;24490:24;:::i;:::-;24527;24546:4;24539:5;24527:24;:::i;:::-;24579:18;24592:4;24579:18;:::i;:::-;24646:7;24640:4;24636:18;24630:4;24623:32;24678:7;24675:1;24668:18;24708:4;24706:1;24699:14;7:75:9;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:307::-;1357:4;1447:18;1439:6;1436:30;1433:56;;;1469:18;;:::i;:::-;1433:56;1507:29;1529:6;1507:29;:::i;:::-;1499:37;;1591:4;1585;1581:15;1573:23;;1296:307;;;:::o;1609:146::-;1706:6;1701:3;1696;1683:30;1747:1;1738:6;1733:3;1729:16;1722:27;1609:146;;;:::o;1761:423::-;1838:5;1863:65;1879:48;1920:6;1879:48;:::i;:::-;1863:65;:::i;:::-;1854:74;;1951:6;1944:5;1937:21;1989:4;1982:5;1978:16;2027:3;2018:6;2013:3;2009:16;2006:25;2003:112;;;2034:79;;:::i;:::-;2003:112;2124:54;2171:6;2166:3;2161;2124:54;:::i;:::-;1844:340;1761:423;;;;;:::o;2203:338::-;2258:5;2307:3;2300:4;2292:6;2288:17;2284:27;2274:122;;2315:79;;:::i;:::-;2274:122;2432:6;2419:20;2457:78;2531:3;2523:6;2516:4;2508:6;2504:17;2457:78;:::i;:::-;2448:87;;2264:277;2203:338;;;;:::o;2547:311::-;2624:4;2714:18;2706:6;2703:30;2700:56;;;2736:18;;:::i;:::-;2700:56;2786:4;2778:6;2774:17;2766:25;;2846:4;2840;2836:15;2828:23;;2547:311;;;:::o;2864:117::-;2973:1;2970;2963:12;2987:77;3024:7;3053:5;3042:16;;2987:77;;;:::o;3070:122::-;3143:24;3161:5;3143:24;:::i;:::-;3136:5;3133:35;3123:63;;3182:1;3179;3172:12;3123:63;3070:122;:::o;3198:139::-;3244:5;3282:6;3269:20;3260:29;;3298:33;3325:5;3298:33;:::i;:::-;3198:139;;;;:::o;3360:710::-;3456:5;3481:81;3497:64;3554:6;3497:64;:::i;:::-;3481:81;:::i;:::-;3472:90;;3582:5;3611:6;3604:5;3597:21;3645:4;3638:5;3634:16;3627:23;;3698:4;3690:6;3686:17;3678:6;3674:30;3727:3;3719:6;3716:15;3713:122;;;3746:79;;:::i;:::-;3713:122;3861:6;3844:220;3878:6;3873:3;3870:15;3844:220;;;3953:3;3982:37;4015:3;4003:10;3982:37;:::i;:::-;3977:3;3970:50;4049:4;4044:3;4040:14;4033:21;;3920:144;3904:4;3899:3;3895:14;3888:21;;3844:220;;;3848:21;3462:608;;3360:710;;;;;:::o;4093:370::-;4164:5;4213:3;4206:4;4198:6;4194:17;4190:27;4180:122;;4221:79;;:::i;:::-;4180:122;4338:6;4325:20;4363:94;4453:3;4445:6;4438:4;4430:6;4426:17;4363:94;:::i;:::-;4354:103;;4170:293;4093:370;;;;:::o;4469:862::-;4571:6;4579;4628:2;4616:9;4607:7;4603:23;4599:32;4596:119;;;4634:79;;:::i;:::-;4596:119;4782:1;4771:9;4767:17;4754:31;4812:18;4804:6;4801:30;4798:117;;;4834:79;;:::i;:::-;4798:117;4939:62;4993:7;4984:6;4973:9;4969:22;4939:62;:::i;:::-;4929:72;;4725:286;5078:2;5067:9;5063:18;5050:32;5109:18;5101:6;5098:30;5095:117;;;5131:79;;:::i;:::-;5095:117;5236:78;5306:7;5297:6;5286:9;5282:22;5236:78;:::i;:::-;5226:88;;5021:303;4469:862;;;;;:::o;5337:90::-;5371:7;5414:5;5407:13;5400:21;5389:32;;5337:90;;;:::o;5433:109::-;5514:21;5529:5;5514:21;:::i;:::-;5509:3;5502:34;5433:109;;:::o;5548:210::-;5635:4;5673:2;5662:9;5658:18;5650:26;;5686:65;5748:1;5737:9;5733:17;5724:6;5686:65;:::i;:::-;5548:210;;;;:::o"},"methodIdentifiers":{"verifyProof(bytes,uint256[])":"1e8e1e13"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"pubSignals\",\"type\":\"uint256[]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/workstep1Verifier.sol\":\"PlonkVerifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/workstep1Verifier.sol\":{\"keccak256\":\"0xbf87e3cb78c685499c924b2901ce746dbe2d68f42a113e7e164143d263e57ec6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e44bd59ee1c4a758020afa19270840172c66bf3ecc3ad591781ea720322ddd52\",\"dweb:/ipfs/QmWdphJ1ppD3YQDGAMfSABSiMBsbQwrrvcd88ihj43sLTa\"]}},\"version\":1}"}},"contracts/workstep2Verifier.sol":{"PlonkVerifier":{"abi":[{"inputs":[{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"uint256[]","name":"pubSignals","type":"uint256[]"}],"name":"verifyProof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50611dc2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f26aee923b0c25e2761ed55d872bdce83e1d95e965ca8ce1d7bf132065ed73bea7f0d97ed9d9f00314c36234ec638665eba9c42b2aeb9472214f2d5a2b22615181d84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea26469706673582212204448cae53335b2e219e7aecf736766fc3c26b6fae1ad2206b3def7fc663a56d064736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC2 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDE JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x73AD9CA0A63BF57AAB7471BE06714E14CB129B3BC1957FB205F02A2DFF20144 PUSH32 0xF0D5954BC5550BB6B8A63158299441A292523E20998BD2EEAF6817B9CF74891 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x24B75923EF66B5A38313240BF8701E5289F37FF6E54A5D9696C571CD0D7A6F7B PUSH32 0x13F75F7639B17B60C5DC1561CA51E09122443B14FD9B5198A3200CB73C405E74 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0x26AEE923B0C25E2761ED55D872BDCE83E1D95E965CA8CE1D7BF132065ED73BEA PUSH32 0xD97ED9D9F00314C36234EC638665EBA9C42B2AEB9472214F2D5A2B22615181D DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x24D590624AA64D73288CEF9C5C68DDFBC43C288BFEC0EA23A65E3D519DEB4B45 PUSH32 0x2FE2B7A5E3301EC2548B1B9FA04DAFE8BDB129027D89D2FDA93C32B2AC1D6153 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x2AD72EB4319E5CE1F126C3EE2FB7B07FCACC472B06034BC9B7B00FA5C6DB3DD1 PUSH32 0xBBACFFC38B7A2D2938E833AA0B1BEB2EBE94796EE3EEEAA8CDE99E34B70274E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x244C5FC4BD854EE2B3C1B620E013383A9E6DACA6C0BAB14AECD7101ABA922CB6 PUSH32 0x2281748B89DCD5AEAEE8E7B5573D600632E8B7D13619ECA441E770F4862711FF DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x14CE1F304C015A19FE72CCDD0C7B1AAAE908E4FAA13142D0D8D108E2EFA497FD PUSH32 0x1DDF2AC14509D3ED88C5114E806890A074E2A3CF08BD6B406CD4E0C1256D6A5A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15ED PUSH2 0x160 DUP7 ADD MLOAD PUSH31 0x701C2A27F6E67A591F1CA598C17621B64AD8830430232895CA68FE3DC5854D PUSH32 0xDC88371D3444A7BBC4F3CB292E69421C549C10B86E8982B67D074006094FE08 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AD DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C3 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1847 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A2F DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3A DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A43 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4D DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A57 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A61 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6B DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A74 DUP2 PUSH2 0x184E JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AED DUP3 PUSH2 0x1AA4 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0C JUMPI PUSH2 0x1B0B PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B1F PUSH2 0x1A86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2B DUP3 DUP3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4A PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH2 0x1B54 DUP3 PUSH2 0x1AA4 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B83 PUSH2 0x1B7E DUP5 PUSH2 0x1B30 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B9F JUMPI PUSH2 0x1B9E PUSH2 0x1A9F JUMP JUMPDEST JUMPDEST PUSH2 0x1BAA DUP5 DUP3 DUP6 PUSH2 0x1B61 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC7 JUMPI PUSH2 0x1BC6 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD7 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C24 DUP2 PUSH2 0x1C11 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C41 DUP2 PUSH2 0x1C1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH2 0x1C55 DUP5 PUSH2 0x1BE0 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7D JUMPI PUSH2 0x1C7C PUSH2 0x1C0C JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA6 JUMPI DUP1 PUSH2 0x1C92 DUP9 DUP3 PUSH2 0x1C32 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C7F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC5 JUMPI PUSH2 0x1CC4 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C47 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF5 JUMPI PUSH2 0x1CF4 PUSH2 0x1A90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D13 JUMPI PUSH2 0x1D12 PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D1F DUP6 DUP3 DUP7 ADD PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D40 JUMPI PUSH2 0x1D3F PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4C DUP6 DUP3 DUP7 ADD PUSH2 0x1CB0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6B DUP2 PUSH2 0x1D56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D86 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PREVRANDAO BASEFEE 0xCA 0xE5 CALLER CALLDATALOAD 0xB2 0xE2 NOT 0xE7 0xAE 0xCF PUSH20 0x6766FC3C26B6FAE1AD2206B3DEF7FC663A56D064 PUSH20 0x6F6C634300081800330000000000000000000000 ","sourceMap":"832:23904:7:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@verifyProof_1043":{"entryPoint":96,"id":1043,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7239,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":7024,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7344,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":7090,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":7218,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7390,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":7522,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":7537,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":6933,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":6790,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7136,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":6960,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":7510,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":7185,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":7009,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":6884,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x41":{"entryPoint":6837,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":6810,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":7180,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":6815,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":6805,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":6800,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":6820,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":7195,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nativeSrc":"0:5761:9","nodeType":"YulBlock","src":"0:5761:9","statements":[{"body":{"nativeSrc":"47:35:9","nodeType":"YulBlock","src":"47:35:9","statements":[{"nativeSrc":"57:19:9","nodeType":"YulAssignment","src":"57:19:9","value":{"arguments":[{"kind":"number","nativeSrc":"73:2:9","nodeType":"YulLiteral","src":"73:2:9","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"67:5:9","nodeType":"YulIdentifier","src":"67:5:9"},"nativeSrc":"67:9:9","nodeType":"YulFunctionCall","src":"67:9:9"},"variableNames":[{"name":"memPtr","nativeSrc":"57:6:9","nodeType":"YulIdentifier","src":"57:6:9"}]}]},"name":"allocate_unbounded","nativeSrc":"7:75:9","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nativeSrc":"40:6:9","nodeType":"YulTypedName","src":"40:6:9","type":""}],"src":"7:75:9"},{"body":{"nativeSrc":"177:28:9","nodeType":"YulBlock","src":"177:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194:1:9","nodeType":"YulLiteral","src":"194:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"197:1:9","nodeType":"YulLiteral","src":"197:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"187:6:9","nodeType":"YulIdentifier","src":"187:6:9"},"nativeSrc":"187:12:9","nodeType":"YulFunctionCall","src":"187:12:9"},"nativeSrc":"187:12:9","nodeType":"YulExpressionStatement","src":"187:12:9"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"88:117:9","nodeType":"YulFunctionDefinition","src":"88:117:9"},{"body":{"nativeSrc":"300:28:9","nodeType":"YulBlock","src":"300:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"317:1:9","nodeType":"YulLiteral","src":"317:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"320:1:9","nodeType":"YulLiteral","src":"320:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"310:6:9","nodeType":"YulIdentifier","src":"310:6:9"},"nativeSrc":"310:12:9","nodeType":"YulFunctionCall","src":"310:12:9"},"nativeSrc":"310:12:9","nodeType":"YulExpressionStatement","src":"310:12:9"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"211:117:9","nodeType":"YulFunctionDefinition","src":"211:117:9"},{"body":{"nativeSrc":"423:28:9","nodeType":"YulBlock","src":"423:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"440:1:9","nodeType":"YulLiteral","src":"440:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"443:1:9","nodeType":"YulLiteral","src":"443:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"433:6:9","nodeType":"YulIdentifier","src":"433:6:9"},"nativeSrc":"433:12:9","nodeType":"YulFunctionCall","src":"433:12:9"},"nativeSrc":"433:12:9","nodeType":"YulExpressionStatement","src":"433:12:9"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"334:117:9","nodeType":"YulFunctionDefinition","src":"334:117:9"},{"body":{"nativeSrc":"546:28:9","nodeType":"YulBlock","src":"546:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"563:1:9","nodeType":"YulLiteral","src":"563:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"566:1:9","nodeType":"YulLiteral","src":"566:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"556:6:9","nodeType":"YulIdentifier","src":"556:6:9"},"nativeSrc":"556:12:9","nodeType":"YulFunctionCall","src":"556:12:9"},"nativeSrc":"556:12:9","nodeType":"YulExpressionStatement","src":"556:12:9"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"457:117:9","nodeType":"YulFunctionDefinition","src":"457:117:9"},{"body":{"nativeSrc":"628:54:9","nodeType":"YulBlock","src":"628:54:9","statements":[{"nativeSrc":"638:38:9","nodeType":"YulAssignment","src":"638:38:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"656:5:9","nodeType":"YulIdentifier","src":"656:5:9"},{"kind":"number","nativeSrc":"663:2:9","nodeType":"YulLiteral","src":"663:2:9","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"652:3:9","nodeType":"YulIdentifier","src":"652:3:9"},"nativeSrc":"652:14:9","nodeType":"YulFunctionCall","src":"652:14:9"},{"arguments":[{"kind":"number","nativeSrc":"672:2:9","nodeType":"YulLiteral","src":"672:2:9","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"668:3:9","nodeType":"YulIdentifier","src":"668:3:9"},"nativeSrc":"668:7:9","nodeType":"YulFunctionCall","src":"668:7:9"}],"functionName":{"name":"and","nativeSrc":"648:3:9","nodeType":"YulIdentifier","src":"648:3:9"},"nativeSrc":"648:28:9","nodeType":"YulFunctionCall","src":"648:28:9"},"variableNames":[{"name":"result","nativeSrc":"638:6:9","nodeType":"YulIdentifier","src":"638:6:9"}]}]},"name":"round_up_to_mul_of_32","nativeSrc":"580:102:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"611:5:9","nodeType":"YulTypedName","src":"611:5:9","type":""}],"returnVariables":[{"name":"result","nativeSrc":"621:6:9","nodeType":"YulTypedName","src":"621:6:9","type":""}],"src":"580:102:9"},{"body":{"nativeSrc":"716:152:9","nodeType":"YulBlock","src":"716:152:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"733:1:9","nodeType":"YulLiteral","src":"733:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"736:77:9","nodeType":"YulLiteral","src":"736:77:9","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"726:6:9","nodeType":"YulIdentifier","src":"726:6:9"},"nativeSrc":"726:88:9","nodeType":"YulFunctionCall","src":"726:88:9"},"nativeSrc":"726:88:9","nodeType":"YulExpressionStatement","src":"726:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"830:1:9","nodeType":"YulLiteral","src":"830:1:9","type":"","value":"4"},{"kind":"number","nativeSrc":"833:4:9","nodeType":"YulLiteral","src":"833:4:9","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"823:6:9","nodeType":"YulIdentifier","src":"823:6:9"},"nativeSrc":"823:15:9","nodeType":"YulFunctionCall","src":"823:15:9"},"nativeSrc":"823:15:9","nodeType":"YulExpressionStatement","src":"823:15:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"854:1:9","nodeType":"YulLiteral","src":"854:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"857:4:9","nodeType":"YulLiteral","src":"857:4:9","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"847:6:9","nodeType":"YulIdentifier","src":"847:6:9"},"nativeSrc":"847:15:9","nodeType":"YulFunctionCall","src":"847:15:9"},"nativeSrc":"847:15:9","nodeType":"YulExpressionStatement","src":"847:15:9"}]},"name":"panic_error_0x41","nativeSrc":"688:180:9","nodeType":"YulFunctionDefinition","src":"688:180:9"},{"body":{"nativeSrc":"917:238:9","nodeType":"YulBlock","src":"917:238:9","statements":[{"nativeSrc":"927:58:9","nodeType":"YulVariableDeclaration","src":"927:58:9","value":{"arguments":[{"name":"memPtr","nativeSrc":"949:6:9","nodeType":"YulIdentifier","src":"949:6:9"},{"arguments":[{"name":"size","nativeSrc":"979:4:9","nodeType":"YulIdentifier","src":"979:4:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"957:21:9","nodeType":"YulIdentifier","src":"957:21:9"},"nativeSrc":"957:27:9","nodeType":"YulFunctionCall","src":"957:27:9"}],"functionName":{"name":"add","nativeSrc":"945:3:9","nodeType":"YulIdentifier","src":"945:3:9"},"nativeSrc":"945:40:9","nodeType":"YulFunctionCall","src":"945:40:9"},"variables":[{"name":"newFreePtr","nativeSrc":"931:10:9","nodeType":"YulTypedName","src":"931:10:9","type":""}]},{"body":{"nativeSrc":"1096:22:9","nodeType":"YulBlock","src":"1096:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1098:16:9","nodeType":"YulIdentifier","src":"1098:16:9"},"nativeSrc":"1098:18:9","nodeType":"YulFunctionCall","src":"1098:18:9"},"nativeSrc":"1098:18:9","nodeType":"YulExpressionStatement","src":"1098:18:9"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"1039:10:9","nodeType":"YulIdentifier","src":"1039:10:9"},{"kind":"number","nativeSrc":"1051:18:9","nodeType":"YulLiteral","src":"1051:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1036:2:9","nodeType":"YulIdentifier","src":"1036:2:9"},"nativeSrc":"1036:34:9","nodeType":"YulFunctionCall","src":"1036:34:9"},{"arguments":[{"name":"newFreePtr","nativeSrc":"1075:10:9","nodeType":"YulIdentifier","src":"1075:10:9"},{"name":"memPtr","nativeSrc":"1087:6:9","nodeType":"YulIdentifier","src":"1087:6:9"}],"functionName":{"name":"lt","nativeSrc":"1072:2:9","nodeType":"YulIdentifier","src":"1072:2:9"},"nativeSrc":"1072:22:9","nodeType":"YulFunctionCall","src":"1072:22:9"}],"functionName":{"name":"or","nativeSrc":"1033:2:9","nodeType":"YulIdentifier","src":"1033:2:9"},"nativeSrc":"1033:62:9","nodeType":"YulFunctionCall","src":"1033:62:9"},"nativeSrc":"1030:88:9","nodeType":"YulIf","src":"1030:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1134:2:9","nodeType":"YulLiteral","src":"1134:2:9","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"1138:10:9","nodeType":"YulIdentifier","src":"1138:10:9"}],"functionName":{"name":"mstore","nativeSrc":"1127:6:9","nodeType":"YulIdentifier","src":"1127:6:9"},"nativeSrc":"1127:22:9","nodeType":"YulFunctionCall","src":"1127:22:9"},"nativeSrc":"1127:22:9","nodeType":"YulExpressionStatement","src":"1127:22:9"}]},"name":"finalize_allocation","nativeSrc":"874:281:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"903:6:9","nodeType":"YulTypedName","src":"903:6:9","type":""},{"name":"size","nativeSrc":"911:4:9","nodeType":"YulTypedName","src":"911:4:9","type":""}],"src":"874:281:9"},{"body":{"nativeSrc":"1202:88:9","nodeType":"YulBlock","src":"1202:88:9","statements":[{"nativeSrc":"1212:30:9","nodeType":"YulAssignment","src":"1212:30:9","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nativeSrc":"1222:18:9","nodeType":"YulIdentifier","src":"1222:18:9"},"nativeSrc":"1222:20:9","nodeType":"YulFunctionCall","src":"1222:20:9"},"variableNames":[{"name":"memPtr","nativeSrc":"1212:6:9","nodeType":"YulIdentifier","src":"1212:6:9"}]},{"expression":{"arguments":[{"name":"memPtr","nativeSrc":"1271:6:9","nodeType":"YulIdentifier","src":"1271:6:9"},{"name":"size","nativeSrc":"1279:4:9","nodeType":"YulIdentifier","src":"1279:4:9"}],"functionName":{"name":"finalize_allocation","nativeSrc":"1251:19:9","nodeType":"YulIdentifier","src":"1251:19:9"},"nativeSrc":"1251:33:9","nodeType":"YulFunctionCall","src":"1251:33:9"},"nativeSrc":"1251:33:9","nodeType":"YulExpressionStatement","src":"1251:33:9"}]},"name":"allocate_memory","nativeSrc":"1161:129:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"1186:4:9","nodeType":"YulTypedName","src":"1186:4:9","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"1195:6:9","nodeType":"YulTypedName","src":"1195:6:9","type":""}],"src":"1161:129:9"},{"body":{"nativeSrc":"1362:241:9","nodeType":"YulBlock","src":"1362:241:9","statements":[{"body":{"nativeSrc":"1467:22:9","nodeType":"YulBlock","src":"1467:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1469:16:9","nodeType":"YulIdentifier","src":"1469:16:9"},"nativeSrc":"1469:18:9","nodeType":"YulFunctionCall","src":"1469:18:9"},"nativeSrc":"1469:18:9","nodeType":"YulExpressionStatement","src":"1469:18:9"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"1439:6:9","nodeType":"YulIdentifier","src":"1439:6:9"},{"kind":"number","nativeSrc":"1447:18:9","nodeType":"YulLiteral","src":"1447:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1436:2:9","nodeType":"YulIdentifier","src":"1436:2:9"},"nativeSrc":"1436:30:9","nodeType":"YulFunctionCall","src":"1436:30:9"},"nativeSrc":"1433:56:9","nodeType":"YulIf","src":"1433:56:9"},{"nativeSrc":"1499:37:9","nodeType":"YulAssignment","src":"1499:37:9","value":{"arguments":[{"name":"length","nativeSrc":"1529:6:9","nodeType":"YulIdentifier","src":"1529:6:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"1507:21:9","nodeType":"YulIdentifier","src":"1507:21:9"},"nativeSrc":"1507:29:9","nodeType":"YulFunctionCall","src":"1507:29:9"},"variableNames":[{"name":"size","nativeSrc":"1499:4:9","nodeType":"YulIdentifier","src":"1499:4:9"}]},{"nativeSrc":"1573:23:9","nodeType":"YulAssignment","src":"1573:23:9","value":{"arguments":[{"name":"size","nativeSrc":"1585:4:9","nodeType":"YulIdentifier","src":"1585:4:9"},{"kind":"number","nativeSrc":"1591:4:9","nodeType":"YulLiteral","src":"1591:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1581:3:9","nodeType":"YulIdentifier","src":"1581:3:9"},"nativeSrc":"1581:15:9","nodeType":"YulFunctionCall","src":"1581:15:9"},"variableNames":[{"name":"size","nativeSrc":"1573:4:9","nodeType":"YulIdentifier","src":"1573:4:9"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1296:307:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"1346:6:9","nodeType":"YulTypedName","src":"1346:6:9","type":""}],"returnVariables":[{"name":"size","nativeSrc":"1357:4:9","nodeType":"YulTypedName","src":"1357:4:9","type":""}],"src":"1296:307:9"},{"body":{"nativeSrc":"1673:82:9","nodeType":"YulBlock","src":"1673:82:9","statements":[{"expression":{"arguments":[{"name":"dst","nativeSrc":"1696:3:9","nodeType":"YulIdentifier","src":"1696:3:9"},{"name":"src","nativeSrc":"1701:3:9","nodeType":"YulIdentifier","src":"1701:3:9"},{"name":"length","nativeSrc":"1706:6:9","nodeType":"YulIdentifier","src":"1706:6:9"}],"functionName":{"name":"calldatacopy","nativeSrc":"1683:12:9","nodeType":"YulIdentifier","src":"1683:12:9"},"nativeSrc":"1683:30:9","nodeType":"YulFunctionCall","src":"1683:30:9"},"nativeSrc":"1683:30:9","nodeType":"YulExpressionStatement","src":"1683:30:9"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"1733:3:9","nodeType":"YulIdentifier","src":"1733:3:9"},{"name":"length","nativeSrc":"1738:6:9","nodeType":"YulIdentifier","src":"1738:6:9"}],"functionName":{"name":"add","nativeSrc":"1729:3:9","nodeType":"YulIdentifier","src":"1729:3:9"},"nativeSrc":"1729:16:9","nodeType":"YulFunctionCall","src":"1729:16:9"},{"kind":"number","nativeSrc":"1747:1:9","nodeType":"YulLiteral","src":"1747:1:9","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"1722:6:9","nodeType":"YulIdentifier","src":"1722:6:9"},"nativeSrc":"1722:27:9","nodeType":"YulFunctionCall","src":"1722:27:9"},"nativeSrc":"1722:27:9","nodeType":"YulExpressionStatement","src":"1722:27:9"}]},"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"1609:146:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1655:3:9","nodeType":"YulTypedName","src":"1655:3:9","type":""},{"name":"dst","nativeSrc":"1660:3:9","nodeType":"YulTypedName","src":"1660:3:9","type":""},{"name":"length","nativeSrc":"1665:6:9","nodeType":"YulTypedName","src":"1665:6:9","type":""}],"src":"1609:146:9"},{"body":{"nativeSrc":"1844:340:9","nodeType":"YulBlock","src":"1844:340:9","statements":[{"nativeSrc":"1854:74:9","nodeType":"YulAssignment","src":"1854:74:9","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"1920:6:9","nodeType":"YulIdentifier","src":"1920:6:9"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1879:40:9","nodeType":"YulIdentifier","src":"1879:40:9"},"nativeSrc":"1879:48:9","nodeType":"YulFunctionCall","src":"1879:48:9"}],"functionName":{"name":"allocate_memory","nativeSrc":"1863:15:9","nodeType":"YulIdentifier","src":"1863:15:9"},"nativeSrc":"1863:65:9","nodeType":"YulFunctionCall","src":"1863:65:9"},"variableNames":[{"name":"array","nativeSrc":"1854:5:9","nodeType":"YulIdentifier","src":"1854:5:9"}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"1944:5:9","nodeType":"YulIdentifier","src":"1944:5:9"},{"name":"length","nativeSrc":"1951:6:9","nodeType":"YulIdentifier","src":"1951:6:9"}],"functionName":{"name":"mstore","nativeSrc":"1937:6:9","nodeType":"YulIdentifier","src":"1937:6:9"},"nativeSrc":"1937:21:9","nodeType":"YulFunctionCall","src":"1937:21:9"},"nativeSrc":"1937:21:9","nodeType":"YulExpressionStatement","src":"1937:21:9"},{"nativeSrc":"1967:27:9","nodeType":"YulVariableDeclaration","src":"1967:27:9","value":{"arguments":[{"name":"array","nativeSrc":"1982:5:9","nodeType":"YulIdentifier","src":"1982:5:9"},{"kind":"number","nativeSrc":"1989:4:9","nodeType":"YulLiteral","src":"1989:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1978:3:9","nodeType":"YulIdentifier","src":"1978:3:9"},"nativeSrc":"1978:16:9","nodeType":"YulFunctionCall","src":"1978:16:9"},"variables":[{"name":"dst","nativeSrc":"1971:3:9","nodeType":"YulTypedName","src":"1971:3:9","type":""}]},{"body":{"nativeSrc":"2032:83:9","nodeType":"YulBlock","src":"2032:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"2034:77:9","nodeType":"YulIdentifier","src":"2034:77:9"},"nativeSrc":"2034:79:9","nodeType":"YulFunctionCall","src":"2034:79:9"},"nativeSrc":"2034:79:9","nodeType":"YulExpressionStatement","src":"2034:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"2013:3:9","nodeType":"YulIdentifier","src":"2013:3:9"},{"name":"length","nativeSrc":"2018:6:9","nodeType":"YulIdentifier","src":"2018:6:9"}],"functionName":{"name":"add","nativeSrc":"2009:3:9","nodeType":"YulIdentifier","src":"2009:3:9"},"nativeSrc":"2009:16:9","nodeType":"YulFunctionCall","src":"2009:16:9"},{"name":"end","nativeSrc":"2027:3:9","nodeType":"YulIdentifier","src":"2027:3:9"}],"functionName":{"name":"gt","nativeSrc":"2006:2:9","nodeType":"YulIdentifier","src":"2006:2:9"},"nativeSrc":"2006:25:9","nodeType":"YulFunctionCall","src":"2006:25:9"},"nativeSrc":"2003:112:9","nodeType":"YulIf","src":"2003:112:9"},{"expression":{"arguments":[{"name":"src","nativeSrc":"2161:3:9","nodeType":"YulIdentifier","src":"2161:3:9"},{"name":"dst","nativeSrc":"2166:3:9","nodeType":"YulIdentifier","src":"2166:3:9"},{"name":"length","nativeSrc":"2171:6:9","nodeType":"YulIdentifier","src":"2171:6:9"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"2124:36:9","nodeType":"YulIdentifier","src":"2124:36:9"},"nativeSrc":"2124:54:9","nodeType":"YulFunctionCall","src":"2124:54:9"},"nativeSrc":"2124:54:9","nodeType":"YulExpressionStatement","src":"2124:54:9"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"1761:423:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1817:3:9","nodeType":"YulTypedName","src":"1817:3:9","type":""},{"name":"length","nativeSrc":"1822:6:9","nodeType":"YulTypedName","src":"1822:6:9","type":""},{"name":"end","nativeSrc":"1830:3:9","nodeType":"YulTypedName","src":"1830:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"1838:5:9","nodeType":"YulTypedName","src":"1838:5:9","type":""}],"src":"1761:423:9"},{"body":{"nativeSrc":"2264:277:9","nodeType":"YulBlock","src":"2264:277:9","statements":[{"body":{"nativeSrc":"2313:83:9","nodeType":"YulBlock","src":"2313:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"2315:77:9","nodeType":"YulIdentifier","src":"2315:77:9"},"nativeSrc":"2315:79:9","nodeType":"YulFunctionCall","src":"2315:79:9"},"nativeSrc":"2315:79:9","nodeType":"YulExpressionStatement","src":"2315:79:9"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2292:6:9","nodeType":"YulIdentifier","src":"2292:6:9"},{"kind":"number","nativeSrc":"2300:4:9","nodeType":"YulLiteral","src":"2300:4:9","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"2288:3:9","nodeType":"YulIdentifier","src":"2288:3:9"},"nativeSrc":"2288:17:9","nodeType":"YulFunctionCall","src":"2288:17:9"},{"name":"end","nativeSrc":"2307:3:9","nodeType":"YulIdentifier","src":"2307:3:9"}],"functionName":{"name":"slt","nativeSrc":"2284:3:9","nodeType":"YulIdentifier","src":"2284:3:9"},"nativeSrc":"2284:27:9","nodeType":"YulFunctionCall","src":"2284:27:9"}],"functionName":{"name":"iszero","nativeSrc":"2277:6:9","nodeType":"YulIdentifier","src":"2277:6:9"},"nativeSrc":"2277:35:9","nodeType":"YulFunctionCall","src":"2277:35:9"},"nativeSrc":"2274:122:9","nodeType":"YulIf","src":"2274:122:9"},{"nativeSrc":"2405:34:9","nodeType":"YulVariableDeclaration","src":"2405:34:9","value":{"arguments":[{"name":"offset","nativeSrc":"2432:6:9","nodeType":"YulIdentifier","src":"2432:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"2419:12:9","nodeType":"YulIdentifier","src":"2419:12:9"},"nativeSrc":"2419:20:9","nodeType":"YulFunctionCall","src":"2419:20:9"},"variables":[{"name":"length","nativeSrc":"2409:6:9","nodeType":"YulTypedName","src":"2409:6:9","type":""}]},{"nativeSrc":"2448:87:9","nodeType":"YulAssignment","src":"2448:87:9","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2508:6:9","nodeType":"YulIdentifier","src":"2508:6:9"},{"kind":"number","nativeSrc":"2516:4:9","nodeType":"YulLiteral","src":"2516:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2504:3:9","nodeType":"YulIdentifier","src":"2504:3:9"},"nativeSrc":"2504:17:9","nodeType":"YulFunctionCall","src":"2504:17:9"},{"name":"length","nativeSrc":"2523:6:9","nodeType":"YulIdentifier","src":"2523:6:9"},{"name":"end","nativeSrc":"2531:3:9","nodeType":"YulIdentifier","src":"2531:3:9"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"2457:46:9","nodeType":"YulIdentifier","src":"2457:46:9"},"nativeSrc":"2457:78:9","nodeType":"YulFunctionCall","src":"2457:78:9"},"variableNames":[{"name":"array","nativeSrc":"2448:5:9","nodeType":"YulIdentifier","src":"2448:5:9"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"2203:338:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2242:6:9","nodeType":"YulTypedName","src":"2242:6:9","type":""},{"name":"end","nativeSrc":"2250:3:9","nodeType":"YulTypedName","src":"2250:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2258:5:9","nodeType":"YulTypedName","src":"2258:5:9","type":""}],"src":"2203:338:9"},{"body":{"nativeSrc":"2629:229:9","nodeType":"YulBlock","src":"2629:229:9","statements":[{"body":{"nativeSrc":"2734:22:9","nodeType":"YulBlock","src":"2734:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"2736:16:9","nodeType":"YulIdentifier","src":"2736:16:9"},"nativeSrc":"2736:18:9","nodeType":"YulFunctionCall","src":"2736:18:9"},"nativeSrc":"2736:18:9","nodeType":"YulExpressionStatement","src":"2736:18:9"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"2706:6:9","nodeType":"YulIdentifier","src":"2706:6:9"},{"kind":"number","nativeSrc":"2714:18:9","nodeType":"YulLiteral","src":"2714:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"2703:2:9","nodeType":"YulIdentifier","src":"2703:2:9"},"nativeSrc":"2703:30:9","nodeType":"YulFunctionCall","src":"2703:30:9"},"nativeSrc":"2700:56:9","nodeType":"YulIf","src":"2700:56:9"},{"nativeSrc":"2766:25:9","nodeType":"YulAssignment","src":"2766:25:9","value":{"arguments":[{"name":"length","nativeSrc":"2778:6:9","nodeType":"YulIdentifier","src":"2778:6:9"},{"kind":"number","nativeSrc":"2786:4:9","nodeType":"YulLiteral","src":"2786:4:9","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"2774:3:9","nodeType":"YulIdentifier","src":"2774:3:9"},"nativeSrc":"2774:17:9","nodeType":"YulFunctionCall","src":"2774:17:9"},"variableNames":[{"name":"size","nativeSrc":"2766:4:9","nodeType":"YulIdentifier","src":"2766:4:9"}]},{"nativeSrc":"2828:23:9","nodeType":"YulAssignment","src":"2828:23:9","value":{"arguments":[{"name":"size","nativeSrc":"2840:4:9","nodeType":"YulIdentifier","src":"2840:4:9"},{"kind":"number","nativeSrc":"2846:4:9","nodeType":"YulLiteral","src":"2846:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2836:3:9","nodeType":"YulIdentifier","src":"2836:3:9"},"nativeSrc":"2836:15:9","nodeType":"YulFunctionCall","src":"2836:15:9"},"variableNames":[{"name":"size","nativeSrc":"2828:4:9","nodeType":"YulIdentifier","src":"2828:4:9"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"2547:311:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"2613:6:9","nodeType":"YulTypedName","src":"2613:6:9","type":""}],"returnVariables":[{"name":"size","nativeSrc":"2624:4:9","nodeType":"YulTypedName","src":"2624:4:9","type":""}],"src":"2547:311:9"},{"body":{"nativeSrc":"2953:28:9","nodeType":"YulBlock","src":"2953:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2970:1:9","nodeType":"YulLiteral","src":"2970:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"2973:1:9","nodeType":"YulLiteral","src":"2973:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2963:6:9","nodeType":"YulIdentifier","src":"2963:6:9"},"nativeSrc":"2963:12:9","nodeType":"YulFunctionCall","src":"2963:12:9"},"nativeSrc":"2963:12:9","nodeType":"YulExpressionStatement","src":"2963:12:9"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"2864:117:9","nodeType":"YulFunctionDefinition","src":"2864:117:9"},{"body":{"nativeSrc":"3032:32:9","nodeType":"YulBlock","src":"3032:32:9","statements":[{"nativeSrc":"3042:16:9","nodeType":"YulAssignment","src":"3042:16:9","value":{"name":"value","nativeSrc":"3053:5:9","nodeType":"YulIdentifier","src":"3053:5:9"},"variableNames":[{"name":"cleaned","nativeSrc":"3042:7:9","nodeType":"YulIdentifier","src":"3042:7:9"}]}]},"name":"cleanup_t_uint256","nativeSrc":"2987:77:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3014:5:9","nodeType":"YulTypedName","src":"3014:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"3024:7:9","nodeType":"YulTypedName","src":"3024:7:9","type":""}],"src":"2987:77:9"},{"body":{"nativeSrc":"3113:79:9","nodeType":"YulBlock","src":"3113:79:9","statements":[{"body":{"nativeSrc":"3170:16:9","nodeType":"YulBlock","src":"3170:16:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3179:1:9","nodeType":"YulLiteral","src":"3179:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"3182:1:9","nodeType":"YulLiteral","src":"3182:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"3172:6:9","nodeType":"YulIdentifier","src":"3172:6:9"},"nativeSrc":"3172:12:9","nodeType":"YulFunctionCall","src":"3172:12:9"},"nativeSrc":"3172:12:9","nodeType":"YulExpressionStatement","src":"3172:12:9"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"3136:5:9","nodeType":"YulIdentifier","src":"3136:5:9"},{"arguments":[{"name":"value","nativeSrc":"3161:5:9","nodeType":"YulIdentifier","src":"3161:5:9"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"3143:17:9","nodeType":"YulIdentifier","src":"3143:17:9"},"nativeSrc":"3143:24:9","nodeType":"YulFunctionCall","src":"3143:24:9"}],"functionName":{"name":"eq","nativeSrc":"3133:2:9","nodeType":"YulIdentifier","src":"3133:2:9"},"nativeSrc":"3133:35:9","nodeType":"YulFunctionCall","src":"3133:35:9"}],"functionName":{"name":"iszero","nativeSrc":"3126:6:9","nodeType":"YulIdentifier","src":"3126:6:9"},"nativeSrc":"3126:43:9","nodeType":"YulFunctionCall","src":"3126:43:9"},"nativeSrc":"3123:63:9","nodeType":"YulIf","src":"3123:63:9"}]},"name":"validator_revert_t_uint256","nativeSrc":"3070:122:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3106:5:9","nodeType":"YulTypedName","src":"3106:5:9","type":""}],"src":"3070:122:9"},{"body":{"nativeSrc":"3250:87:9","nodeType":"YulBlock","src":"3250:87:9","statements":[{"nativeSrc":"3260:29:9","nodeType":"YulAssignment","src":"3260:29:9","value":{"arguments":[{"name":"offset","nativeSrc":"3282:6:9","nodeType":"YulIdentifier","src":"3282:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"3269:12:9","nodeType":"YulIdentifier","src":"3269:12:9"},"nativeSrc":"3269:20:9","nodeType":"YulFunctionCall","src":"3269:20:9"},"variableNames":[{"name":"value","nativeSrc":"3260:5:9","nodeType":"YulIdentifier","src":"3260:5:9"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"3325:5:9","nodeType":"YulIdentifier","src":"3325:5:9"}],"functionName":{"name":"validator_revert_t_uint256","nativeSrc":"3298:26:9","nodeType":"YulIdentifier","src":"3298:26:9"},"nativeSrc":"3298:33:9","nodeType":"YulFunctionCall","src":"3298:33:9"},"nativeSrc":"3298:33:9","nodeType":"YulExpressionStatement","src":"3298:33:9"}]},"name":"abi_decode_t_uint256","nativeSrc":"3198:139:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3228:6:9","nodeType":"YulTypedName","src":"3228:6:9","type":""},{"name":"end","nativeSrc":"3236:3:9","nodeType":"YulTypedName","src":"3236:3:9","type":""}],"returnVariables":[{"name":"value","nativeSrc":"3244:5:9","nodeType":"YulTypedName","src":"3244:5:9","type":""}],"src":"3198:139:9"},{"body":{"nativeSrc":"3462:608:9","nodeType":"YulBlock","src":"3462:608:9","statements":[{"nativeSrc":"3472:90:9","nodeType":"YulAssignment","src":"3472:90:9","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"3554:6:9","nodeType":"YulIdentifier","src":"3554:6:9"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3497:56:9","nodeType":"YulIdentifier","src":"3497:56:9"},"nativeSrc":"3497:64:9","nodeType":"YulFunctionCall","src":"3497:64:9"}],"functionName":{"name":"allocate_memory","nativeSrc":"3481:15:9","nodeType":"YulIdentifier","src":"3481:15:9"},"nativeSrc":"3481:81:9","nodeType":"YulFunctionCall","src":"3481:81:9"},"variableNames":[{"name":"array","nativeSrc":"3472:5:9","nodeType":"YulIdentifier","src":"3472:5:9"}]},{"nativeSrc":"3571:16:9","nodeType":"YulVariableDeclaration","src":"3571:16:9","value":{"name":"array","nativeSrc":"3582:5:9","nodeType":"YulIdentifier","src":"3582:5:9"},"variables":[{"name":"dst","nativeSrc":"3575:3:9","nodeType":"YulTypedName","src":"3575:3:9","type":""}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"3604:5:9","nodeType":"YulIdentifier","src":"3604:5:9"},{"name":"length","nativeSrc":"3611:6:9","nodeType":"YulIdentifier","src":"3611:6:9"}],"functionName":{"name":"mstore","nativeSrc":"3597:6:9","nodeType":"YulIdentifier","src":"3597:6:9"},"nativeSrc":"3597:21:9","nodeType":"YulFunctionCall","src":"3597:21:9"},"nativeSrc":"3597:21:9","nodeType":"YulExpressionStatement","src":"3597:21:9"},{"nativeSrc":"3627:23:9","nodeType":"YulAssignment","src":"3627:23:9","value":{"arguments":[{"name":"array","nativeSrc":"3638:5:9","nodeType":"YulIdentifier","src":"3638:5:9"},{"kind":"number","nativeSrc":"3645:4:9","nodeType":"YulLiteral","src":"3645:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3634:3:9","nodeType":"YulIdentifier","src":"3634:3:9"},"nativeSrc":"3634:16:9","nodeType":"YulFunctionCall","src":"3634:16:9"},"variableNames":[{"name":"dst","nativeSrc":"3627:3:9","nodeType":"YulIdentifier","src":"3627:3:9"}]},{"nativeSrc":"3660:44:9","nodeType":"YulVariableDeclaration","src":"3660:44:9","value":{"arguments":[{"name":"offset","nativeSrc":"3678:6:9","nodeType":"YulIdentifier","src":"3678:6:9"},{"arguments":[{"name":"length","nativeSrc":"3690:6:9","nodeType":"YulIdentifier","src":"3690:6:9"},{"kind":"number","nativeSrc":"3698:4:9","nodeType":"YulLiteral","src":"3698:4:9","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"3686:3:9","nodeType":"YulIdentifier","src":"3686:3:9"},"nativeSrc":"3686:17:9","nodeType":"YulFunctionCall","src":"3686:17:9"}],"functionName":{"name":"add","nativeSrc":"3674:3:9","nodeType":"YulIdentifier","src":"3674:3:9"},"nativeSrc":"3674:30:9","nodeType":"YulFunctionCall","src":"3674:30:9"},"variables":[{"name":"srcEnd","nativeSrc":"3664:6:9","nodeType":"YulTypedName","src":"3664:6:9","type":""}]},{"body":{"nativeSrc":"3732:103:9","nodeType":"YulBlock","src":"3732:103:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"3746:77:9","nodeType":"YulIdentifier","src":"3746:77:9"},"nativeSrc":"3746:79:9","nodeType":"YulFunctionCall","src":"3746:79:9"},"nativeSrc":"3746:79:9","nodeType":"YulExpressionStatement","src":"3746:79:9"}]},"condition":{"arguments":[{"name":"srcEnd","nativeSrc":"3719:6:9","nodeType":"YulIdentifier","src":"3719:6:9"},{"name":"end","nativeSrc":"3727:3:9","nodeType":"YulIdentifier","src":"3727:3:9"}],"functionName":{"name":"gt","nativeSrc":"3716:2:9","nodeType":"YulIdentifier","src":"3716:2:9"},"nativeSrc":"3716:15:9","nodeType":"YulFunctionCall","src":"3716:15:9"},"nativeSrc":"3713:122:9","nodeType":"YulIf","src":"3713:122:9"},{"body":{"nativeSrc":"3920:144:9","nodeType":"YulBlock","src":"3920:144:9","statements":[{"nativeSrc":"3935:21:9","nodeType":"YulVariableDeclaration","src":"3935:21:9","value":{"name":"src","nativeSrc":"3953:3:9","nodeType":"YulIdentifier","src":"3953:3:9"},"variables":[{"name":"elementPos","nativeSrc":"3939:10:9","nodeType":"YulTypedName","src":"3939:10:9","type":""}]},{"expression":{"arguments":[{"name":"dst","nativeSrc":"3977:3:9","nodeType":"YulIdentifier","src":"3977:3:9"},{"arguments":[{"name":"elementPos","nativeSrc":"4003:10:9","nodeType":"YulIdentifier","src":"4003:10:9"},{"name":"end","nativeSrc":"4015:3:9","nodeType":"YulIdentifier","src":"4015:3:9"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"3982:20:9","nodeType":"YulIdentifier","src":"3982:20:9"},"nativeSrc":"3982:37:9","nodeType":"YulFunctionCall","src":"3982:37:9"}],"functionName":{"name":"mstore","nativeSrc":"3970:6:9","nodeType":"YulIdentifier","src":"3970:6:9"},"nativeSrc":"3970:50:9","nodeType":"YulFunctionCall","src":"3970:50:9"},"nativeSrc":"3970:50:9","nodeType":"YulExpressionStatement","src":"3970:50:9"},{"nativeSrc":"4033:21:9","nodeType":"YulAssignment","src":"4033:21:9","value":{"arguments":[{"name":"dst","nativeSrc":"4044:3:9","nodeType":"YulIdentifier","src":"4044:3:9"},{"kind":"number","nativeSrc":"4049:4:9","nodeType":"YulLiteral","src":"4049:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4040:3:9","nodeType":"YulIdentifier","src":"4040:3:9"},"nativeSrc":"4040:14:9","nodeType":"YulFunctionCall","src":"4040:14:9"},"variableNames":[{"name":"dst","nativeSrc":"4033:3:9","nodeType":"YulIdentifier","src":"4033:3:9"}]}]},"condition":{"arguments":[{"name":"src","nativeSrc":"3873:3:9","nodeType":"YulIdentifier","src":"3873:3:9"},{"name":"srcEnd","nativeSrc":"3878:6:9","nodeType":"YulIdentifier","src":"3878:6:9"}],"functionName":{"name":"lt","nativeSrc":"3870:2:9","nodeType":"YulIdentifier","src":"3870:2:9"},"nativeSrc":"3870:15:9","nodeType":"YulFunctionCall","src":"3870:15:9"},"nativeSrc":"3844:220:9","nodeType":"YulForLoop","post":{"nativeSrc":"3886:25:9","nodeType":"YulBlock","src":"3886:25:9","statements":[{"nativeSrc":"3888:21:9","nodeType":"YulAssignment","src":"3888:21:9","value":{"arguments":[{"name":"src","nativeSrc":"3899:3:9","nodeType":"YulIdentifier","src":"3899:3:9"},{"kind":"number","nativeSrc":"3904:4:9","nodeType":"YulLiteral","src":"3904:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3895:3:9","nodeType":"YulIdentifier","src":"3895:3:9"},"nativeSrc":"3895:14:9","nodeType":"YulFunctionCall","src":"3895:14:9"},"variableNames":[{"name":"src","nativeSrc":"3888:3:9","nodeType":"YulIdentifier","src":"3888:3:9"}]}]},"pre":{"nativeSrc":"3848:21:9","nodeType":"YulBlock","src":"3848:21:9","statements":[{"nativeSrc":"3850:17:9","nodeType":"YulVariableDeclaration","src":"3850:17:9","value":{"name":"offset","nativeSrc":"3861:6:9","nodeType":"YulIdentifier","src":"3861:6:9"},"variables":[{"name":"src","nativeSrc":"3854:3:9","nodeType":"YulTypedName","src":"3854:3:9","type":""}]}]},"src":"3844:220:9"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3360:710:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3432:6:9","nodeType":"YulTypedName","src":"3432:6:9","type":""},{"name":"length","nativeSrc":"3440:6:9","nodeType":"YulTypedName","src":"3440:6:9","type":""},{"name":"end","nativeSrc":"3448:3:9","nodeType":"YulTypedName","src":"3448:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"3456:5:9","nodeType":"YulTypedName","src":"3456:5:9","type":""}],"src":"3360:710:9"},{"body":{"nativeSrc":"4170:293:9","nodeType":"YulBlock","src":"4170:293:9","statements":[{"body":{"nativeSrc":"4219:83:9","nodeType":"YulBlock","src":"4219:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"4221:77:9","nodeType":"YulIdentifier","src":"4221:77:9"},"nativeSrc":"4221:79:9","nodeType":"YulFunctionCall","src":"4221:79:9"},"nativeSrc":"4221:79:9","nodeType":"YulExpressionStatement","src":"4221:79:9"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4198:6:9","nodeType":"YulIdentifier","src":"4198:6:9"},{"kind":"number","nativeSrc":"4206:4:9","nodeType":"YulLiteral","src":"4206:4:9","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"4194:3:9","nodeType":"YulIdentifier","src":"4194:3:9"},"nativeSrc":"4194:17:9","nodeType":"YulFunctionCall","src":"4194:17:9"},{"name":"end","nativeSrc":"4213:3:9","nodeType":"YulIdentifier","src":"4213:3:9"}],"functionName":{"name":"slt","nativeSrc":"4190:3:9","nodeType":"YulIdentifier","src":"4190:3:9"},"nativeSrc":"4190:27:9","nodeType":"YulFunctionCall","src":"4190:27:9"}],"functionName":{"name":"iszero","nativeSrc":"4183:6:9","nodeType":"YulIdentifier","src":"4183:6:9"},"nativeSrc":"4183:35:9","nodeType":"YulFunctionCall","src":"4183:35:9"},"nativeSrc":"4180:122:9","nodeType":"YulIf","src":"4180:122:9"},{"nativeSrc":"4311:34:9","nodeType":"YulVariableDeclaration","src":"4311:34:9","value":{"arguments":[{"name":"offset","nativeSrc":"4338:6:9","nodeType":"YulIdentifier","src":"4338:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"4325:12:9","nodeType":"YulIdentifier","src":"4325:12:9"},"nativeSrc":"4325:20:9","nodeType":"YulFunctionCall","src":"4325:20:9"},"variables":[{"name":"length","nativeSrc":"4315:6:9","nodeType":"YulTypedName","src":"4315:6:9","type":""}]},{"nativeSrc":"4354:103:9","nodeType":"YulAssignment","src":"4354:103:9","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4430:6:9","nodeType":"YulIdentifier","src":"4430:6:9"},{"kind":"number","nativeSrc":"4438:4:9","nodeType":"YulLiteral","src":"4438:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4426:3:9","nodeType":"YulIdentifier","src":"4426:3:9"},"nativeSrc":"4426:17:9","nodeType":"YulFunctionCall","src":"4426:17:9"},{"name":"length","nativeSrc":"4445:6:9","nodeType":"YulIdentifier","src":"4445:6:9"},{"name":"end","nativeSrc":"4453:3:9","nodeType":"YulIdentifier","src":"4453:3:9"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4363:62:9","nodeType":"YulIdentifier","src":"4363:62:9"},"nativeSrc":"4363:94:9","nodeType":"YulFunctionCall","src":"4363:94:9"},"variableNames":[{"name":"array","nativeSrc":"4354:5:9","nodeType":"YulIdentifier","src":"4354:5:9"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4093:370:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"4148:6:9","nodeType":"YulTypedName","src":"4148:6:9","type":""},{"name":"end","nativeSrc":"4156:3:9","nodeType":"YulTypedName","src":"4156:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"4164:5:9","nodeType":"YulTypedName","src":"4164:5:9","type":""}],"src":"4093:370:9"},{"body":{"nativeSrc":"4586:745:9","nodeType":"YulBlock","src":"4586:745:9","statements":[{"body":{"nativeSrc":"4632:83:9","nodeType":"YulBlock","src":"4632:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"4634:77:9","nodeType":"YulIdentifier","src":"4634:77:9"},"nativeSrc":"4634:79:9","nodeType":"YulFunctionCall","src":"4634:79:9"},"nativeSrc":"4634:79:9","nodeType":"YulExpressionStatement","src":"4634:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"4607:7:9","nodeType":"YulIdentifier","src":"4607:7:9"},{"name":"headStart","nativeSrc":"4616:9:9","nodeType":"YulIdentifier","src":"4616:9:9"}],"functionName":{"name":"sub","nativeSrc":"4603:3:9","nodeType":"YulIdentifier","src":"4603:3:9"},"nativeSrc":"4603:23:9","nodeType":"YulFunctionCall","src":"4603:23:9"},{"kind":"number","nativeSrc":"4628:2:9","nodeType":"YulLiteral","src":"4628:2:9","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"4599:3:9","nodeType":"YulIdentifier","src":"4599:3:9"},"nativeSrc":"4599:32:9","nodeType":"YulFunctionCall","src":"4599:32:9"},"nativeSrc":"4596:119:9","nodeType":"YulIf","src":"4596:119:9"},{"nativeSrc":"4725:286:9","nodeType":"YulBlock","src":"4725:286:9","statements":[{"nativeSrc":"4740:45:9","nodeType":"YulVariableDeclaration","src":"4740:45:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4771:9:9","nodeType":"YulIdentifier","src":"4771:9:9"},{"kind":"number","nativeSrc":"4782:1:9","nodeType":"YulLiteral","src":"4782:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"4767:3:9","nodeType":"YulIdentifier","src":"4767:3:9"},"nativeSrc":"4767:17:9","nodeType":"YulFunctionCall","src":"4767:17:9"}],"functionName":{"name":"calldataload","nativeSrc":"4754:12:9","nodeType":"YulIdentifier","src":"4754:12:9"},"nativeSrc":"4754:31:9","nodeType":"YulFunctionCall","src":"4754:31:9"},"variables":[{"name":"offset","nativeSrc":"4744:6:9","nodeType":"YulTypedName","src":"4744:6:9","type":""}]},{"body":{"nativeSrc":"4832:83:9","nodeType":"YulBlock","src":"4832:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"4834:77:9","nodeType":"YulIdentifier","src":"4834:77:9"},"nativeSrc":"4834:79:9","nodeType":"YulFunctionCall","src":"4834:79:9"},"nativeSrc":"4834:79:9","nodeType":"YulExpressionStatement","src":"4834:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"4804:6:9","nodeType":"YulIdentifier","src":"4804:6:9"},{"kind":"number","nativeSrc":"4812:18:9","nodeType":"YulLiteral","src":"4812:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"4801:2:9","nodeType":"YulIdentifier","src":"4801:2:9"},"nativeSrc":"4801:30:9","nodeType":"YulFunctionCall","src":"4801:30:9"},"nativeSrc":"4798:117:9","nodeType":"YulIf","src":"4798:117:9"},{"nativeSrc":"4929:72:9","nodeType":"YulAssignment","src":"4929:72:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4973:9:9","nodeType":"YulIdentifier","src":"4973:9:9"},{"name":"offset","nativeSrc":"4984:6:9","nodeType":"YulIdentifier","src":"4984:6:9"}],"functionName":{"name":"add","nativeSrc":"4969:3:9","nodeType":"YulIdentifier","src":"4969:3:9"},"nativeSrc":"4969:22:9","nodeType":"YulFunctionCall","src":"4969:22:9"},{"name":"dataEnd","nativeSrc":"4993:7:9","nodeType":"YulIdentifier","src":"4993:7:9"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"4939:29:9","nodeType":"YulIdentifier","src":"4939:29:9"},"nativeSrc":"4939:62:9","nodeType":"YulFunctionCall","src":"4939:62:9"},"variableNames":[{"name":"value0","nativeSrc":"4929:6:9","nodeType":"YulIdentifier","src":"4929:6:9"}]}]},{"nativeSrc":"5021:303:9","nodeType":"YulBlock","src":"5021:303:9","statements":[{"nativeSrc":"5036:46:9","nodeType":"YulVariableDeclaration","src":"5036:46:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5067:9:9","nodeType":"YulIdentifier","src":"5067:9:9"},{"kind":"number","nativeSrc":"5078:2:9","nodeType":"YulLiteral","src":"5078:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5063:3:9","nodeType":"YulIdentifier","src":"5063:3:9"},"nativeSrc":"5063:18:9","nodeType":"YulFunctionCall","src":"5063:18:9"}],"functionName":{"name":"calldataload","nativeSrc":"5050:12:9","nodeType":"YulIdentifier","src":"5050:12:9"},"nativeSrc":"5050:32:9","nodeType":"YulFunctionCall","src":"5050:32:9"},"variables":[{"name":"offset","nativeSrc":"5040:6:9","nodeType":"YulTypedName","src":"5040:6:9","type":""}]},{"body":{"nativeSrc":"5129:83:9","nodeType":"YulBlock","src":"5129:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"5131:77:9","nodeType":"YulIdentifier","src":"5131:77:9"},"nativeSrc":"5131:79:9","nodeType":"YulFunctionCall","src":"5131:79:9"},"nativeSrc":"5131:79:9","nodeType":"YulExpressionStatement","src":"5131:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"5101:6:9","nodeType":"YulIdentifier","src":"5101:6:9"},{"kind":"number","nativeSrc":"5109:18:9","nodeType":"YulLiteral","src":"5109:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"5098:2:9","nodeType":"YulIdentifier","src":"5098:2:9"},"nativeSrc":"5098:30:9","nodeType":"YulFunctionCall","src":"5098:30:9"},"nativeSrc":"5095:117:9","nodeType":"YulIf","src":"5095:117:9"},{"nativeSrc":"5226:88:9","nodeType":"YulAssignment","src":"5226:88:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5286:9:9","nodeType":"YulIdentifier","src":"5286:9:9"},{"name":"offset","nativeSrc":"5297:6:9","nodeType":"YulIdentifier","src":"5297:6:9"}],"functionName":{"name":"add","nativeSrc":"5282:3:9","nodeType":"YulIdentifier","src":"5282:3:9"},"nativeSrc":"5282:22:9","nodeType":"YulFunctionCall","src":"5282:22:9"},{"name":"dataEnd","nativeSrc":"5306:7:9","nodeType":"YulIdentifier","src":"5306:7:9"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"5236:45:9","nodeType":"YulIdentifier","src":"5236:45:9"},"nativeSrc":"5236:78:9","nodeType":"YulFunctionCall","src":"5236:78:9"},"variableNames":[{"name":"value1","nativeSrc":"5226:6:9","nodeType":"YulIdentifier","src":"5226:6:9"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4469:862:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4548:9:9","nodeType":"YulTypedName","src":"4548:9:9","type":""},{"name":"dataEnd","nativeSrc":"4559:7:9","nodeType":"YulTypedName","src":"4559:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"4571:6:9","nodeType":"YulTypedName","src":"4571:6:9","type":""},{"name":"value1","nativeSrc":"4579:6:9","nodeType":"YulTypedName","src":"4579:6:9","type":""}],"src":"4469:862:9"},{"body":{"nativeSrc":"5379:48:9","nodeType":"YulBlock","src":"5379:48:9","statements":[{"nativeSrc":"5389:32:9","nodeType":"YulAssignment","src":"5389:32:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5414:5:9","nodeType":"YulIdentifier","src":"5414:5:9"}],"functionName":{"name":"iszero","nativeSrc":"5407:6:9","nodeType":"YulIdentifier","src":"5407:6:9"},"nativeSrc":"5407:13:9","nodeType":"YulFunctionCall","src":"5407:13:9"}],"functionName":{"name":"iszero","nativeSrc":"5400:6:9","nodeType":"YulIdentifier","src":"5400:6:9"},"nativeSrc":"5400:21:9","nodeType":"YulFunctionCall","src":"5400:21:9"},"variableNames":[{"name":"cleaned","nativeSrc":"5389:7:9","nodeType":"YulIdentifier","src":"5389:7:9"}]}]},"name":"cleanup_t_bool","nativeSrc":"5337:90:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5361:5:9","nodeType":"YulTypedName","src":"5361:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"5371:7:9","nodeType":"YulTypedName","src":"5371:7:9","type":""}],"src":"5337:90:9"},{"body":{"nativeSrc":"5492:50:9","nodeType":"YulBlock","src":"5492:50:9","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"5509:3:9","nodeType":"YulIdentifier","src":"5509:3:9"},{"arguments":[{"name":"value","nativeSrc":"5529:5:9","nodeType":"YulIdentifier","src":"5529:5:9"}],"functionName":{"name":"cleanup_t_bool","nativeSrc":"5514:14:9","nodeType":"YulIdentifier","src":"5514:14:9"},"nativeSrc":"5514:21:9","nodeType":"YulFunctionCall","src":"5514:21:9"}],"functionName":{"name":"mstore","nativeSrc":"5502:6:9","nodeType":"YulIdentifier","src":"5502:6:9"},"nativeSrc":"5502:34:9","nodeType":"YulFunctionCall","src":"5502:34:9"},"nativeSrc":"5502:34:9","nodeType":"YulExpressionStatement","src":"5502:34:9"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5433:109:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5480:5:9","nodeType":"YulTypedName","src":"5480:5:9","type":""},{"name":"pos","nativeSrc":"5487:3:9","nodeType":"YulTypedName","src":"5487:3:9","type":""}],"src":"5433:109:9"},{"body":{"nativeSrc":"5640:118:9","nodeType":"YulBlock","src":"5640:118:9","statements":[{"nativeSrc":"5650:26:9","nodeType":"YulAssignment","src":"5650:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"5662:9:9","nodeType":"YulIdentifier","src":"5662:9:9"},{"kind":"number","nativeSrc":"5673:2:9","nodeType":"YulLiteral","src":"5673:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5658:3:9","nodeType":"YulIdentifier","src":"5658:3:9"},"nativeSrc":"5658:18:9","nodeType":"YulFunctionCall","src":"5658:18:9"},"variableNames":[{"name":"tail","nativeSrc":"5650:4:9","nodeType":"YulIdentifier","src":"5650:4:9"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"5724:6:9","nodeType":"YulIdentifier","src":"5724:6:9"},{"arguments":[{"name":"headStart","nativeSrc":"5737:9:9","nodeType":"YulIdentifier","src":"5737:9:9"},{"kind":"number","nativeSrc":"5748:1:9","nodeType":"YulLiteral","src":"5748:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"5733:3:9","nodeType":"YulIdentifier","src":"5733:3:9"},"nativeSrc":"5733:17:9","nodeType":"YulFunctionCall","src":"5733:17:9"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5686:37:9","nodeType":"YulIdentifier","src":"5686:37:9"},"nativeSrc":"5686:65:9","nodeType":"YulFunctionCall","src":"5686:65:9"},"nativeSrc":"5686:65:9","nodeType":"YulExpressionStatement","src":"5686:65:9"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"5548:210:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5612:9:9","nodeType":"YulTypedName","src":"5612:9:9","type":""},{"name":"value0","nativeSrc":"5624:6:9","nodeType":"YulTypedName","src":"5624:6:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5635:4:9","nodeType":"YulTypedName","src":"5635:4:9","type":""}],"src":"5548:210:9"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n","id":9,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f26aee923b0c25e2761ed55d872bdce83e1d95e965ca8ce1d7bf132065ed73bea7f0d97ed9d9f00314c36234ec638665eba9c42b2aeb9472214f2d5a2b22615181d84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea26469706673582212204448cae53335b2e219e7aecf736766fc3c26b6fae1ad2206b3def7fc663a56d064736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDE JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x73AD9CA0A63BF57AAB7471BE06714E14CB129B3BC1957FB205F02A2DFF20144 PUSH32 0xF0D5954BC5550BB6B8A63158299441A292523E20998BD2EEAF6817B9CF74891 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x24B75923EF66B5A38313240BF8701E5289F37FF6E54A5D9696C571CD0D7A6F7B PUSH32 0x13F75F7639B17B60C5DC1561CA51E09122443B14FD9B5198A3200CB73C405E74 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0x26AEE923B0C25E2761ED55D872BDCE83E1D95E965CA8CE1D7BF132065ED73BEA PUSH32 0xD97ED9D9F00314C36234EC638665EBA9C42B2AEB9472214F2D5A2B22615181D DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x24D590624AA64D73288CEF9C5C68DDFBC43C288BFEC0EA23A65E3D519DEB4B45 PUSH32 0x2FE2B7A5E3301EC2548B1B9FA04DAFE8BDB129027D89D2FDA93C32B2AC1D6153 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x2AD72EB4319E5CE1F126C3EE2FB7B07FCACC472B06034BC9B7B00FA5C6DB3DD1 PUSH32 0xBBACFFC38B7A2D2938E833AA0B1BEB2EBE94796EE3EEEAA8CDE99E34B70274E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x244C5FC4BD854EE2B3C1B620E013383A9E6DACA6C0BAB14AECD7101ABA922CB6 PUSH32 0x2281748B89DCD5AEAEE8E7B5573D600632E8B7D13619ECA441E770F4862711FF DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x14CE1F304C015A19FE72CCDD0C7B1AAAE908E4FAA13142D0D8D108E2EFA497FD PUSH32 0x1DDF2AC14509D3ED88C5114E806890A074E2A3CF08BD6B406CD4E0C1256D6A5A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15ED PUSH2 0x160 DUP7 ADD MLOAD PUSH31 0x701C2A27F6E67A591F1CA598C17621B64AD8830430232895CA68FE3DC5854D PUSH32 0xDC88371D3444A7BBC4F3CB292E69421C549C10B86E8982B67D074006094FE08 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AD DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C3 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1847 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A2F DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3A DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A43 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4D DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A57 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A61 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6B DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A74 DUP2 PUSH2 0x184E JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AED DUP3 PUSH2 0x1AA4 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0C JUMPI PUSH2 0x1B0B PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B1F PUSH2 0x1A86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2B DUP3 DUP3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4A PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH2 0x1B54 DUP3 PUSH2 0x1AA4 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B83 PUSH2 0x1B7E DUP5 PUSH2 0x1B30 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B9F JUMPI PUSH2 0x1B9E PUSH2 0x1A9F JUMP JUMPDEST JUMPDEST PUSH2 0x1BAA DUP5 DUP3 DUP6 PUSH2 0x1B61 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC7 JUMPI PUSH2 0x1BC6 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD7 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C24 DUP2 PUSH2 0x1C11 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C41 DUP2 PUSH2 0x1C1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH2 0x1C55 DUP5 PUSH2 0x1BE0 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7D JUMPI PUSH2 0x1C7C PUSH2 0x1C0C JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA6 JUMPI DUP1 PUSH2 0x1C92 DUP9 DUP3 PUSH2 0x1C32 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C7F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC5 JUMPI PUSH2 0x1CC4 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C47 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF5 JUMPI PUSH2 0x1CF4 PUSH2 0x1A90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D13 JUMPI PUSH2 0x1D12 PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D1F DUP6 DUP3 DUP7 ADD PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D40 JUMPI PUSH2 0x1D3F PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4C DUP6 DUP3 DUP7 ADD PUSH2 0x1CB0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6B DUP2 PUSH2 0x1D56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D86 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PREVRANDAO BASEFEE 0xCA 0xE5 CALLER CALLDATALOAD 0xB2 0xE2 NOT 0xE7 0xAE 0xCF PUSH20 0x6766FC3C26B6FAE1AD2206B3DEF7FC663A56D064 PUSH20 0x6F6C634300081800330000000000000000000000 ","sourceMap":"832:23904:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5183:19551;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;5271:4;5429:724;;;5455:3;5486:1;5521;5548;5583;5601:12;5630:7;5671:334;5679:4;5671:334;;;5730:4;5727:1;5722:13;5710:25;;5784:4;5774:8;5770:19;5767:1;5763:27;5756:34;;5815:4;5811:8;;5847:3;5840:10;;5919:4;5909:8;5905:19;5903:1;5899:26;5892:33;;5951:4;5946:9;;5984:3;5976:11;;5671:334;;;6048:1;6045;6042:8;6039:27;;;6062:1;6060;6053:11;6039:27;6093:1;6090;6086:9;6083:30;;;6109:1;6106;6102:9;6098:13;;6083:30;6138:1;6131:8;;5459:694;;;;;;5429:724;;;;:::o;6395:1517::-;6468:4;6462:11;6540:5;6595:2;6592:1;6588:10;6581:5;6577:22;6652:3;6646:10;6721:2;6716:3;6712:12;6705:19;;6780:7;6826:257;6842:7;6837:3;6834:16;6826:257;;;7007:3;7001:4;6994:17;7063:1;7057:3;7051:10;7046:3;7039:26;7032:33;;6892:2;6886:4;6882:13;6874:21;;6933:2;6928:3;6924:12;6917:19;;6826:257;;;7107:15;7120:1;7115:3;7107:15;:::i;:::-;7100:22;;7284:2;7278:4;7274:13;7266:21;;7397:2;7392:3;7388:12;7381:19;;7428:5;7417:16;;7490:311;7506:7;7501:3;7498:16;7490:311;;;7690:1;7683:4;7677:11;7672:3;7665:27;7658:34;;7744:1;7738:3;7732:10;7727:3;7720:26;7713:33;;7779:3;7774;7767:16;7556:2;7550:4;7546:13;7538:21;;7597:2;7592:3;7588:12;7581:19;;7490:311;;;7894:3;7889;7882:16;6427:1485;;;;;6395:1517;;:::o;7938:162::-;7995:1;7992;7989:8;7979:107;;8031:1;8028;8021:12;8063:4;8061:1;8054:14;7979:107;7938:162;:::o;8126:668::-;8200:3;8191:6;8185:13;8182:23;8172:122;;8239:1;8236;8229:12;8271:4;8269:1;8262:14;8172:122;8311:39;8340:7;8332:6;8328:20;8322:27;8311:39;:::i;:::-;8367;8396:7;8388:6;8384:20;8378:27;8367:39;:::i;:::-;8423;8452:7;8444:6;8440:20;8434:27;8423:39;:::i;:::-;8479:40;8508:8;8500:6;8496:21;8490:28;8479:40;:::i;:::-;8536;8565:8;8557:6;8553:21;8547:28;8536:40;:::i;:::-;8593;8622:8;8614:6;8610:21;8604:28;8593:40;:::i;:::-;8650:39;8679:7;8671:6;8667:20;8661:27;8650:39;:::i;:::-;8126:668;:::o;8820:2828::-;8903:5;8925;9011:2;9002:7;8997:17;8990:25;8983:3;8977:4;8973:15;8965:51;9095:2;9087:6;9082:16;9075:24;9068:3;9062:4;9058:15;9050:50;9169:2;9166;9162:10;9154:6;9149:24;9142:32;9135:3;9129:4;9125:15;9117:58;9244:2;9241;9237:10;9229:6;9224:24;9217:32;9210:3;9204:4;9200:15;9192:58;9319:2;9316;9312:10;9304:6;9299:24;9292:32;9285:3;9279:4;9275:15;9267:58;9394:3;9391:2;9387:11;9379:6;9374:25;9367:33;9360:3;9354:4;9350:15;9342:59;9470:3;9467:2;9463:11;9455:6;9450:25;9443:33;9436:3;9430:4;9426:15;9418:59;9556:1;9550:3;9540:7;9534:4;9530:18;9520:34;9516:42;9511:47;;9602:1;9594:5;9588:4;9584:16;9576:28;9685:1;9680:2;9672:5;9666:4;9662:16;9652:31;9648:39;9639:6;9633:4;9629:17;9621:67;9768:1;9763:2;9758;9750:6;9746:15;9736:30;9732:38;9723:6;9717:4;9713:17;9705:66;9848:1;9842:3;9836;9828:6;9824:16;9814:32;9810:40;9805:45;;9891:1;9885:3;9879:4;9875:14;9867:26;9951:1;9948;9945;9938:15;9928:7;9922:4;9918:18;9910:44;10005:1;10002;9999;9992:15;9988:19;;10058:1;10055;10052;10045:15;10041:19;;10111:1;10108;10105;10098:15;10094:19;;10164:1;10161;10158;10151:15;10147:19;;10217:1;10214;10211;10204:15;10200:19;;10270:1;10267;10264;10257:15;10253:19;;10323:1;10320;10317;10310:15;10306:19;;10376:1;10373;10370;10363:15;10359:19;;10429:1;10426;10423;10416:15;10412:19;;10482:1;10479;10476;10469:15;10465:19;;10535:1;10532;10529;10522:15;10518:19;;10588:1;10585;10582;10575:15;10571:19;;10641:1;10638;10635;10628:15;10624:19;;10694:1;10691;10688;10681:15;10677:19;;10747:1;10744;10741;10734:15;10730:19;;10808:1;10801:4;10795;10791:15;10783:27;10853:1;10849;10846;10843;10839:9;10835:16;10831:24;10827:28;;10896:1;10890:3;10884:4;10880:14;10872:26;10942:1;10933:6;10927:4;10923:17;10915:29;11083:1;11077:3;11067:7;11059:6;11055:20;11045:36;11041:44;11126:2;11120:3;11114:4;11110:14;11102:27;11166:1;11162:2;11158;11151:17;11146:22;;11209:1;11203:3;11197:4;11193:14;11185:26;11247:1;11243:2;11240:1;11233:16;11228:21;;11290:1;11284:3;11278:4;11274:14;11266:26;11328:1;11324:2;11321:1;11314:16;11309:21;;11371:1;11365:3;11359:4;11355:14;11347:26;11409:1;11405:2;11402:1;11395:16;11390:21;;11452:1;11446:3;11440:4;11436:14;11428:26;11490:1;11486:2;11483:1;11476:16;11471:21;;11533:1;11527:3;11521:4;11517:14;11509:26;11631:1;11625:3;11618:4;11610:6;11606:17;11596:33;11592:41;11587:2;11581:4;11577:13;11569:65;8872:2776;;;8820:2828;;;:::o;11674:1173::-;11735:1;12272;12218;12157;12087;12043:3;12037:4;12033:14;12027:21;11986:136;11949:239;11916:329;11888:1;11856:439;11824:8;11818:4;11814:19;11786:527;12381:35;12413:1;12404:6;12398:4;12394:17;12381:35;:::i;:::-;12476:3;12470:4;12466:14;12460:21;12503:1;12498:6;;12739:1;12711:2;12674:8;12668:4;12664:20;12658:27;12626:136;12593:8;12587:4;12583:20;12555:225;11707:1140;;11674:1173;:::o;12873:651::-;12934:1;13396;13351;13268;13230:2;13224:4;13220:13;13214:20;13170:8;13164:4;13160:19;13154:26;13114:185;13080:2;13047:278;13018:356;12993:422;12987:428;;13489:2;13483:3;13477:4;13473:14;13466:26;12906:618;12873:651;;:::o;13538:2196::-;13590:5;13612:6;13635;13785:1;13757:3;13751:4;13747:14;13741:21;13709:7;13701:6;13697:20;13691:27;13663:141;13658:146;;13967:1;13938:5;13932:4;13928:16;13922:23;13890:8;13882:6;13878:21;13872:28;13844:142;13838:148;;14111:1;14080:7;14072:6;14068:20;14062:27;14038:2;14010:120;14004:126;;14268:1;14238:6;14232:4;14228:17;14222:24;14198:2;14170:117;14164:123;;14434:1;14405:5;14399:4;14395:16;14389:23;14357:8;14349:6;14345:21;14339:28;14311:142;14305:148;;14578:1;14547:7;14539:6;14535:20;14529:27;14505:2;14477:120;14471:126;;14735:1;14705:6;14699:4;14695:17;14689:24;14665:2;14637:117;14631:123;;14809:1;14805:2;14801;14794:17;14788:23;;14974:1;14944:6;14938:4;14934:17;14928:24;14897:7;14889:6;14885:20;14879:27;14851:142;14845:148;;15032:1;15028:2;15024;15017:17;15011:23;;15098:1;15086:8;15078:6;15074:21;15068:28;15064:2;15057:43;15051:49;;15160:1;15150:6;15144:4;15140:17;15134:24;15130:2;15123:39;15117:45;;15326:1;15295:6;15289:4;15285:17;15279:24;15246:8;15240:4;15236:19;15230:26;15202:143;15196:149;;15469:1;15438:6;15432:4;15428:17;15422:24;15397:2;15369:119;15363:125;;15527:1;15523:2;15519;15512:17;15506:23;;15592:1;15587:2;15583:1;15580;15576:9;15572:18;15568:26;15563:31;;15652:1;15642:6;15636:4;15632:17;15626:24;15623:1;15616:38;15611:43;;15717:1;15706:7;15700:4;15696:18;15688:31;13572:2162;;;13538:2196;;:::o;15760:132::-;15819:2;15813:9;15809:2;15802:21;15873:2;15870;15866:10;15860:17;15855:2;15851;15847:11;15840:38;15760:132;;:::o;15906:498::-;15965:4;15959:11;16005:2;15999:9;15994:3;15987:22;16060:2;16056;16052:11;16046:18;16041:2;16037:3;16033:11;16026:39;16108:2;16102:9;16097:2;16093:3;16089:11;16082:30;16163:2;16159;16155:11;16149:18;16144:2;16140:3;16136:11;16129:39;16247:2;16243;16238:3;16233;16230:1;16223:4;16216:5;16212:16;16201:49;16294:7;16284:106;;16335:1;16332;16325:12;16367:4;16365:1;16358:14;16284:106;15930:474;;15906:498;;:::o;16418:819::-;16466:11;16511:4;16505:11;16551:2;16545:9;16540:3;16533:22;16606:2;16602;16598:11;16592:18;16587:2;16583:3;16579:11;16572:39;16648:1;16643:2;16639:3;16635:11;16628:22;16725:2;16720:3;16716:2;16711:3;16708:1;16701:4;16694:5;16690:16;16679:49;16668:60;;16772:7;16762:106;;16813:1;16810;16803:12;16845:4;16843:1;16836:14;16762:106;16928:2;16922:9;16917:2;16913:3;16909:11;16902:30;16983:2;16979;16975:11;16969:18;16964:2;16960:3;16956:11;16949:39;17063:2;17059;17054:3;17049;17046:1;17039:4;17032:5;17028:16;17017:49;17006:60;;17110:7;17100:106;;17151:1;17148;17141:12;17183:4;17181:1;17174:14;17100:106;16448:789;;16418:819;;;:::o;17251:780::-;17302:11;17347:4;17341:11;17381:1;17376:3;17369:14;17420:1;17415:2;17411:3;17407:11;17400:22;17459:1;17454:2;17450:3;17446:11;17439:22;17536:2;17531:3;17527:2;17522:3;17519:1;17512:4;17505:5;17501:16;17490:49;17479:60;;17583:7;17573:106;;17624:1;17621;17614:12;17656:4;17654:1;17647:14;17573:106;17739:2;17733:9;17728:2;17724:3;17720:11;17713:30;17794:2;17790;17786:11;17780:18;17775:2;17771:3;17767:11;17760:39;17874:2;17870;17865:3;17860;17857:1;17850:4;17843:5;17839:16;17828:49;17817:60;;17921:7;17911:106;;17962:1;17959;17952:12;17994:4;17992:1;17985:14;17911:106;17284:747;;17251:780;;;;:::o;18045:441::-;18096:11;18141:4;18135:11;18175:1;18170:3;18163:14;18214:1;18209:2;18205:3;18201:11;18194:22;18253:1;18248:2;18244:3;18240:11;18233:22;18329:2;18325;18321;18316:3;18313:1;18306:4;18299:5;18295:16;18284:48;18273:59;;18376:7;18366:106;;18417:1;18414;18407:12;18449:4;18447:1;18440:14;18366:106;18078:408;;18045:441;;;;:::o;18501:206::-;18573:3;18567:4;18563:14;18594:28;18616:4;18608:6;18604:17;18601:1;18594:28;:::i;:::-;18639:54;18688:2;18682:4;18678:13;18672:20;18664:5;18656:6;18652:18;18649:1;18639:54;:::i;:::-;18536:171;18501:206;;:::o;18746:4478::-;18799:5;18821:6;18863:3;18857:4;18853:14;18997:1;18990:3;18984:4;18980:14;18974:21;18963:7;18955:6;18951:20;18945:27;18937:62;18932:67;;19016:26;19040:1;19035:3;19030;19027:1;19016:26;:::i;:::-;19105:1;19094:7;19086:6;19082:20;19076:27;19073:1;19065:42;19060:47;;19140:26;19164:1;19159:3;19154;19151:1;19140:26;:::i;:::-;19249:1;19242:3;19236:4;19232:14;19226:21;19215:7;19207:6;19203:20;19197:27;19189:62;19184:67;;19268:26;19292:1;19287:3;19282;19279:1;19268:26;:::i;:::-;19393:1;19386:3;19380:4;19376:14;19370:21;19359:7;19351:6;19347:20;19341:27;19333:62;19328:67;;19412:26;19436:1;19431:3;19426;19423:1;19412:26;:::i;:::-;19476:3;19470:4;19466:14;19460:21;19456:25;;19498:26;19522:1;19517:3;19512;19509:1;19498:26;:::i;:::-;19610:1;19599:7;19593:4;19589:18;19583:25;19572:7;19564:6;19560:20;19554:27;19547:65;19542:70;;19670:1;19660:6;19654:4;19650:17;19644:24;19641:1;19634:38;19629:43;;19733:1;19722:7;19716:4;19712:18;19706:25;19702:2;19695:40;19689:46;;19798:1;19787:7;19779:6;19775:20;19769:27;19765:2;19758:42;19752:48;;19860:1;19850:6;19844:4;19840:17;19834:24;19830:2;19823:39;19817:45;;19898:1;19894:2;19891:1;19884:16;19879:21;;19961:1;19950:7;19944:4;19940:18;19934:25;19930:2;19923:40;19917:46;;20026:1;20015:7;20007:6;20003:20;19997:27;19993:2;19986:42;19980:48;;20088:1;20078:6;20072:4;20068:17;20062:24;20058:2;20051:39;20045:45;;20126:1;20122:2;20119:1;20112:16;20107:21;;20186:1;20176:6;20170:4;20166:17;20160:24;20157:1;20150:38;20145:43;;20243:1;20236:3;20230:4;20226:14;20220:21;20217:1;20210:35;20205:40;;20329:1;20319:6;20313:4;20309:17;20303:24;20291:8;20285:4;20281:19;20275:26;20268:63;20262:69;;20391:1;20381:6;20375:4;20371:17;20365:24;20361:2;20354:39;20348:45;;20450:1;20443:3;20437:4;20433:14;20427:21;20423:2;20416:36;20410:42;;20488:1;20484:2;20481:1;20474:16;20469:21;;20544:1;20538:2;20532:4;20528:13;20522:20;20519:1;20512:34;20507:39;;20563:32;20593:1;20588:2;20580:6;20576:15;20573:1;20563:32;:::i;:::-;20696:1;20684:8;20676:6;20672:21;20666:28;20657:5;20651:4;20647:16;20641:23;20634:64;20629:69;;20759:1;20748:7;20740:6;20736:20;20730:27;20727:1;20720:41;20715:46;;20819:1;20809:6;20803:4;20799:17;20793:24;20790:1;20783:38;20778:43;;20906:1;20894:8;20886:6;20882:21;20876:28;20867:5;20861:4;20857:16;20851:23;20844:64;20838:70;;20971:1;20960:7;20952:6;20948:20;20942:27;20938:2;20931:42;20925:48;;21033:1;21023:6;21017:4;21013:17;21007:24;21003:2;20996:39;20990:45;;21071:1;21067:2;21064:1;21057:16;21052:21;;21131:1;21121:6;21115:4;21111:17;21105:24;21102:1;21095:38;21090:43;;21188:1;21181:3;21175:4;21171:14;21165:21;21162:1;21155:35;21150:40;;21247:1;21238:5;21232:4;21228:16;21222:23;21219:1;21212:37;21207:42;;21311:1;21299:8;21291:6;21287:21;21281:28;21278:1;21271:42;21266:47;;21350:1;21346;21343;21339:9;21335:17;21330:22;;21369:26;21393:1;21388:3;21383;21380:1;21369:26;:::i;:::-;21445:28;21468:3;21460:6;21456:16;21452:1;21445:28;:::i;:::-;21512:4;21506;21502:15;21496:22;21491:27;;21535:33;21566:1;21560:3;21552:6;21548:16;21545:1;21535:33;:::i;:::-;21620:1;21617;21614;21607:15;21602:20;;21639:33;21670:1;21664:3;21656:6;21652:16;21649:1;21639:33;:::i;:::-;21706:52;21752:3;21746:4;21742:14;21736:21;21731:2;21723:6;21719:15;21716:1;21706:52;:::i;:::-;21775;21821:3;21815:4;21811:14;21805:21;21800:2;21792:6;21788:15;21785:1;21775:52;:::i;:::-;21844;21890:3;21884:4;21880:14;21874:21;21869:2;21861:6;21857:15;21854:1;21844:52;:::i;:::-;21913:46;21953:3;21947:4;21943:14;21937:21;21932:3;21927;21924:1;21913:46;:::i;:::-;21976;22016:3;22010:4;22006:14;22000:21;21995:3;21990;21987:1;21976:46;:::i;:::-;22108:7;22102:4;22098:18;22092:25;22087:30;;22212:1;22208;22201:3;22195:4;22191:14;22185:21;22174:7;22166:6;22162:20;22156:27;22149:61;22146:1;22139:75;22134:80;;22309:1;22305;22298:3;22292:4;22288:14;22282:21;22271:7;22263:6;22259:20;22253:27;22246:61;22243:1;22236:75;22231:80;;22406:1;22402;22395:3;22389:4;22385:14;22379:21;22368:7;22360:6;22356:20;22350:27;22343:61;22340:1;22333:75;22328:80;;22503:1;22499;22492:3;22486:4;22482:14;22476:21;22465:7;22457:6;22453:20;22447:27;22440:61;22437:1;22430:75;22425:80;;22601:1;22597;22590:3;22584:4;22580:14;22574:21;22562:8;22554:6;22550:21;22544:28;22537:62;22534:1;22527:76;22522:81;;22699:1;22695;22688:3;22682:4;22678:14;22672:21;22660:8;22652:6;22648:21;22642:28;22635:62;22632:1;22625:76;22620:81;;22796:1;22792;22786:2;22780:4;22776:13;22770:20;22758:8;22750:6;22746:21;22740:28;22733:61;22730:1;22723:75;22718:80;;22835:1;22831;22828;22824:9;22820:17;22815:22;;22854:26;22878:1;22873:3;22868;22865:1;22854:26;:::i;:::-;22986:3;22980:4;22976:14;22970:21;22965:26;;23008:34;23040:1;23033:4;23025:6;23021:17;23018:1;23008:34;:::i;:::-;23117:1;23110:3;23104:4;23100:14;23094:21;23088:2;23082:4;23078:13;23072:20;23065:54;23060:59;;23155:1;23151:2;23148:1;23141:16;23136:21;;23174:35;23207:1;23199:5;23191:6;23187:18;23184:1;23174:35;:::i;:::-;18781:4443;;;18746:4478;;:::o;23250:915::-;23281:4;23321;23315:11;23371:3;23365:4;23361:14;23355:21;23350:3;23343:34;23440:2;23434:3;23428:4;23424:14;23420:23;23414:30;23409:2;23405:3;23401:11;23394:51;23482:4;23477:2;23473:3;23469:11;23462:25;23524:4;23519:2;23515:3;23511:11;23504:25;23567:4;23561:3;23557;23553:12;23546:26;23610:4;23604:3;23600;23596:12;23589:26;23669:3;23663:4;23659:14;23653:21;23647:3;23643;23639:12;23632:43;23727:2;23721:3;23715:4;23711:14;23707:23;23701:30;23769:2;23765:1;23761:2;23757:10;23753:19;23748:24;;23810:1;23804:3;23800;23796:12;23789:23;23850:4;23844:3;23840;23836:12;23829:26;23893:4;23887:3;23883;23879:12;23872:26;23936:4;23930:3;23926;23922:12;23915:26;23979:4;23973:3;23969;23965:12;23958:26;24080:4;24075:3;24070;24065;24062:1;24055:4;24048:5;24044:16;24033:52;24146:3;24140:10;24131:7;24127:24;24119:32;;23286:879;;;23250:915;;;:::o;:::-;24209:4;24203:11;24250:7;24244:4;24240:18;24234:4;24227:32;24285:17;24296:5;24285:17;:::i;:::-;24315:44;24348:10;24342:4;24335:5;24315:44;:::i;:::-;24372:23;24390:4;24372:23;:::i;:::-;24408:29;24426:10;24420:4;24408:29;:::i;:::-;24450:23;24468:4;24461:5;24450:23;:::i;:::-;24486:24;24505:4;24498:5;24486:24;:::i;:::-;24523;24542:4;24535:5;24523:24;:::i;:::-;24575:18;24588:4;24575:18;:::i;:::-;24642:7;24636:4;24632:18;24626:4;24619:32;24674:7;24671:1;24664:18;24704:4;24702:1;24695:14;7:75:9;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:307::-;1357:4;1447:18;1439:6;1436:30;1433:56;;;1469:18;;:::i;:::-;1433:56;1507:29;1529:6;1507:29;:::i;:::-;1499:37;;1591:4;1585;1581:15;1573:23;;1296:307;;;:::o;1609:146::-;1706:6;1701:3;1696;1683:30;1747:1;1738:6;1733:3;1729:16;1722:27;1609:146;;;:::o;1761:423::-;1838:5;1863:65;1879:48;1920:6;1879:48;:::i;:::-;1863:65;:::i;:::-;1854:74;;1951:6;1944:5;1937:21;1989:4;1982:5;1978:16;2027:3;2018:6;2013:3;2009:16;2006:25;2003:112;;;2034:79;;:::i;:::-;2003:112;2124:54;2171:6;2166:3;2161;2124:54;:::i;:::-;1844:340;1761:423;;;;;:::o;2203:338::-;2258:5;2307:3;2300:4;2292:6;2288:17;2284:27;2274:122;;2315:79;;:::i;:::-;2274:122;2432:6;2419:20;2457:78;2531:3;2523:6;2516:4;2508:6;2504:17;2457:78;:::i;:::-;2448:87;;2264:277;2203:338;;;;:::o;2547:311::-;2624:4;2714:18;2706:6;2703:30;2700:56;;;2736:18;;:::i;:::-;2700:56;2786:4;2778:6;2774:17;2766:25;;2846:4;2840;2836:15;2828:23;;2547:311;;;:::o;2864:117::-;2973:1;2970;2963:12;2987:77;3024:7;3053:5;3042:16;;2987:77;;;:::o;3070:122::-;3143:24;3161:5;3143:24;:::i;:::-;3136:5;3133:35;3123:63;;3182:1;3179;3172:12;3123:63;3070:122;:::o;3198:139::-;3244:5;3282:6;3269:20;3260:29;;3298:33;3325:5;3298:33;:::i;:::-;3198:139;;;;:::o;3360:710::-;3456:5;3481:81;3497:64;3554:6;3497:64;:::i;:::-;3481:81;:::i;:::-;3472:90;;3582:5;3611:6;3604:5;3597:21;3645:4;3638:5;3634:16;3627:23;;3698:4;3690:6;3686:17;3678:6;3674:30;3727:3;3719:6;3716:15;3713:122;;;3746:79;;:::i;:::-;3713:122;3861:6;3844:220;3878:6;3873:3;3870:15;3844:220;;;3953:3;3982:37;4015:3;4003:10;3982:37;:::i;:::-;3977:3;3970:50;4049:4;4044:3;4040:14;4033:21;;3920:144;3904:4;3899:3;3895:14;3888:21;;3844:220;;;3848:21;3462:608;;3360:710;;;;;:::o;4093:370::-;4164:5;4213:3;4206:4;4198:6;4194:17;4190:27;4180:122;;4221:79;;:::i;:::-;4180:122;4338:6;4325:20;4363:94;4453:3;4445:6;4438:4;4430:6;4426:17;4363:94;:::i;:::-;4354:103;;4170:293;4093:370;;;;:::o;4469:862::-;4571:6;4579;4628:2;4616:9;4607:7;4603:23;4599:32;4596:119;;;4634:79;;:::i;:::-;4596:119;4782:1;4771:9;4767:17;4754:31;4812:18;4804:6;4801:30;4798:117;;;4834:79;;:::i;:::-;4798:117;4939:62;4993:7;4984:6;4973:9;4969:22;4939:62;:::i;:::-;4929:72;;4725:286;5078:2;5067:9;5063:18;5050:32;5109:18;5101:6;5098:30;5095:117;;;5131:79;;:::i;:::-;5095:117;5236:78;5306:7;5297:6;5286:9;5282:22;5236:78;:::i;:::-;5226:88;;5021:303;4469:862;;;;;:::o;5337:90::-;5371:7;5414:5;5407:13;5400:21;5389:32;;5337:90;;;:::o;5433:109::-;5514:21;5529:5;5514:21;:::i;:::-;5509:3;5502:34;5433:109;;:::o;5548:210::-;5635:4;5673:2;5662:9;5658:18;5650:26;;5686:65;5748:1;5737:9;5733:17;5724:6;5686:65;:::i;:::-;5548:210;;;;:::o"},"methodIdentifiers":{"verifyProof(bytes,uint256[])":"1e8e1e13"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"pubSignals\",\"type\":\"uint256[]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/workstep2Verifier.sol\":\"PlonkVerifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/workstep2Verifier.sol\":{\"keccak256\":\"0x56bc40a14dab134bde32c038bec90357fa957ddc5e67969bce2960440fe0c147\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3c7aeb093172389383c563ac0291d1c4e0df626951fe01619103e8c2191bd193\",\"dweb:/ipfs/Qmb9Fjo2oyvTkDPkXLP4EKb29GDHSt6GRKhrmC1JyLAsme\"]}},\"version\":1}"}},"contracts/workstep3Verifier.sol":{"PlonkVerifier":{"abi":[{"inputs":[{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"uint256[]","name":"pubSignals","type":"uint256[]"}],"name":"verifyProof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50611dc2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f0ce90799f564b37f9a7c19587ad4234c46f6afad9f4b1fb9277bed47dd9b6a117f2becb27157d1ea8e65712e5a9d3b836536cc95f8ffbe2a9a66259a05b94d8c4184610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea26469706673582212201ba7f68c3e2f4f61e7382b6f72a0fe80914349a958fe8936ea3db47813f5c2b764736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC2 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDE JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x73AD9CA0A63BF57AAB7471BE06714E14CB129B3BC1957FB205F02A2DFF20144 PUSH32 0xF0D5954BC5550BB6B8A63158299441A292523E20998BD2EEAF6817B9CF74891 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x24B75923EF66B5A38313240BF8701E5289F37FF6E54A5D9696C571CD0D7A6F7B PUSH32 0x13F75F7639B17B60C5DC1561CA51E09122443B14FD9B5198A3200CB73C405E74 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0xCE90799F564B37F9A7C19587AD4234C46F6AFAD9F4B1FB9277BED47DD9B6A11 PUSH32 0x2BECB27157D1EA8E65712E5A9D3B836536CC95F8FFBE2A9A66259A05B94D8C41 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x24D590624AA64D73288CEF9C5C68DDFBC43C288BFEC0EA23A65E3D519DEB4B45 PUSH32 0x2FE2B7A5E3301EC2548B1B9FA04DAFE8BDB129027D89D2FDA93C32B2AC1D6153 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x2AD72EB4319E5CE1F126C3EE2FB7B07FCACC472B06034BC9B7B00FA5C6DB3DD1 PUSH32 0xBBACFFC38B7A2D2938E833AA0B1BEB2EBE94796EE3EEEAA8CDE99E34B70274E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x244C5FC4BD854EE2B3C1B620E013383A9E6DACA6C0BAB14AECD7101ABA922CB6 PUSH32 0x2281748B89DCD5AEAEE8E7B5573D600632E8B7D13619ECA441E770F4862711FF DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x14CE1F304C015A19FE72CCDD0C7B1AAAE908E4FAA13142D0D8D108E2EFA497FD PUSH32 0x1DDF2AC14509D3ED88C5114E806890A074E2A3CF08BD6B406CD4E0C1256D6A5A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15ED PUSH2 0x160 DUP7 ADD MLOAD PUSH31 0x701C2A27F6E67A591F1CA598C17621B64AD8830430232895CA68FE3DC5854D PUSH32 0xDC88371D3444A7BBC4F3CB292E69421C549C10B86E8982B67D074006094FE08 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AD DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C3 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1847 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A2F DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3A DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A43 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4D DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A57 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A61 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6B DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A74 DUP2 PUSH2 0x184E JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AED DUP3 PUSH2 0x1AA4 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0C JUMPI PUSH2 0x1B0B PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B1F PUSH2 0x1A86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2B DUP3 DUP3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4A PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH2 0x1B54 DUP3 PUSH2 0x1AA4 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B83 PUSH2 0x1B7E DUP5 PUSH2 0x1B30 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B9F JUMPI PUSH2 0x1B9E PUSH2 0x1A9F JUMP JUMPDEST JUMPDEST PUSH2 0x1BAA DUP5 DUP3 DUP6 PUSH2 0x1B61 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC7 JUMPI PUSH2 0x1BC6 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD7 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C24 DUP2 PUSH2 0x1C11 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C41 DUP2 PUSH2 0x1C1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH2 0x1C55 DUP5 PUSH2 0x1BE0 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7D JUMPI PUSH2 0x1C7C PUSH2 0x1C0C JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA6 JUMPI DUP1 PUSH2 0x1C92 DUP9 DUP3 PUSH2 0x1C32 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C7F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC5 JUMPI PUSH2 0x1CC4 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C47 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF5 JUMPI PUSH2 0x1CF4 PUSH2 0x1A90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D13 JUMPI PUSH2 0x1D12 PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D1F DUP6 DUP3 DUP7 ADD PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D40 JUMPI PUSH2 0x1D3F PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4C DUP6 DUP3 DUP7 ADD PUSH2 0x1CB0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6B DUP2 PUSH2 0x1D56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D86 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHL 0xA7 0xF6 DUP13 RETURNDATACOPY 0x2F 0x4F PUSH2 0xE738 0x2B PUSH16 0x72A0FE80914349A958FE8936EA3DB478 SGT CREATE2 0xC2 0xB7 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ","sourceMap":"832:23904:8:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@verifyProof_1271":{"entryPoint":96,"id":1271,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7239,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":7024,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7344,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":7090,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":7218,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7390,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":7522,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":7537,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":6933,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":6790,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":7136,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":6960,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":7510,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":7185,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":7009,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":6884,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x41":{"entryPoint":6837,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":6810,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":7180,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":6815,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":6805,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":6800,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":6820,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":7195,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nativeSrc":"0:5761:9","nodeType":"YulBlock","src":"0:5761:9","statements":[{"body":{"nativeSrc":"47:35:9","nodeType":"YulBlock","src":"47:35:9","statements":[{"nativeSrc":"57:19:9","nodeType":"YulAssignment","src":"57:19:9","value":{"arguments":[{"kind":"number","nativeSrc":"73:2:9","nodeType":"YulLiteral","src":"73:2:9","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"67:5:9","nodeType":"YulIdentifier","src":"67:5:9"},"nativeSrc":"67:9:9","nodeType":"YulFunctionCall","src":"67:9:9"},"variableNames":[{"name":"memPtr","nativeSrc":"57:6:9","nodeType":"YulIdentifier","src":"57:6:9"}]}]},"name":"allocate_unbounded","nativeSrc":"7:75:9","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nativeSrc":"40:6:9","nodeType":"YulTypedName","src":"40:6:9","type":""}],"src":"7:75:9"},{"body":{"nativeSrc":"177:28:9","nodeType":"YulBlock","src":"177:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194:1:9","nodeType":"YulLiteral","src":"194:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"197:1:9","nodeType":"YulLiteral","src":"197:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"187:6:9","nodeType":"YulIdentifier","src":"187:6:9"},"nativeSrc":"187:12:9","nodeType":"YulFunctionCall","src":"187:12:9"},"nativeSrc":"187:12:9","nodeType":"YulExpressionStatement","src":"187:12:9"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"88:117:9","nodeType":"YulFunctionDefinition","src":"88:117:9"},{"body":{"nativeSrc":"300:28:9","nodeType":"YulBlock","src":"300:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"317:1:9","nodeType":"YulLiteral","src":"317:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"320:1:9","nodeType":"YulLiteral","src":"320:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"310:6:9","nodeType":"YulIdentifier","src":"310:6:9"},"nativeSrc":"310:12:9","nodeType":"YulFunctionCall","src":"310:12:9"},"nativeSrc":"310:12:9","nodeType":"YulExpressionStatement","src":"310:12:9"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"211:117:9","nodeType":"YulFunctionDefinition","src":"211:117:9"},{"body":{"nativeSrc":"423:28:9","nodeType":"YulBlock","src":"423:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"440:1:9","nodeType":"YulLiteral","src":"440:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"443:1:9","nodeType":"YulLiteral","src":"443:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"433:6:9","nodeType":"YulIdentifier","src":"433:6:9"},"nativeSrc":"433:12:9","nodeType":"YulFunctionCall","src":"433:12:9"},"nativeSrc":"433:12:9","nodeType":"YulExpressionStatement","src":"433:12:9"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"334:117:9","nodeType":"YulFunctionDefinition","src":"334:117:9"},{"body":{"nativeSrc":"546:28:9","nodeType":"YulBlock","src":"546:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"563:1:9","nodeType":"YulLiteral","src":"563:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"566:1:9","nodeType":"YulLiteral","src":"566:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"556:6:9","nodeType":"YulIdentifier","src":"556:6:9"},"nativeSrc":"556:12:9","nodeType":"YulFunctionCall","src":"556:12:9"},"nativeSrc":"556:12:9","nodeType":"YulExpressionStatement","src":"556:12:9"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"457:117:9","nodeType":"YulFunctionDefinition","src":"457:117:9"},{"body":{"nativeSrc":"628:54:9","nodeType":"YulBlock","src":"628:54:9","statements":[{"nativeSrc":"638:38:9","nodeType":"YulAssignment","src":"638:38:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"656:5:9","nodeType":"YulIdentifier","src":"656:5:9"},{"kind":"number","nativeSrc":"663:2:9","nodeType":"YulLiteral","src":"663:2:9","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"652:3:9","nodeType":"YulIdentifier","src":"652:3:9"},"nativeSrc":"652:14:9","nodeType":"YulFunctionCall","src":"652:14:9"},{"arguments":[{"kind":"number","nativeSrc":"672:2:9","nodeType":"YulLiteral","src":"672:2:9","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"668:3:9","nodeType":"YulIdentifier","src":"668:3:9"},"nativeSrc":"668:7:9","nodeType":"YulFunctionCall","src":"668:7:9"}],"functionName":{"name":"and","nativeSrc":"648:3:9","nodeType":"YulIdentifier","src":"648:3:9"},"nativeSrc":"648:28:9","nodeType":"YulFunctionCall","src":"648:28:9"},"variableNames":[{"name":"result","nativeSrc":"638:6:9","nodeType":"YulIdentifier","src":"638:6:9"}]}]},"name":"round_up_to_mul_of_32","nativeSrc":"580:102:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"611:5:9","nodeType":"YulTypedName","src":"611:5:9","type":""}],"returnVariables":[{"name":"result","nativeSrc":"621:6:9","nodeType":"YulTypedName","src":"621:6:9","type":""}],"src":"580:102:9"},{"body":{"nativeSrc":"716:152:9","nodeType":"YulBlock","src":"716:152:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"733:1:9","nodeType":"YulLiteral","src":"733:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"736:77:9","nodeType":"YulLiteral","src":"736:77:9","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"726:6:9","nodeType":"YulIdentifier","src":"726:6:9"},"nativeSrc":"726:88:9","nodeType":"YulFunctionCall","src":"726:88:9"},"nativeSrc":"726:88:9","nodeType":"YulExpressionStatement","src":"726:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"830:1:9","nodeType":"YulLiteral","src":"830:1:9","type":"","value":"4"},{"kind":"number","nativeSrc":"833:4:9","nodeType":"YulLiteral","src":"833:4:9","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"823:6:9","nodeType":"YulIdentifier","src":"823:6:9"},"nativeSrc":"823:15:9","nodeType":"YulFunctionCall","src":"823:15:9"},"nativeSrc":"823:15:9","nodeType":"YulExpressionStatement","src":"823:15:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"854:1:9","nodeType":"YulLiteral","src":"854:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"857:4:9","nodeType":"YulLiteral","src":"857:4:9","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"847:6:9","nodeType":"YulIdentifier","src":"847:6:9"},"nativeSrc":"847:15:9","nodeType":"YulFunctionCall","src":"847:15:9"},"nativeSrc":"847:15:9","nodeType":"YulExpressionStatement","src":"847:15:9"}]},"name":"panic_error_0x41","nativeSrc":"688:180:9","nodeType":"YulFunctionDefinition","src":"688:180:9"},{"body":{"nativeSrc":"917:238:9","nodeType":"YulBlock","src":"917:238:9","statements":[{"nativeSrc":"927:58:9","nodeType":"YulVariableDeclaration","src":"927:58:9","value":{"arguments":[{"name":"memPtr","nativeSrc":"949:6:9","nodeType":"YulIdentifier","src":"949:6:9"},{"arguments":[{"name":"size","nativeSrc":"979:4:9","nodeType":"YulIdentifier","src":"979:4:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"957:21:9","nodeType":"YulIdentifier","src":"957:21:9"},"nativeSrc":"957:27:9","nodeType":"YulFunctionCall","src":"957:27:9"}],"functionName":{"name":"add","nativeSrc":"945:3:9","nodeType":"YulIdentifier","src":"945:3:9"},"nativeSrc":"945:40:9","nodeType":"YulFunctionCall","src":"945:40:9"},"variables":[{"name":"newFreePtr","nativeSrc":"931:10:9","nodeType":"YulTypedName","src":"931:10:9","type":""}]},{"body":{"nativeSrc":"1096:22:9","nodeType":"YulBlock","src":"1096:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1098:16:9","nodeType":"YulIdentifier","src":"1098:16:9"},"nativeSrc":"1098:18:9","nodeType":"YulFunctionCall","src":"1098:18:9"},"nativeSrc":"1098:18:9","nodeType":"YulExpressionStatement","src":"1098:18:9"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"1039:10:9","nodeType":"YulIdentifier","src":"1039:10:9"},{"kind":"number","nativeSrc":"1051:18:9","nodeType":"YulLiteral","src":"1051:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1036:2:9","nodeType":"YulIdentifier","src":"1036:2:9"},"nativeSrc":"1036:34:9","nodeType":"YulFunctionCall","src":"1036:34:9"},{"arguments":[{"name":"newFreePtr","nativeSrc":"1075:10:9","nodeType":"YulIdentifier","src":"1075:10:9"},{"name":"memPtr","nativeSrc":"1087:6:9","nodeType":"YulIdentifier","src":"1087:6:9"}],"functionName":{"name":"lt","nativeSrc":"1072:2:9","nodeType":"YulIdentifier","src":"1072:2:9"},"nativeSrc":"1072:22:9","nodeType":"YulFunctionCall","src":"1072:22:9"}],"functionName":{"name":"or","nativeSrc":"1033:2:9","nodeType":"YulIdentifier","src":"1033:2:9"},"nativeSrc":"1033:62:9","nodeType":"YulFunctionCall","src":"1033:62:9"},"nativeSrc":"1030:88:9","nodeType":"YulIf","src":"1030:88:9"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1134:2:9","nodeType":"YulLiteral","src":"1134:2:9","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"1138:10:9","nodeType":"YulIdentifier","src":"1138:10:9"}],"functionName":{"name":"mstore","nativeSrc":"1127:6:9","nodeType":"YulIdentifier","src":"1127:6:9"},"nativeSrc":"1127:22:9","nodeType":"YulFunctionCall","src":"1127:22:9"},"nativeSrc":"1127:22:9","nodeType":"YulExpressionStatement","src":"1127:22:9"}]},"name":"finalize_allocation","nativeSrc":"874:281:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"903:6:9","nodeType":"YulTypedName","src":"903:6:9","type":""},{"name":"size","nativeSrc":"911:4:9","nodeType":"YulTypedName","src":"911:4:9","type":""}],"src":"874:281:9"},{"body":{"nativeSrc":"1202:88:9","nodeType":"YulBlock","src":"1202:88:9","statements":[{"nativeSrc":"1212:30:9","nodeType":"YulAssignment","src":"1212:30:9","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nativeSrc":"1222:18:9","nodeType":"YulIdentifier","src":"1222:18:9"},"nativeSrc":"1222:20:9","nodeType":"YulFunctionCall","src":"1222:20:9"},"variableNames":[{"name":"memPtr","nativeSrc":"1212:6:9","nodeType":"YulIdentifier","src":"1212:6:9"}]},{"expression":{"arguments":[{"name":"memPtr","nativeSrc":"1271:6:9","nodeType":"YulIdentifier","src":"1271:6:9"},{"name":"size","nativeSrc":"1279:4:9","nodeType":"YulIdentifier","src":"1279:4:9"}],"functionName":{"name":"finalize_allocation","nativeSrc":"1251:19:9","nodeType":"YulIdentifier","src":"1251:19:9"},"nativeSrc":"1251:33:9","nodeType":"YulFunctionCall","src":"1251:33:9"},"nativeSrc":"1251:33:9","nodeType":"YulExpressionStatement","src":"1251:33:9"}]},"name":"allocate_memory","nativeSrc":"1161:129:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"1186:4:9","nodeType":"YulTypedName","src":"1186:4:9","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"1195:6:9","nodeType":"YulTypedName","src":"1195:6:9","type":""}],"src":"1161:129:9"},{"body":{"nativeSrc":"1362:241:9","nodeType":"YulBlock","src":"1362:241:9","statements":[{"body":{"nativeSrc":"1467:22:9","nodeType":"YulBlock","src":"1467:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1469:16:9","nodeType":"YulIdentifier","src":"1469:16:9"},"nativeSrc":"1469:18:9","nodeType":"YulFunctionCall","src":"1469:18:9"},"nativeSrc":"1469:18:9","nodeType":"YulExpressionStatement","src":"1469:18:9"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"1439:6:9","nodeType":"YulIdentifier","src":"1439:6:9"},{"kind":"number","nativeSrc":"1447:18:9","nodeType":"YulLiteral","src":"1447:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1436:2:9","nodeType":"YulIdentifier","src":"1436:2:9"},"nativeSrc":"1436:30:9","nodeType":"YulFunctionCall","src":"1436:30:9"},"nativeSrc":"1433:56:9","nodeType":"YulIf","src":"1433:56:9"},{"nativeSrc":"1499:37:9","nodeType":"YulAssignment","src":"1499:37:9","value":{"arguments":[{"name":"length","nativeSrc":"1529:6:9","nodeType":"YulIdentifier","src":"1529:6:9"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"1507:21:9","nodeType":"YulIdentifier","src":"1507:21:9"},"nativeSrc":"1507:29:9","nodeType":"YulFunctionCall","src":"1507:29:9"},"variableNames":[{"name":"size","nativeSrc":"1499:4:9","nodeType":"YulIdentifier","src":"1499:4:9"}]},{"nativeSrc":"1573:23:9","nodeType":"YulAssignment","src":"1573:23:9","value":{"arguments":[{"name":"size","nativeSrc":"1585:4:9","nodeType":"YulIdentifier","src":"1585:4:9"},{"kind":"number","nativeSrc":"1591:4:9","nodeType":"YulLiteral","src":"1591:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1581:3:9","nodeType":"YulIdentifier","src":"1581:3:9"},"nativeSrc":"1581:15:9","nodeType":"YulFunctionCall","src":"1581:15:9"},"variableNames":[{"name":"size","nativeSrc":"1573:4:9","nodeType":"YulIdentifier","src":"1573:4:9"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1296:307:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"1346:6:9","nodeType":"YulTypedName","src":"1346:6:9","type":""}],"returnVariables":[{"name":"size","nativeSrc":"1357:4:9","nodeType":"YulTypedName","src":"1357:4:9","type":""}],"src":"1296:307:9"},{"body":{"nativeSrc":"1673:82:9","nodeType":"YulBlock","src":"1673:82:9","statements":[{"expression":{"arguments":[{"name":"dst","nativeSrc":"1696:3:9","nodeType":"YulIdentifier","src":"1696:3:9"},{"name":"src","nativeSrc":"1701:3:9","nodeType":"YulIdentifier","src":"1701:3:9"},{"name":"length","nativeSrc":"1706:6:9","nodeType":"YulIdentifier","src":"1706:6:9"}],"functionName":{"name":"calldatacopy","nativeSrc":"1683:12:9","nodeType":"YulIdentifier","src":"1683:12:9"},"nativeSrc":"1683:30:9","nodeType":"YulFunctionCall","src":"1683:30:9"},"nativeSrc":"1683:30:9","nodeType":"YulExpressionStatement","src":"1683:30:9"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"1733:3:9","nodeType":"YulIdentifier","src":"1733:3:9"},{"name":"length","nativeSrc":"1738:6:9","nodeType":"YulIdentifier","src":"1738:6:9"}],"functionName":{"name":"add","nativeSrc":"1729:3:9","nodeType":"YulIdentifier","src":"1729:3:9"},"nativeSrc":"1729:16:9","nodeType":"YulFunctionCall","src":"1729:16:9"},{"kind":"number","nativeSrc":"1747:1:9","nodeType":"YulLiteral","src":"1747:1:9","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"1722:6:9","nodeType":"YulIdentifier","src":"1722:6:9"},"nativeSrc":"1722:27:9","nodeType":"YulFunctionCall","src":"1722:27:9"},"nativeSrc":"1722:27:9","nodeType":"YulExpressionStatement","src":"1722:27:9"}]},"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"1609:146:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1655:3:9","nodeType":"YulTypedName","src":"1655:3:9","type":""},{"name":"dst","nativeSrc":"1660:3:9","nodeType":"YulTypedName","src":"1660:3:9","type":""},{"name":"length","nativeSrc":"1665:6:9","nodeType":"YulTypedName","src":"1665:6:9","type":""}],"src":"1609:146:9"},{"body":{"nativeSrc":"1844:340:9","nodeType":"YulBlock","src":"1844:340:9","statements":[{"nativeSrc":"1854:74:9","nodeType":"YulAssignment","src":"1854:74:9","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"1920:6:9","nodeType":"YulIdentifier","src":"1920:6:9"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nativeSrc":"1879:40:9","nodeType":"YulIdentifier","src":"1879:40:9"},"nativeSrc":"1879:48:9","nodeType":"YulFunctionCall","src":"1879:48:9"}],"functionName":{"name":"allocate_memory","nativeSrc":"1863:15:9","nodeType":"YulIdentifier","src":"1863:15:9"},"nativeSrc":"1863:65:9","nodeType":"YulFunctionCall","src":"1863:65:9"},"variableNames":[{"name":"array","nativeSrc":"1854:5:9","nodeType":"YulIdentifier","src":"1854:5:9"}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"1944:5:9","nodeType":"YulIdentifier","src":"1944:5:9"},{"name":"length","nativeSrc":"1951:6:9","nodeType":"YulIdentifier","src":"1951:6:9"}],"functionName":{"name":"mstore","nativeSrc":"1937:6:9","nodeType":"YulIdentifier","src":"1937:6:9"},"nativeSrc":"1937:21:9","nodeType":"YulFunctionCall","src":"1937:21:9"},"nativeSrc":"1937:21:9","nodeType":"YulExpressionStatement","src":"1937:21:9"},{"nativeSrc":"1967:27:9","nodeType":"YulVariableDeclaration","src":"1967:27:9","value":{"arguments":[{"name":"array","nativeSrc":"1982:5:9","nodeType":"YulIdentifier","src":"1982:5:9"},{"kind":"number","nativeSrc":"1989:4:9","nodeType":"YulLiteral","src":"1989:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1978:3:9","nodeType":"YulIdentifier","src":"1978:3:9"},"nativeSrc":"1978:16:9","nodeType":"YulFunctionCall","src":"1978:16:9"},"variables":[{"name":"dst","nativeSrc":"1971:3:9","nodeType":"YulTypedName","src":"1971:3:9","type":""}]},{"body":{"nativeSrc":"2032:83:9","nodeType":"YulBlock","src":"2032:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"2034:77:9","nodeType":"YulIdentifier","src":"2034:77:9"},"nativeSrc":"2034:79:9","nodeType":"YulFunctionCall","src":"2034:79:9"},"nativeSrc":"2034:79:9","nodeType":"YulExpressionStatement","src":"2034:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"2013:3:9","nodeType":"YulIdentifier","src":"2013:3:9"},{"name":"length","nativeSrc":"2018:6:9","nodeType":"YulIdentifier","src":"2018:6:9"}],"functionName":{"name":"add","nativeSrc":"2009:3:9","nodeType":"YulIdentifier","src":"2009:3:9"},"nativeSrc":"2009:16:9","nodeType":"YulFunctionCall","src":"2009:16:9"},{"name":"end","nativeSrc":"2027:3:9","nodeType":"YulIdentifier","src":"2027:3:9"}],"functionName":{"name":"gt","nativeSrc":"2006:2:9","nodeType":"YulIdentifier","src":"2006:2:9"},"nativeSrc":"2006:25:9","nodeType":"YulFunctionCall","src":"2006:25:9"},"nativeSrc":"2003:112:9","nodeType":"YulIf","src":"2003:112:9"},{"expression":{"arguments":[{"name":"src","nativeSrc":"2161:3:9","nodeType":"YulIdentifier","src":"2161:3:9"},{"name":"dst","nativeSrc":"2166:3:9","nodeType":"YulIdentifier","src":"2166:3:9"},{"name":"length","nativeSrc":"2171:6:9","nodeType":"YulIdentifier","src":"2171:6:9"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"2124:36:9","nodeType":"YulIdentifier","src":"2124:36:9"},"nativeSrc":"2124:54:9","nodeType":"YulFunctionCall","src":"2124:54:9"},"nativeSrc":"2124:54:9","nodeType":"YulExpressionStatement","src":"2124:54:9"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"1761:423:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"1817:3:9","nodeType":"YulTypedName","src":"1817:3:9","type":""},{"name":"length","nativeSrc":"1822:6:9","nodeType":"YulTypedName","src":"1822:6:9","type":""},{"name":"end","nativeSrc":"1830:3:9","nodeType":"YulTypedName","src":"1830:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"1838:5:9","nodeType":"YulTypedName","src":"1838:5:9","type":""}],"src":"1761:423:9"},{"body":{"nativeSrc":"2264:277:9","nodeType":"YulBlock","src":"2264:277:9","statements":[{"body":{"nativeSrc":"2313:83:9","nodeType":"YulBlock","src":"2313:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"2315:77:9","nodeType":"YulIdentifier","src":"2315:77:9"},"nativeSrc":"2315:79:9","nodeType":"YulFunctionCall","src":"2315:79:9"},"nativeSrc":"2315:79:9","nodeType":"YulExpressionStatement","src":"2315:79:9"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2292:6:9","nodeType":"YulIdentifier","src":"2292:6:9"},{"kind":"number","nativeSrc":"2300:4:9","nodeType":"YulLiteral","src":"2300:4:9","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"2288:3:9","nodeType":"YulIdentifier","src":"2288:3:9"},"nativeSrc":"2288:17:9","nodeType":"YulFunctionCall","src":"2288:17:9"},{"name":"end","nativeSrc":"2307:3:9","nodeType":"YulIdentifier","src":"2307:3:9"}],"functionName":{"name":"slt","nativeSrc":"2284:3:9","nodeType":"YulIdentifier","src":"2284:3:9"},"nativeSrc":"2284:27:9","nodeType":"YulFunctionCall","src":"2284:27:9"}],"functionName":{"name":"iszero","nativeSrc":"2277:6:9","nodeType":"YulIdentifier","src":"2277:6:9"},"nativeSrc":"2277:35:9","nodeType":"YulFunctionCall","src":"2277:35:9"},"nativeSrc":"2274:122:9","nodeType":"YulIf","src":"2274:122:9"},{"nativeSrc":"2405:34:9","nodeType":"YulVariableDeclaration","src":"2405:34:9","value":{"arguments":[{"name":"offset","nativeSrc":"2432:6:9","nodeType":"YulIdentifier","src":"2432:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"2419:12:9","nodeType":"YulIdentifier","src":"2419:12:9"},"nativeSrc":"2419:20:9","nodeType":"YulFunctionCall","src":"2419:20:9"},"variables":[{"name":"length","nativeSrc":"2409:6:9","nodeType":"YulTypedName","src":"2409:6:9","type":""}]},{"nativeSrc":"2448:87:9","nodeType":"YulAssignment","src":"2448:87:9","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2508:6:9","nodeType":"YulIdentifier","src":"2508:6:9"},{"kind":"number","nativeSrc":"2516:4:9","nodeType":"YulLiteral","src":"2516:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2504:3:9","nodeType":"YulIdentifier","src":"2504:3:9"},"nativeSrc":"2504:17:9","nodeType":"YulFunctionCall","src":"2504:17:9"},{"name":"length","nativeSrc":"2523:6:9","nodeType":"YulIdentifier","src":"2523:6:9"},{"name":"end","nativeSrc":"2531:3:9","nodeType":"YulIdentifier","src":"2531:3:9"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nativeSrc":"2457:46:9","nodeType":"YulIdentifier","src":"2457:46:9"},"nativeSrc":"2457:78:9","nodeType":"YulFunctionCall","src":"2457:78:9"},"variableNames":[{"name":"array","nativeSrc":"2448:5:9","nodeType":"YulIdentifier","src":"2448:5:9"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"2203:338:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2242:6:9","nodeType":"YulTypedName","src":"2242:6:9","type":""},{"name":"end","nativeSrc":"2250:3:9","nodeType":"YulTypedName","src":"2250:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2258:5:9","nodeType":"YulTypedName","src":"2258:5:9","type":""}],"src":"2203:338:9"},{"body":{"nativeSrc":"2629:229:9","nodeType":"YulBlock","src":"2629:229:9","statements":[{"body":{"nativeSrc":"2734:22:9","nodeType":"YulBlock","src":"2734:22:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"2736:16:9","nodeType":"YulIdentifier","src":"2736:16:9"},"nativeSrc":"2736:18:9","nodeType":"YulFunctionCall","src":"2736:18:9"},"nativeSrc":"2736:18:9","nodeType":"YulExpressionStatement","src":"2736:18:9"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"2706:6:9","nodeType":"YulIdentifier","src":"2706:6:9"},{"kind":"number","nativeSrc":"2714:18:9","nodeType":"YulLiteral","src":"2714:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"2703:2:9","nodeType":"YulIdentifier","src":"2703:2:9"},"nativeSrc":"2703:30:9","nodeType":"YulFunctionCall","src":"2703:30:9"},"nativeSrc":"2700:56:9","nodeType":"YulIf","src":"2700:56:9"},{"nativeSrc":"2766:25:9","nodeType":"YulAssignment","src":"2766:25:9","value":{"arguments":[{"name":"length","nativeSrc":"2778:6:9","nodeType":"YulIdentifier","src":"2778:6:9"},{"kind":"number","nativeSrc":"2786:4:9","nodeType":"YulLiteral","src":"2786:4:9","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"2774:3:9","nodeType":"YulIdentifier","src":"2774:3:9"},"nativeSrc":"2774:17:9","nodeType":"YulFunctionCall","src":"2774:17:9"},"variableNames":[{"name":"size","nativeSrc":"2766:4:9","nodeType":"YulIdentifier","src":"2766:4:9"}]},{"nativeSrc":"2828:23:9","nodeType":"YulAssignment","src":"2828:23:9","value":{"arguments":[{"name":"size","nativeSrc":"2840:4:9","nodeType":"YulIdentifier","src":"2840:4:9"},{"kind":"number","nativeSrc":"2846:4:9","nodeType":"YulLiteral","src":"2846:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2836:3:9","nodeType":"YulIdentifier","src":"2836:3:9"},"nativeSrc":"2836:15:9","nodeType":"YulFunctionCall","src":"2836:15:9"},"variableNames":[{"name":"size","nativeSrc":"2828:4:9","nodeType":"YulIdentifier","src":"2828:4:9"}]}]},"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"2547:311:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"2613:6:9","nodeType":"YulTypedName","src":"2613:6:9","type":""}],"returnVariables":[{"name":"size","nativeSrc":"2624:4:9","nodeType":"YulTypedName","src":"2624:4:9","type":""}],"src":"2547:311:9"},{"body":{"nativeSrc":"2953:28:9","nodeType":"YulBlock","src":"2953:28:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2970:1:9","nodeType":"YulLiteral","src":"2970:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"2973:1:9","nodeType":"YulLiteral","src":"2973:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"2963:6:9","nodeType":"YulIdentifier","src":"2963:6:9"},"nativeSrc":"2963:12:9","nodeType":"YulFunctionCall","src":"2963:12:9"},"nativeSrc":"2963:12:9","nodeType":"YulExpressionStatement","src":"2963:12:9"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"2864:117:9","nodeType":"YulFunctionDefinition","src":"2864:117:9"},{"body":{"nativeSrc":"3032:32:9","nodeType":"YulBlock","src":"3032:32:9","statements":[{"nativeSrc":"3042:16:9","nodeType":"YulAssignment","src":"3042:16:9","value":{"name":"value","nativeSrc":"3053:5:9","nodeType":"YulIdentifier","src":"3053:5:9"},"variableNames":[{"name":"cleaned","nativeSrc":"3042:7:9","nodeType":"YulIdentifier","src":"3042:7:9"}]}]},"name":"cleanup_t_uint256","nativeSrc":"2987:77:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3014:5:9","nodeType":"YulTypedName","src":"3014:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"3024:7:9","nodeType":"YulTypedName","src":"3024:7:9","type":""}],"src":"2987:77:9"},{"body":{"nativeSrc":"3113:79:9","nodeType":"YulBlock","src":"3113:79:9","statements":[{"body":{"nativeSrc":"3170:16:9","nodeType":"YulBlock","src":"3170:16:9","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3179:1:9","nodeType":"YulLiteral","src":"3179:1:9","type":"","value":"0"},{"kind":"number","nativeSrc":"3182:1:9","nodeType":"YulLiteral","src":"3182:1:9","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"3172:6:9","nodeType":"YulIdentifier","src":"3172:6:9"},"nativeSrc":"3172:12:9","nodeType":"YulFunctionCall","src":"3172:12:9"},"nativeSrc":"3172:12:9","nodeType":"YulExpressionStatement","src":"3172:12:9"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"3136:5:9","nodeType":"YulIdentifier","src":"3136:5:9"},{"arguments":[{"name":"value","nativeSrc":"3161:5:9","nodeType":"YulIdentifier","src":"3161:5:9"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"3143:17:9","nodeType":"YulIdentifier","src":"3143:17:9"},"nativeSrc":"3143:24:9","nodeType":"YulFunctionCall","src":"3143:24:9"}],"functionName":{"name":"eq","nativeSrc":"3133:2:9","nodeType":"YulIdentifier","src":"3133:2:9"},"nativeSrc":"3133:35:9","nodeType":"YulFunctionCall","src":"3133:35:9"}],"functionName":{"name":"iszero","nativeSrc":"3126:6:9","nodeType":"YulIdentifier","src":"3126:6:9"},"nativeSrc":"3126:43:9","nodeType":"YulFunctionCall","src":"3126:43:9"},"nativeSrc":"3123:63:9","nodeType":"YulIf","src":"3123:63:9"}]},"name":"validator_revert_t_uint256","nativeSrc":"3070:122:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"3106:5:9","nodeType":"YulTypedName","src":"3106:5:9","type":""}],"src":"3070:122:9"},{"body":{"nativeSrc":"3250:87:9","nodeType":"YulBlock","src":"3250:87:9","statements":[{"nativeSrc":"3260:29:9","nodeType":"YulAssignment","src":"3260:29:9","value":{"arguments":[{"name":"offset","nativeSrc":"3282:6:9","nodeType":"YulIdentifier","src":"3282:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"3269:12:9","nodeType":"YulIdentifier","src":"3269:12:9"},"nativeSrc":"3269:20:9","nodeType":"YulFunctionCall","src":"3269:20:9"},"variableNames":[{"name":"value","nativeSrc":"3260:5:9","nodeType":"YulIdentifier","src":"3260:5:9"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"3325:5:9","nodeType":"YulIdentifier","src":"3325:5:9"}],"functionName":{"name":"validator_revert_t_uint256","nativeSrc":"3298:26:9","nodeType":"YulIdentifier","src":"3298:26:9"},"nativeSrc":"3298:33:9","nodeType":"YulFunctionCall","src":"3298:33:9"},"nativeSrc":"3298:33:9","nodeType":"YulExpressionStatement","src":"3298:33:9"}]},"name":"abi_decode_t_uint256","nativeSrc":"3198:139:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3228:6:9","nodeType":"YulTypedName","src":"3228:6:9","type":""},{"name":"end","nativeSrc":"3236:3:9","nodeType":"YulTypedName","src":"3236:3:9","type":""}],"returnVariables":[{"name":"value","nativeSrc":"3244:5:9","nodeType":"YulTypedName","src":"3244:5:9","type":""}],"src":"3198:139:9"},{"body":{"nativeSrc":"3462:608:9","nodeType":"YulBlock","src":"3462:608:9","statements":[{"nativeSrc":"3472:90:9","nodeType":"YulAssignment","src":"3472:90:9","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"3554:6:9","nodeType":"YulIdentifier","src":"3554:6:9"}],"functionName":{"name":"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3497:56:9","nodeType":"YulIdentifier","src":"3497:56:9"},"nativeSrc":"3497:64:9","nodeType":"YulFunctionCall","src":"3497:64:9"}],"functionName":{"name":"allocate_memory","nativeSrc":"3481:15:9","nodeType":"YulIdentifier","src":"3481:15:9"},"nativeSrc":"3481:81:9","nodeType":"YulFunctionCall","src":"3481:81:9"},"variableNames":[{"name":"array","nativeSrc":"3472:5:9","nodeType":"YulIdentifier","src":"3472:5:9"}]},{"nativeSrc":"3571:16:9","nodeType":"YulVariableDeclaration","src":"3571:16:9","value":{"name":"array","nativeSrc":"3582:5:9","nodeType":"YulIdentifier","src":"3582:5:9"},"variables":[{"name":"dst","nativeSrc":"3575:3:9","nodeType":"YulTypedName","src":"3575:3:9","type":""}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"3604:5:9","nodeType":"YulIdentifier","src":"3604:5:9"},{"name":"length","nativeSrc":"3611:6:9","nodeType":"YulIdentifier","src":"3611:6:9"}],"functionName":{"name":"mstore","nativeSrc":"3597:6:9","nodeType":"YulIdentifier","src":"3597:6:9"},"nativeSrc":"3597:21:9","nodeType":"YulFunctionCall","src":"3597:21:9"},"nativeSrc":"3597:21:9","nodeType":"YulExpressionStatement","src":"3597:21:9"},{"nativeSrc":"3627:23:9","nodeType":"YulAssignment","src":"3627:23:9","value":{"arguments":[{"name":"array","nativeSrc":"3638:5:9","nodeType":"YulIdentifier","src":"3638:5:9"},{"kind":"number","nativeSrc":"3645:4:9","nodeType":"YulLiteral","src":"3645:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3634:3:9","nodeType":"YulIdentifier","src":"3634:3:9"},"nativeSrc":"3634:16:9","nodeType":"YulFunctionCall","src":"3634:16:9"},"variableNames":[{"name":"dst","nativeSrc":"3627:3:9","nodeType":"YulIdentifier","src":"3627:3:9"}]},{"nativeSrc":"3660:44:9","nodeType":"YulVariableDeclaration","src":"3660:44:9","value":{"arguments":[{"name":"offset","nativeSrc":"3678:6:9","nodeType":"YulIdentifier","src":"3678:6:9"},{"arguments":[{"name":"length","nativeSrc":"3690:6:9","nodeType":"YulIdentifier","src":"3690:6:9"},{"kind":"number","nativeSrc":"3698:4:9","nodeType":"YulLiteral","src":"3698:4:9","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"3686:3:9","nodeType":"YulIdentifier","src":"3686:3:9"},"nativeSrc":"3686:17:9","nodeType":"YulFunctionCall","src":"3686:17:9"}],"functionName":{"name":"add","nativeSrc":"3674:3:9","nodeType":"YulIdentifier","src":"3674:3:9"},"nativeSrc":"3674:30:9","nodeType":"YulFunctionCall","src":"3674:30:9"},"variables":[{"name":"srcEnd","nativeSrc":"3664:6:9","nodeType":"YulTypedName","src":"3664:6:9","type":""}]},{"body":{"nativeSrc":"3732:103:9","nodeType":"YulBlock","src":"3732:103:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nativeSrc":"3746:77:9","nodeType":"YulIdentifier","src":"3746:77:9"},"nativeSrc":"3746:79:9","nodeType":"YulFunctionCall","src":"3746:79:9"},"nativeSrc":"3746:79:9","nodeType":"YulExpressionStatement","src":"3746:79:9"}]},"condition":{"arguments":[{"name":"srcEnd","nativeSrc":"3719:6:9","nodeType":"YulIdentifier","src":"3719:6:9"},{"name":"end","nativeSrc":"3727:3:9","nodeType":"YulIdentifier","src":"3727:3:9"}],"functionName":{"name":"gt","nativeSrc":"3716:2:9","nodeType":"YulIdentifier","src":"3716:2:9"},"nativeSrc":"3716:15:9","nodeType":"YulFunctionCall","src":"3716:15:9"},"nativeSrc":"3713:122:9","nodeType":"YulIf","src":"3713:122:9"},{"body":{"nativeSrc":"3920:144:9","nodeType":"YulBlock","src":"3920:144:9","statements":[{"nativeSrc":"3935:21:9","nodeType":"YulVariableDeclaration","src":"3935:21:9","value":{"name":"src","nativeSrc":"3953:3:9","nodeType":"YulIdentifier","src":"3953:3:9"},"variables":[{"name":"elementPos","nativeSrc":"3939:10:9","nodeType":"YulTypedName","src":"3939:10:9","type":""}]},{"expression":{"arguments":[{"name":"dst","nativeSrc":"3977:3:9","nodeType":"YulIdentifier","src":"3977:3:9"},{"arguments":[{"name":"elementPos","nativeSrc":"4003:10:9","nodeType":"YulIdentifier","src":"4003:10:9"},{"name":"end","nativeSrc":"4015:3:9","nodeType":"YulIdentifier","src":"4015:3:9"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"3982:20:9","nodeType":"YulIdentifier","src":"3982:20:9"},"nativeSrc":"3982:37:9","nodeType":"YulFunctionCall","src":"3982:37:9"}],"functionName":{"name":"mstore","nativeSrc":"3970:6:9","nodeType":"YulIdentifier","src":"3970:6:9"},"nativeSrc":"3970:50:9","nodeType":"YulFunctionCall","src":"3970:50:9"},"nativeSrc":"3970:50:9","nodeType":"YulExpressionStatement","src":"3970:50:9"},{"nativeSrc":"4033:21:9","nodeType":"YulAssignment","src":"4033:21:9","value":{"arguments":[{"name":"dst","nativeSrc":"4044:3:9","nodeType":"YulIdentifier","src":"4044:3:9"},{"kind":"number","nativeSrc":"4049:4:9","nodeType":"YulLiteral","src":"4049:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4040:3:9","nodeType":"YulIdentifier","src":"4040:3:9"},"nativeSrc":"4040:14:9","nodeType":"YulFunctionCall","src":"4040:14:9"},"variableNames":[{"name":"dst","nativeSrc":"4033:3:9","nodeType":"YulIdentifier","src":"4033:3:9"}]}]},"condition":{"arguments":[{"name":"src","nativeSrc":"3873:3:9","nodeType":"YulIdentifier","src":"3873:3:9"},{"name":"srcEnd","nativeSrc":"3878:6:9","nodeType":"YulIdentifier","src":"3878:6:9"}],"functionName":{"name":"lt","nativeSrc":"3870:2:9","nodeType":"YulIdentifier","src":"3870:2:9"},"nativeSrc":"3870:15:9","nodeType":"YulFunctionCall","src":"3870:15:9"},"nativeSrc":"3844:220:9","nodeType":"YulForLoop","post":{"nativeSrc":"3886:25:9","nodeType":"YulBlock","src":"3886:25:9","statements":[{"nativeSrc":"3888:21:9","nodeType":"YulAssignment","src":"3888:21:9","value":{"arguments":[{"name":"src","nativeSrc":"3899:3:9","nodeType":"YulIdentifier","src":"3899:3:9"},{"kind":"number","nativeSrc":"3904:4:9","nodeType":"YulLiteral","src":"3904:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3895:3:9","nodeType":"YulIdentifier","src":"3895:3:9"},"nativeSrc":"3895:14:9","nodeType":"YulFunctionCall","src":"3895:14:9"},"variableNames":[{"name":"src","nativeSrc":"3888:3:9","nodeType":"YulIdentifier","src":"3888:3:9"}]}]},"pre":{"nativeSrc":"3848:21:9","nodeType":"YulBlock","src":"3848:21:9","statements":[{"nativeSrc":"3850:17:9","nodeType":"YulVariableDeclaration","src":"3850:17:9","value":{"name":"offset","nativeSrc":"3861:6:9","nodeType":"YulIdentifier","src":"3861:6:9"},"variables":[{"name":"src","nativeSrc":"3854:3:9","nodeType":"YulTypedName","src":"3854:3:9","type":""}]}]},"src":"3844:220:9"}]},"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"3360:710:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"3432:6:9","nodeType":"YulTypedName","src":"3432:6:9","type":""},{"name":"length","nativeSrc":"3440:6:9","nodeType":"YulTypedName","src":"3440:6:9","type":""},{"name":"end","nativeSrc":"3448:3:9","nodeType":"YulTypedName","src":"3448:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"3456:5:9","nodeType":"YulTypedName","src":"3456:5:9","type":""}],"src":"3360:710:9"},{"body":{"nativeSrc":"4170:293:9","nodeType":"YulBlock","src":"4170:293:9","statements":[{"body":{"nativeSrc":"4219:83:9","nodeType":"YulBlock","src":"4219:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"4221:77:9","nodeType":"YulIdentifier","src":"4221:77:9"},"nativeSrc":"4221:79:9","nodeType":"YulFunctionCall","src":"4221:79:9"},"nativeSrc":"4221:79:9","nodeType":"YulExpressionStatement","src":"4221:79:9"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4198:6:9","nodeType":"YulIdentifier","src":"4198:6:9"},{"kind":"number","nativeSrc":"4206:4:9","nodeType":"YulLiteral","src":"4206:4:9","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"4194:3:9","nodeType":"YulIdentifier","src":"4194:3:9"},"nativeSrc":"4194:17:9","nodeType":"YulFunctionCall","src":"4194:17:9"},{"name":"end","nativeSrc":"4213:3:9","nodeType":"YulIdentifier","src":"4213:3:9"}],"functionName":{"name":"slt","nativeSrc":"4190:3:9","nodeType":"YulIdentifier","src":"4190:3:9"},"nativeSrc":"4190:27:9","nodeType":"YulFunctionCall","src":"4190:27:9"}],"functionName":{"name":"iszero","nativeSrc":"4183:6:9","nodeType":"YulIdentifier","src":"4183:6:9"},"nativeSrc":"4183:35:9","nodeType":"YulFunctionCall","src":"4183:35:9"},"nativeSrc":"4180:122:9","nodeType":"YulIf","src":"4180:122:9"},{"nativeSrc":"4311:34:9","nodeType":"YulVariableDeclaration","src":"4311:34:9","value":{"arguments":[{"name":"offset","nativeSrc":"4338:6:9","nodeType":"YulIdentifier","src":"4338:6:9"}],"functionName":{"name":"calldataload","nativeSrc":"4325:12:9","nodeType":"YulIdentifier","src":"4325:12:9"},"nativeSrc":"4325:20:9","nodeType":"YulFunctionCall","src":"4325:20:9"},"variables":[{"name":"length","nativeSrc":"4315:6:9","nodeType":"YulTypedName","src":"4315:6:9","type":""}]},{"nativeSrc":"4354:103:9","nodeType":"YulAssignment","src":"4354:103:9","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"4430:6:9","nodeType":"YulIdentifier","src":"4430:6:9"},{"kind":"number","nativeSrc":"4438:4:9","nodeType":"YulLiteral","src":"4438:4:9","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4426:3:9","nodeType":"YulIdentifier","src":"4426:3:9"},"nativeSrc":"4426:17:9","nodeType":"YulFunctionCall","src":"4426:17:9"},{"name":"length","nativeSrc":"4445:6:9","nodeType":"YulIdentifier","src":"4445:6:9"},{"name":"end","nativeSrc":"4453:3:9","nodeType":"YulIdentifier","src":"4453:3:9"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4363:62:9","nodeType":"YulIdentifier","src":"4363:62:9"},"nativeSrc":"4363:94:9","nodeType":"YulFunctionCall","src":"4363:94:9"},"variableNames":[{"name":"array","nativeSrc":"4354:5:9","nodeType":"YulIdentifier","src":"4354:5:9"}]}]},"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4093:370:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"4148:6:9","nodeType":"YulTypedName","src":"4148:6:9","type":""},{"name":"end","nativeSrc":"4156:3:9","nodeType":"YulTypedName","src":"4156:3:9","type":""}],"returnVariables":[{"name":"array","nativeSrc":"4164:5:9","nodeType":"YulTypedName","src":"4164:5:9","type":""}],"src":"4093:370:9"},{"body":{"nativeSrc":"4586:745:9","nodeType":"YulBlock","src":"4586:745:9","statements":[{"body":{"nativeSrc":"4632:83:9","nodeType":"YulBlock","src":"4632:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"4634:77:9","nodeType":"YulIdentifier","src":"4634:77:9"},"nativeSrc":"4634:79:9","nodeType":"YulFunctionCall","src":"4634:79:9"},"nativeSrc":"4634:79:9","nodeType":"YulExpressionStatement","src":"4634:79:9"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"4607:7:9","nodeType":"YulIdentifier","src":"4607:7:9"},{"name":"headStart","nativeSrc":"4616:9:9","nodeType":"YulIdentifier","src":"4616:9:9"}],"functionName":{"name":"sub","nativeSrc":"4603:3:9","nodeType":"YulIdentifier","src":"4603:3:9"},"nativeSrc":"4603:23:9","nodeType":"YulFunctionCall","src":"4603:23:9"},{"kind":"number","nativeSrc":"4628:2:9","nodeType":"YulLiteral","src":"4628:2:9","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"4599:3:9","nodeType":"YulIdentifier","src":"4599:3:9"},"nativeSrc":"4599:32:9","nodeType":"YulFunctionCall","src":"4599:32:9"},"nativeSrc":"4596:119:9","nodeType":"YulIf","src":"4596:119:9"},{"nativeSrc":"4725:286:9","nodeType":"YulBlock","src":"4725:286:9","statements":[{"nativeSrc":"4740:45:9","nodeType":"YulVariableDeclaration","src":"4740:45:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4771:9:9","nodeType":"YulIdentifier","src":"4771:9:9"},{"kind":"number","nativeSrc":"4782:1:9","nodeType":"YulLiteral","src":"4782:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"4767:3:9","nodeType":"YulIdentifier","src":"4767:3:9"},"nativeSrc":"4767:17:9","nodeType":"YulFunctionCall","src":"4767:17:9"}],"functionName":{"name":"calldataload","nativeSrc":"4754:12:9","nodeType":"YulIdentifier","src":"4754:12:9"},"nativeSrc":"4754:31:9","nodeType":"YulFunctionCall","src":"4754:31:9"},"variables":[{"name":"offset","nativeSrc":"4744:6:9","nodeType":"YulTypedName","src":"4744:6:9","type":""}]},{"body":{"nativeSrc":"4832:83:9","nodeType":"YulBlock","src":"4832:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"4834:77:9","nodeType":"YulIdentifier","src":"4834:77:9"},"nativeSrc":"4834:79:9","nodeType":"YulFunctionCall","src":"4834:79:9"},"nativeSrc":"4834:79:9","nodeType":"YulExpressionStatement","src":"4834:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"4804:6:9","nodeType":"YulIdentifier","src":"4804:6:9"},{"kind":"number","nativeSrc":"4812:18:9","nodeType":"YulLiteral","src":"4812:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"4801:2:9","nodeType":"YulIdentifier","src":"4801:2:9"},"nativeSrc":"4801:30:9","nodeType":"YulFunctionCall","src":"4801:30:9"},"nativeSrc":"4798:117:9","nodeType":"YulIf","src":"4798:117:9"},{"nativeSrc":"4929:72:9","nodeType":"YulAssignment","src":"4929:72:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4973:9:9","nodeType":"YulIdentifier","src":"4973:9:9"},{"name":"offset","nativeSrc":"4984:6:9","nodeType":"YulIdentifier","src":"4984:6:9"}],"functionName":{"name":"add","nativeSrc":"4969:3:9","nodeType":"YulIdentifier","src":"4969:3:9"},"nativeSrc":"4969:22:9","nodeType":"YulFunctionCall","src":"4969:22:9"},{"name":"dataEnd","nativeSrc":"4993:7:9","nodeType":"YulIdentifier","src":"4993:7:9"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nativeSrc":"4939:29:9","nodeType":"YulIdentifier","src":"4939:29:9"},"nativeSrc":"4939:62:9","nodeType":"YulFunctionCall","src":"4939:62:9"},"variableNames":[{"name":"value0","nativeSrc":"4929:6:9","nodeType":"YulIdentifier","src":"4929:6:9"}]}]},{"nativeSrc":"5021:303:9","nodeType":"YulBlock","src":"5021:303:9","statements":[{"nativeSrc":"5036:46:9","nodeType":"YulVariableDeclaration","src":"5036:46:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5067:9:9","nodeType":"YulIdentifier","src":"5067:9:9"},{"kind":"number","nativeSrc":"5078:2:9","nodeType":"YulLiteral","src":"5078:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5063:3:9","nodeType":"YulIdentifier","src":"5063:3:9"},"nativeSrc":"5063:18:9","nodeType":"YulFunctionCall","src":"5063:18:9"}],"functionName":{"name":"calldataload","nativeSrc":"5050:12:9","nodeType":"YulIdentifier","src":"5050:12:9"},"nativeSrc":"5050:32:9","nodeType":"YulFunctionCall","src":"5050:32:9"},"variables":[{"name":"offset","nativeSrc":"5040:6:9","nodeType":"YulTypedName","src":"5040:6:9","type":""}]},{"body":{"nativeSrc":"5129:83:9","nodeType":"YulBlock","src":"5129:83:9","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"5131:77:9","nodeType":"YulIdentifier","src":"5131:77:9"},"nativeSrc":"5131:79:9","nodeType":"YulFunctionCall","src":"5131:79:9"},"nativeSrc":"5131:79:9","nodeType":"YulExpressionStatement","src":"5131:79:9"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"5101:6:9","nodeType":"YulIdentifier","src":"5101:6:9"},{"kind":"number","nativeSrc":"5109:18:9","nodeType":"YulLiteral","src":"5109:18:9","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"5098:2:9","nodeType":"YulIdentifier","src":"5098:2:9"},"nativeSrc":"5098:30:9","nodeType":"YulFunctionCall","src":"5098:30:9"},"nativeSrc":"5095:117:9","nodeType":"YulIf","src":"5095:117:9"},{"nativeSrc":"5226:88:9","nodeType":"YulAssignment","src":"5226:88:9","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5286:9:9","nodeType":"YulIdentifier","src":"5286:9:9"},{"name":"offset","nativeSrc":"5297:6:9","nodeType":"YulIdentifier","src":"5297:6:9"}],"functionName":{"name":"add","nativeSrc":"5282:3:9","nodeType":"YulIdentifier","src":"5282:3:9"},"nativeSrc":"5282:22:9","nodeType":"YulFunctionCall","src":"5282:22:9"},{"name":"dataEnd","nativeSrc":"5306:7:9","nodeType":"YulIdentifier","src":"5306:7:9"}],"functionName":{"name":"abi_decode_t_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"5236:45:9","nodeType":"YulIdentifier","src":"5236:45:9"},"nativeSrc":"5236:78:9","nodeType":"YulFunctionCall","src":"5236:78:9"},"variableNames":[{"name":"value1","nativeSrc":"5226:6:9","nodeType":"YulIdentifier","src":"5226:6:9"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr","nativeSrc":"4469:862:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"4548:9:9","nodeType":"YulTypedName","src":"4548:9:9","type":""},{"name":"dataEnd","nativeSrc":"4559:7:9","nodeType":"YulTypedName","src":"4559:7:9","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"4571:6:9","nodeType":"YulTypedName","src":"4571:6:9","type":""},{"name":"value1","nativeSrc":"4579:6:9","nodeType":"YulTypedName","src":"4579:6:9","type":""}],"src":"4469:862:9"},{"body":{"nativeSrc":"5379:48:9","nodeType":"YulBlock","src":"5379:48:9","statements":[{"nativeSrc":"5389:32:9","nodeType":"YulAssignment","src":"5389:32:9","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5414:5:9","nodeType":"YulIdentifier","src":"5414:5:9"}],"functionName":{"name":"iszero","nativeSrc":"5407:6:9","nodeType":"YulIdentifier","src":"5407:6:9"},"nativeSrc":"5407:13:9","nodeType":"YulFunctionCall","src":"5407:13:9"}],"functionName":{"name":"iszero","nativeSrc":"5400:6:9","nodeType":"YulIdentifier","src":"5400:6:9"},"nativeSrc":"5400:21:9","nodeType":"YulFunctionCall","src":"5400:21:9"},"variableNames":[{"name":"cleaned","nativeSrc":"5389:7:9","nodeType":"YulIdentifier","src":"5389:7:9"}]}]},"name":"cleanup_t_bool","nativeSrc":"5337:90:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5361:5:9","nodeType":"YulTypedName","src":"5361:5:9","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"5371:7:9","nodeType":"YulTypedName","src":"5371:7:9","type":""}],"src":"5337:90:9"},{"body":{"nativeSrc":"5492:50:9","nodeType":"YulBlock","src":"5492:50:9","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"5509:3:9","nodeType":"YulIdentifier","src":"5509:3:9"},{"arguments":[{"name":"value","nativeSrc":"5529:5:9","nodeType":"YulIdentifier","src":"5529:5:9"}],"functionName":{"name":"cleanup_t_bool","nativeSrc":"5514:14:9","nodeType":"YulIdentifier","src":"5514:14:9"},"nativeSrc":"5514:21:9","nodeType":"YulFunctionCall","src":"5514:21:9"}],"functionName":{"name":"mstore","nativeSrc":"5502:6:9","nodeType":"YulIdentifier","src":"5502:6:9"},"nativeSrc":"5502:34:9","nodeType":"YulFunctionCall","src":"5502:34:9"},"nativeSrc":"5502:34:9","nodeType":"YulExpressionStatement","src":"5502:34:9"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5433:109:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5480:5:9","nodeType":"YulTypedName","src":"5480:5:9","type":""},{"name":"pos","nativeSrc":"5487:3:9","nodeType":"YulTypedName","src":"5487:3:9","type":""}],"src":"5433:109:9"},{"body":{"nativeSrc":"5640:118:9","nodeType":"YulBlock","src":"5640:118:9","statements":[{"nativeSrc":"5650:26:9","nodeType":"YulAssignment","src":"5650:26:9","value":{"arguments":[{"name":"headStart","nativeSrc":"5662:9:9","nodeType":"YulIdentifier","src":"5662:9:9"},{"kind":"number","nativeSrc":"5673:2:9","nodeType":"YulLiteral","src":"5673:2:9","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5658:3:9","nodeType":"YulIdentifier","src":"5658:3:9"},"nativeSrc":"5658:18:9","nodeType":"YulFunctionCall","src":"5658:18:9"},"variableNames":[{"name":"tail","nativeSrc":"5650:4:9","nodeType":"YulIdentifier","src":"5650:4:9"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"5724:6:9","nodeType":"YulIdentifier","src":"5724:6:9"},{"arguments":[{"name":"headStart","nativeSrc":"5737:9:9","nodeType":"YulIdentifier","src":"5737:9:9"},{"kind":"number","nativeSrc":"5748:1:9","nodeType":"YulLiteral","src":"5748:1:9","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"5733:3:9","nodeType":"YulIdentifier","src":"5733:3:9"},"nativeSrc":"5733:17:9","nodeType":"YulFunctionCall","src":"5733:17:9"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"5686:37:9","nodeType":"YulIdentifier","src":"5686:37:9"},"nativeSrc":"5686:65:9","nodeType":"YulFunctionCall","src":"5686:65:9"},"nativeSrc":"5686:65:9","nodeType":"YulExpressionStatement","src":"5686:65:9"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"5548:210:9","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5612:9:9","nodeType":"YulTypedName","src":"5612:9:9","type":""},{"name":"value0","nativeSrc":"5624:6:9","nodeType":"YulTypedName","src":"5624:6:9","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5635:4:9","nodeType":"YulTypedName","src":"5635:4:9","type":""}],"src":"5548:210:9"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n","id":9,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f0ce90799f564b37f9a7c19587ad4234c46f6afad9f4b1fb9277bed47dd9b6a117f2becb27157d1ea8e65712e5a9d3b836536cc95f8ffbe2a9a66259a05b94d8c4184610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea26469706673582212201ba7f68c3e2f4f61e7382b6f72a0fe80914349a958fe8936ea3db47813f5c2b764736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1E8E1E13 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x1CDE JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x1A1B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 DUP5 DUP5 PUSH1 0x0 DUP1 JUMPDEST DUP3 ISZERO PUSH2 0x9C JUMPI DUP3 DUP5 SDIV SWAP2 POP DUP5 DUP3 MUL DUP7 SUB SWAP1 POP DUP5 SWAP6 POP DUP1 SWAP5 POP DUP3 DUP3 MUL DUP5 SUB SWAP1 POP DUP3 SWAP4 POP DUP1 SWAP3 POP PUSH2 0x72 JUMP JUMPDEST PUSH1 0x1 DUP5 GT ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP7 SLT ISZERO PUSH2 0xB9 JUMPI DUP9 DUP7 ADD SWAP6 POP JUMPDEST DUP6 SWAP7 POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 PUSH1 0x20 DUP5 MUL DUP4 ADD DUP2 MLOAD PUSH1 0x20 DUP4 ADD SWAP3 POP PUSH1 0x0 JUMPDEST DUP3 DUP5 LT ISZERO PUSH2 0x120 JUMPI DUP2 DUP6 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH2 0xDD JUMP JUMPDEST PUSH2 0x14A PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH2 0x67 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP DUP6 SWAP3 POP JUMPDEST DUP3 DUP5 GT ISZERO PUSH2 0x1C6 JUMPI PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 MLOAD DUP4 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP5 MLOAD DUP4 MULMOD SWAP2 POP DUP1 DUP5 MSTORE PUSH1 0x20 DUP6 SUB SWAP5 POP PUSH1 0x20 DUP5 SUB SWAP4 POP PUSH2 0x15C JUMP JUMPDEST DUP2 DUP5 MSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 LT PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP JUMP JUMPDEST PUSH2 0x320 DUP2 MLOAD EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH2 0x228 PUSH2 0x260 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x236 PUSH2 0x280 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x244 PUSH2 0x2A0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x252 PUSH2 0x2C0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x260 PUSH2 0x2E0 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x26E PUSH2 0x300 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST PUSH2 0x27C PUSH2 0x320 DUP3 ADD MLOAD PUSH2 0x1D2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP6 ADD MLOAD PUSH2 0x2C0 DUP6 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2E0 DUP6 ADD MSTORE PUSH1 0x20 DUP1 ADD DUP4 ADD MLOAD PUSH2 0x300 DUP6 ADD MSTORE PUSH1 0x40 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x320 DUP6 ADD MSTORE PUSH1 0x60 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x340 DUP6 ADD MSTORE PUSH1 0x80 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x360 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x20 ADD DUP4 ADD MLOAD PUSH2 0x380 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x2C0 DUP7 ADD KECCAK256 MOD SWAP1 POP DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP1 DUP7 ADD KECCAK256 MOD PUSH1 0x40 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 PUSH1 0xE0 DUP6 ADD KECCAK256 MOD PUSH1 0x0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 PUSH2 0x120 DUP6 ADD KECCAK256 MOD SWAP2 POP DUP2 PUSH1 0x60 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP3 MULMOD PUSH1 0xA0 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP4 MULMOD SWAP2 POP DUP2 PUSH1 0x80 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0x1 DUP5 SUB ADD MOD SWAP2 POP DUP2 PUSH2 0x260 DUP6 ADD MSTORE DUP2 PUSH2 0x280 DUP6 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xE0 PUSH2 0x260 DUP6 ADD KECCAK256 MOD DUP1 PUSH1 0xC0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP3 MULMOD SWAP3 POP DUP3 PUSH1 0xE0 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x100 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x120 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x140 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x160 DUP7 ADD MSTORE PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x80 PUSH2 0x1E0 DUP7 ADD KECCAK256 MOD PUSH2 0x180 DUP7 ADD MSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH1 0x60 DUP7 ADD MLOAD SUB ADD MOD PUSH2 0x8000 MULMOD PUSH2 0x2A0 DUP4 ADD MSTORE PUSH2 0x7EC PUSH1 0x2 PUSH2 0x280 DUP5 ADD PUSH2 0xC8 JUMP JUMPDEST PUSH2 0x260 DUP3 ADD MLOAD PUSH1 0x1 SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 PUSH2 0x2A0 DUP6 ADD MLOAD MULMOD PUSH2 0x2A0 DUP5 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD DUP4 SUB ADD MOD SWAP1 POP DUP1 PUSH2 0x1A0 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x1A0 DUP7 ADD MLOAD PUSH2 0x320 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2C0 DUP7 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD PUSH2 0x2E0 DUP7 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP3 ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD ADDMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP3 MULMOD SWAP1 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP2 DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP6 ADD SUB MOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP DUP3 PUSH2 0x1C0 DUP7 ADD MSTORE POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP3 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL DUP1 PUSH2 0xBEC JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 MLOAD DUP2 MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC2A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC5A JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xC94 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP3 MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x80 DUP4 PUSH1 0x6 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCC4 JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE DUP5 PUSH1 0x20 DUP3 ADD MSTORE DUP6 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP4 PUSH1 0x60 DUP4 PUSH1 0x7 PUSH2 0x7D0 GAS SUB STATICCALL SWAP2 POP DUP2 PUSH2 0xCFF JUMPI PUSH1 0x0 DUP1 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1E0 DUP3 ADD PUSH2 0xD1A PUSH2 0x1E0 DUP4 ADD DUP3 PUSH2 0xB9B JUMP JUMPDEST PUSH2 0xD2E PUSH2 0x180 DUP5 ADD MLOAD PUSH2 0x220 DUP5 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x220 DUP5 ADD PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xDB6 DUP4 PUSH32 0x73AD9CA0A63BF57AAB7471BE06714E14CB129B3BC1957FB205F02A2DFF20144 PUSH32 0xF0D5954BC5550BB6B8A63158299441A292523E20998BD2EEAF6817B9CF74891 DUP5 PUSH2 0xCCC JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH2 0xE2D DUP4 PUSH32 0x24B75923EF66B5A38313240BF8701E5289F37FF6E54A5D9696C571CD0D7A6F7B PUSH32 0x13F75F7639B17B60C5DC1561CA51E09122443B14FD9B5198A3200CB73C405E74 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x280 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xEA8 DUP4 PUSH32 0xCE90799F564B37F9A7C19587AD4234C46F6AFAD9F4B1FB9277BED47DD9B6A11 PUSH32 0x2BECB27157D1EA8E65712E5A9D3B836536CC95F8FFBE2A9A66259A05B94D8C41 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP7 ADD MLOAD MULMOD SWAP3 POP PUSH2 0xF23 DUP4 PUSH32 0x24D590624AA64D73288CEF9C5C68DDFBC43C288BFEC0EA23A65E3D519DEB4B45 PUSH32 0x2FE2B7A5E3301EC2548B1B9FA04DAFE8BDB129027D89D2FDA93C32B2AC1D6153 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0xC0 DUP6 ADD MLOAD SWAP3 POP PUSH2 0xF76 DUP4 PUSH32 0x2AD72EB4319E5CE1F126C3EE2FB7B07FCACC472B06034BC9B7B00FA5C6DB3DD1 PUSH32 0xBBACFFC38B7A2D2938E833AA0B1BEB2EBE94796EE3EEEAA8CDE99E34B70274E DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH2 0x260 DUP7 ADD MLOAD ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x2 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x3 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2A0 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP4 MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x180 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH2 0x1251 DUP4 PUSH1 0xE0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2C0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x260 DUP6 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x2E0 DUP6 ADD MLOAD PUSH1 0x20 DUP8 ADD MLOAD MULMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x280 DUP6 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x40 DUP7 ADD MLOAD DUP4 ADDMOD SWAP2 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP3 DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0xC0 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x20 DUP7 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH2 0x300 DUP6 ADD MLOAD DUP5 MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x14BB DUP4 PUSH32 0x244C5FC4BD854EE2B3C1B620E013383A9E6DACA6C0BAB14AECD7101ABA922CB6 PUSH32 0x2281748B89DCD5AEAEE8E7B5573D600632E8B7D13619ECA441E770F4862711FF DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x14C9 PUSH2 0x120 DUP6 ADD DUP3 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x80 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x14DF DUP4 PUSH2 0x160 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 DUP5 MULMOD SWAP3 POP PUSH2 0x1514 DUP4 PUSH2 0x1A0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1526 PUSH1 0xE0 DUP7 ADD MLOAD PUSH1 0x20 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x1539 PUSH2 0x100 DUP7 ADD MLOAD PUSH1 0x60 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x154C PUSH2 0x120 DUP7 ADD MLOAD PUSH1 0xA0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x159D PUSH2 0x140 DUP7 ADD MLOAD PUSH32 0x14CE1F304C015A19FE72CCDD0C7B1AAAE908E4FAA13142D0D8D108E2EFA497FD PUSH32 0x1DDF2AC14509D3ED88C5114E806890A074E2A3CF08BD6B406CD4E0C1256D6A5A DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x15ED PUSH2 0x160 DUP7 ADD MLOAD PUSH31 0x701C2A27F6E67A591F1CA598C17621B64AD8830430232895CA68FE3DC5854D PUSH32 0xDC88371D3444A7BBC4F3CB292E69421C549C10B86E8982B67D074006094FE08 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH2 0x1C0 DUP6 ADD MLOAD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xC0 DUP8 ADD MLOAD PUSH2 0x320 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH1 0xE0 DUP8 ADD MLOAD PUSH2 0x260 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x100 DUP8 ADD MLOAD PUSH2 0x280 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x120 DUP8 ADD MLOAD PUSH2 0x2A0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x140 DUP8 ADD MLOAD PUSH2 0x2C0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x160 DUP8 ADD MLOAD PUSH2 0x2E0 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP1 PUSH2 0x180 DUP8 ADD MLOAD PUSH2 0x300 DUP8 ADD MLOAD MULMOD DUP5 ADDMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 DUP4 PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 SUB MOD SWAP3 POP PUSH2 0x17AD DUP4 PUSH1 0x2 PUSH1 0x1 DUP5 PUSH2 0xC61 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MLOAD SWAP3 POP PUSH2 0x17C3 DUP4 PUSH2 0x1E0 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH1 0x60 DUP7 ADD MLOAD PUSH2 0x180 DUP8 ADD MLOAD MULMOD SWAP3 POP PUSH32 0x30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001 PUSH32 0x2D1BA66F5941DC91017171FA69EC2BD0022A2A2D4115A009A93458FD4E26ECFB DUP5 MULMOD SWAP3 POP PUSH2 0x1847 DUP4 PUSH2 0x220 DUP7 ADD DUP4 PUSH2 0xBF2 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1E0 DUP4 ADD MLOAD DUP2 MSTORE PUSH1 0x20 PUSH2 0x1E0 DUP5 ADD ADD MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x1E3B651C96C337F8F6266FADCEF22DC97717B5D44B445A5EF799A6CD3CC564A0 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x10B13ED45E1871FF867A120754DE5BF5C1395AD0078891E1B81F284EF6DF78CA PUSH1 0x60 DUP3 ADD MSTORE PUSH32 0x2B57D40B181C33D7331ACCCE5E5B890345B051C33F74E24AB728B18A3F7B473E PUSH1 0x80 DUP3 ADD MSTORE PUSH32 0x241A20E6FC3BC59485FA2E92365B46BF48742E8FAC0B18859306488928CDCF08 PUSH1 0xA0 DUP3 ADD MSTORE PUSH2 0x220 DUP4 ADD MLOAD PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0x20 PUSH2 0x220 DUP5 ADD ADD MLOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 DUP2 PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD SWAP1 POP DUP1 PUSH1 0xE0 DUP4 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x100 DUP4 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x120 DUP4 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x140 DUP4 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x160 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH2 0x180 DUP5 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL DUP3 MLOAD DUP2 AND SWAP4 POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C0 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x1A2F DUP5 PUSH2 0x206 JUMP JUMPDEST PUSH2 0x1A3A DUP4 DUP3 DUP7 PUSH2 0x27F JUMP JUMPDEST PUSH2 0x1A43 DUP2 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1A4D DUP4 DUP3 PUSH2 0x82A JUMP JUMPDEST PUSH2 0x1A57 DUP2 DUP6 PUSH2 0x88D JUMP JUMPDEST PUSH2 0x1A61 DUP2 DUP6 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1A6B DUP2 DUP6 PUSH2 0xD33 JUMP JUMPDEST PUSH2 0x1A74 DUP2 PUSH2 0x184E JUMP JUMPDEST PUSH2 0x2C0 DUP3 SUB PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1AED DUP3 PUSH2 0x1AA4 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1B0C JUMPI PUSH2 0x1B0B PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B1F PUSH2 0x1A86 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B2B DUP3 DUP3 PUSH2 0x1AE4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4A PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH2 0x1B54 DUP3 PUSH2 0x1AA4 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B83 PUSH2 0x1B7E DUP5 PUSH2 0x1B30 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1B9F JUMPI PUSH2 0x1B9E PUSH2 0x1A9F JUMP JUMPDEST JUMPDEST PUSH2 0x1BAA DUP5 DUP3 DUP6 PUSH2 0x1B61 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1BC7 JUMPI PUSH2 0x1BC6 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1BD7 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1B70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1BFB JUMPI PUSH2 0x1BFA PUSH2 0x1AB5 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C24 DUP2 PUSH2 0x1C11 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C41 DUP2 PUSH2 0x1C1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH2 0x1C55 DUP5 PUSH2 0x1BE0 JUMP JUMPDEST PUSH2 0x1B15 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1C7D JUMPI PUSH2 0x1C7C PUSH2 0x1C0C JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1CA6 JUMPI DUP1 PUSH2 0x1C92 DUP9 DUP3 PUSH2 0x1C32 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1C7F JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1CC5 JUMPI PUSH2 0x1CC4 PUSH2 0x1A9A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1CD5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1C47 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1CF5 JUMPI PUSH2 0x1CF4 PUSH2 0x1A90 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D13 JUMPI PUSH2 0x1D12 PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D1F DUP6 DUP3 DUP7 ADD PUSH2 0x1BB2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D40 JUMPI PUSH2 0x1D3F PUSH2 0x1A95 JUMP JUMPDEST JUMPDEST PUSH2 0x1D4C DUP6 DUP3 DUP7 ADD PUSH2 0x1CB0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D6B DUP2 PUSH2 0x1D56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1D86 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1D62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHL 0xA7 0xF6 DUP13 RETURNDATACOPY 0x2F 0x4F PUSH2 0xE738 0x2B PUSH16 0x72A0FE80914349A958FE8936EA3DB478 SGT CREATE2 0xC2 0xB7 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ","sourceMap":"832:23904:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5183:19551;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;5271:4;5429:724;;;5455:3;5486:1;5521;5548;5583;5601:12;5630:7;5671:334;5679:4;5671:334;;;5730:4;5727:1;5722:13;5710:25;;5784:4;5774:8;5770:19;5767:1;5763:27;5756:34;;5815:4;5811:8;;5847:3;5840:10;;5919:4;5909:8;5905:19;5903:1;5899:26;5892:33;;5951:4;5946:9;;5984:3;5976:11;;5671:334;;;6048:1;6045;6042:8;6039:27;;;6062:1;6060;6053:11;6039:27;6093:1;6090;6086:9;6083:30;;;6109:1;6106;6102:9;6098:13;;6083:30;6138:1;6131:8;;5459:694;;;;;;5429:724;;;;:::o;6395:1517::-;6468:4;6462:11;6540:5;6595:2;6592:1;6588:10;6581:5;6577:22;6652:3;6646:10;6721:2;6716:3;6712:12;6705:19;;6780:7;6826:257;6842:7;6837:3;6834:16;6826:257;;;7007:3;7001:4;6994:17;7063:1;7057:3;7051:10;7046:3;7039:26;7032:33;;6892:2;6886:4;6882:13;6874:21;;6933:2;6928:3;6924:12;6917:19;;6826:257;;;7107:15;7120:1;7115:3;7107:15;:::i;:::-;7100:22;;7284:2;7278:4;7274:13;7266:21;;7397:2;7392:3;7388:12;7381:19;;7428:5;7417:16;;7490:311;7506:7;7501:3;7498:16;7490:311;;;7690:1;7683:4;7677:11;7672:3;7665:27;7658:34;;7744:1;7738:3;7732:10;7727:3;7720:26;7713:33;;7779:3;7774;7767:16;7556:2;7550:4;7546:13;7538:21;;7597:2;7592:3;7588:12;7581:19;;7490:311;;;7894:3;7889;7882:16;6427:1485;;;;;6395:1517;;:::o;7938:162::-;7995:1;7992;7989:8;7979:107;;8031:1;8028;8021:12;8063:4;8061:1;8054:14;7979:107;7938:162;:::o;8126:668::-;8200:3;8191:6;8185:13;8182:23;8172:122;;8239:1;8236;8229:12;8271:4;8269:1;8262:14;8172:122;8311:39;8340:7;8332:6;8328:20;8322:27;8311:39;:::i;:::-;8367;8396:7;8388:6;8384:20;8378:27;8367:39;:::i;:::-;8423;8452:7;8444:6;8440:20;8434:27;8423:39;:::i;:::-;8479:40;8508:8;8500:6;8496:21;8490:28;8479:40;:::i;:::-;8536;8565:8;8557:6;8553:21;8547:28;8536:40;:::i;:::-;8593;8622:8;8614:6;8610:21;8604:28;8593:40;:::i;:::-;8650:39;8679:7;8671:6;8667:20;8661:27;8650:39;:::i;:::-;8126:668;:::o;8820:2828::-;8903:5;8925;9011:2;9002:7;8997:17;8990:25;8983:3;8977:4;8973:15;8965:51;9095:2;9087:6;9082:16;9075:24;9068:3;9062:4;9058:15;9050:50;9169:2;9166;9162:10;9154:6;9149:24;9142:32;9135:3;9129:4;9125:15;9117:58;9244:2;9241;9237:10;9229:6;9224:24;9217:32;9210:3;9204:4;9200:15;9192:58;9319:2;9316;9312:10;9304:6;9299:24;9292:32;9285:3;9279:4;9275:15;9267:58;9394:3;9391:2;9387:11;9379:6;9374:25;9367:33;9360:3;9354:4;9350:15;9342:59;9470:3;9467:2;9463:11;9455:6;9450:25;9443:33;9436:3;9430:4;9426:15;9418:59;9556:1;9550:3;9540:7;9534:4;9530:18;9520:34;9516:42;9511:47;;9602:1;9594:5;9588:4;9584:16;9576:28;9685:1;9680:2;9672:5;9666:4;9662:16;9652:31;9648:39;9639:6;9633:4;9629:17;9621:67;9768:1;9763:2;9758;9750:6;9746:15;9736:30;9732:38;9723:6;9717:4;9713:17;9705:66;9848:1;9842:3;9836;9828:6;9824:16;9814:32;9810:40;9805:45;;9891:1;9885:3;9879:4;9875:14;9867:26;9951:1;9948;9945;9938:15;9928:7;9922:4;9918:18;9910:44;10005:1;10002;9999;9992:15;9988:19;;10058:1;10055;10052;10045:15;10041:19;;10111:1;10108;10105;10098:15;10094:19;;10164:1;10161;10158;10151:15;10147:19;;10217:1;10214;10211;10204:15;10200:19;;10270:1;10267;10264;10257:15;10253:19;;10323:1;10320;10317;10310:15;10306:19;;10376:1;10373;10370;10363:15;10359:19;;10429:1;10426;10423;10416:15;10412:19;;10482:1;10479;10476;10469:15;10465:19;;10535:1;10532;10529;10522:15;10518:19;;10588:1;10585;10582;10575:15;10571:19;;10641:1;10638;10635;10628:15;10624:19;;10694:1;10691;10688;10681:15;10677:19;;10747:1;10744;10741;10734:15;10730:19;;10808:1;10801:4;10795;10791:15;10783:27;10853:1;10849;10846;10843;10839:9;10835:16;10831:24;10827:28;;10896:1;10890:3;10884:4;10880:14;10872:26;10942:1;10933:6;10927:4;10923:17;10915:29;11083:1;11077:3;11067:7;11059:6;11055:20;11045:36;11041:44;11126:2;11120:3;11114:4;11110:14;11102:27;11166:1;11162:2;11158;11151:17;11146:22;;11209:1;11203:3;11197:4;11193:14;11185:26;11247:1;11243:2;11240:1;11233:16;11228:21;;11290:1;11284:3;11278:4;11274:14;11266:26;11328:1;11324:2;11321:1;11314:16;11309:21;;11371:1;11365:3;11359:4;11355:14;11347:26;11409:1;11405:2;11402:1;11395:16;11390:21;;11452:1;11446:3;11440:4;11436:14;11428:26;11490:1;11486:2;11483:1;11476:16;11471:21;;11533:1;11527:3;11521:4;11517:14;11509:26;11631:1;11625:3;11618:4;11610:6;11606:17;11596:33;11592:41;11587:2;11581:4;11577:13;11569:65;8872:2776;;;8820:2828;;;:::o;11674:1173::-;11735:1;12272;12218;12157;12087;12043:3;12037:4;12033:14;12027:21;11986:136;11949:239;11916:329;11888:1;11856:439;11824:8;11818:4;11814:19;11786:527;12381:35;12413:1;12404:6;12398:4;12394:17;12381:35;:::i;:::-;12476:3;12470:4;12466:14;12460:21;12503:1;12498:6;;12739:1;12711:2;12674:8;12668:4;12664:20;12658:27;12626:136;12593:8;12587:4;12583:20;12555:225;11707:1140;;11674:1173;:::o;12873:651::-;12934:1;13396;13351;13268;13230:2;13224:4;13220:13;13214:20;13170:8;13164:4;13160:19;13154:26;13114:185;13080:2;13047:278;13018:356;12993:422;12987:428;;13489:2;13483:3;13477:4;13473:14;13466:26;12906:618;12873:651;;:::o;13538:2196::-;13590:5;13612:6;13635;13785:1;13757:3;13751:4;13747:14;13741:21;13709:7;13701:6;13697:20;13691:27;13663:141;13658:146;;13967:1;13938:5;13932:4;13928:16;13922:23;13890:8;13882:6;13878:21;13872:28;13844:142;13838:148;;14111:1;14080:7;14072:6;14068:20;14062:27;14038:2;14010:120;14004:126;;14268:1;14238:6;14232:4;14228:17;14222:24;14198:2;14170:117;14164:123;;14434:1;14405:5;14399:4;14395:16;14389:23;14357:8;14349:6;14345:21;14339:28;14311:142;14305:148;;14578:1;14547:7;14539:6;14535:20;14529:27;14505:2;14477:120;14471:126;;14735:1;14705:6;14699:4;14695:17;14689:24;14665:2;14637:117;14631:123;;14809:1;14805:2;14801;14794:17;14788:23;;14974:1;14944:6;14938:4;14934:17;14928:24;14897:7;14889:6;14885:20;14879:27;14851:142;14845:148;;15032:1;15028:2;15024;15017:17;15011:23;;15098:1;15086:8;15078:6;15074:21;15068:28;15064:2;15057:43;15051:49;;15160:1;15150:6;15144:4;15140:17;15134:24;15130:2;15123:39;15117:45;;15326:1;15295:6;15289:4;15285:17;15279:24;15246:8;15240:4;15236:19;15230:26;15202:143;15196:149;;15469:1;15438:6;15432:4;15428:17;15422:24;15397:2;15369:119;15363:125;;15527:1;15523:2;15519;15512:17;15506:23;;15592:1;15587:2;15583:1;15580;15576:9;15572:18;15568:26;15563:31;;15652:1;15642:6;15636:4;15632:17;15626:24;15623:1;15616:38;15611:43;;15717:1;15706:7;15700:4;15696:18;15688:31;13572:2162;;;13538:2196;;:::o;15760:132::-;15819:2;15813:9;15809:2;15802:21;15873:2;15870;15866:10;15860:17;15855:2;15851;15847:11;15840:38;15760:132;;:::o;15906:498::-;15965:4;15959:11;16005:2;15999:9;15994:3;15987:22;16060:2;16056;16052:11;16046:18;16041:2;16037:3;16033:11;16026:39;16108:2;16102:9;16097:2;16093:3;16089:11;16082:30;16163:2;16159;16155:11;16149:18;16144:2;16140:3;16136:11;16129:39;16247:2;16243;16238:3;16233;16230:1;16223:4;16216:5;16212:16;16201:49;16294:7;16284:106;;16335:1;16332;16325:12;16367:4;16365:1;16358:14;16284:106;15930:474;;15906:498;;:::o;16418:819::-;16466:11;16511:4;16505:11;16551:2;16545:9;16540:3;16533:22;16606:2;16602;16598:11;16592:18;16587:2;16583:3;16579:11;16572:39;16648:1;16643:2;16639:3;16635:11;16628:22;16725:2;16720:3;16716:2;16711:3;16708:1;16701:4;16694:5;16690:16;16679:49;16668:60;;16772:7;16762:106;;16813:1;16810;16803:12;16845:4;16843:1;16836:14;16762:106;16928:2;16922:9;16917:2;16913:3;16909:11;16902:30;16983:2;16979;16975:11;16969:18;16964:2;16960:3;16956:11;16949:39;17063:2;17059;17054:3;17049;17046:1;17039:4;17032:5;17028:16;17017:49;17006:60;;17110:7;17100:106;;17151:1;17148;17141:12;17183:4;17181:1;17174:14;17100:106;16448:789;;16418:819;;;:::o;17251:780::-;17302:11;17347:4;17341:11;17381:1;17376:3;17369:14;17420:1;17415:2;17411:3;17407:11;17400:22;17459:1;17454:2;17450:3;17446:11;17439:22;17536:2;17531:3;17527:2;17522:3;17519:1;17512:4;17505:5;17501:16;17490:49;17479:60;;17583:7;17573:106;;17624:1;17621;17614:12;17656:4;17654:1;17647:14;17573:106;17739:2;17733:9;17728:2;17724:3;17720:11;17713:30;17794:2;17790;17786:11;17780:18;17775:2;17771:3;17767:11;17760:39;17874:2;17870;17865:3;17860;17857:1;17850:4;17843:5;17839:16;17828:49;17817:60;;17921:7;17911:106;;17962:1;17959;17952:12;17994:4;17992:1;17985:14;17911:106;17284:747;;17251:780;;;;:::o;18045:441::-;18096:11;18141:4;18135:11;18175:1;18170:3;18163:14;18214:1;18209:2;18205:3;18201:11;18194:22;18253:1;18248:2;18244:3;18240:11;18233:22;18329:2;18325;18321;18316:3;18313:1;18306:4;18299:5;18295:16;18284:48;18273:59;;18376:7;18366:106;;18417:1;18414;18407:12;18449:4;18447:1;18440:14;18366:106;18078:408;;18045:441;;;;:::o;18501:206::-;18573:3;18567:4;18563:14;18594:28;18616:4;18608:6;18604:17;18601:1;18594:28;:::i;:::-;18639:54;18688:2;18682:4;18678:13;18672:20;18664:5;18656:6;18652:18;18649:1;18639:54;:::i;:::-;18536:171;18501:206;;:::o;18746:4478::-;18799:5;18821:6;18863:3;18857:4;18853:14;18997:1;18990:3;18984:4;18980:14;18974:21;18963:7;18955:6;18951:20;18945:27;18937:62;18932:67;;19016:26;19040:1;19035:3;19030;19027:1;19016:26;:::i;:::-;19105:1;19094:7;19086:6;19082:20;19076:27;19073:1;19065:42;19060:47;;19140:26;19164:1;19159:3;19154;19151:1;19140:26;:::i;:::-;19249:1;19242:3;19236:4;19232:14;19226:21;19215:7;19207:6;19203:20;19197:27;19189:62;19184:67;;19268:26;19292:1;19287:3;19282;19279:1;19268:26;:::i;:::-;19393:1;19386:3;19380:4;19376:14;19370:21;19359:7;19351:6;19347:20;19341:27;19333:62;19328:67;;19412:26;19436:1;19431:3;19426;19423:1;19412:26;:::i;:::-;19476:3;19470:4;19466:14;19460:21;19456:25;;19498:26;19522:1;19517:3;19512;19509:1;19498:26;:::i;:::-;19610:1;19599:7;19593:4;19589:18;19583:25;19572:7;19564:6;19560:20;19554:27;19547:65;19542:70;;19670:1;19660:6;19654:4;19650:17;19644:24;19641:1;19634:38;19629:43;;19733:1;19722:7;19716:4;19712:18;19706:25;19702:2;19695:40;19689:46;;19798:1;19787:7;19779:6;19775:20;19769:27;19765:2;19758:42;19752:48;;19860:1;19850:6;19844:4;19840:17;19834:24;19830:2;19823:39;19817:45;;19898:1;19894:2;19891:1;19884:16;19879:21;;19961:1;19950:7;19944:4;19940:18;19934:25;19930:2;19923:40;19917:46;;20026:1;20015:7;20007:6;20003:20;19997:27;19993:2;19986:42;19980:48;;20088:1;20078:6;20072:4;20068:17;20062:24;20058:2;20051:39;20045:45;;20126:1;20122:2;20119:1;20112:16;20107:21;;20186:1;20176:6;20170:4;20166:17;20160:24;20157:1;20150:38;20145:43;;20243:1;20236:3;20230:4;20226:14;20220:21;20217:1;20210:35;20205:40;;20329:1;20319:6;20313:4;20309:17;20303:24;20291:8;20285:4;20281:19;20275:26;20268:63;20262:69;;20391:1;20381:6;20375:4;20371:17;20365:24;20361:2;20354:39;20348:45;;20450:1;20443:3;20437:4;20433:14;20427:21;20423:2;20416:36;20410:42;;20488:1;20484:2;20481:1;20474:16;20469:21;;20544:1;20538:2;20532:4;20528:13;20522:20;20519:1;20512:34;20507:39;;20563:32;20593:1;20588:2;20580:6;20576:15;20573:1;20563:32;:::i;:::-;20696:1;20684:8;20676:6;20672:21;20666:28;20657:5;20651:4;20647:16;20641:23;20634:64;20629:69;;20759:1;20748:7;20740:6;20736:20;20730:27;20727:1;20720:41;20715:46;;20819:1;20809:6;20803:4;20799:17;20793:24;20790:1;20783:38;20778:43;;20906:1;20894:8;20886:6;20882:21;20876:28;20867:5;20861:4;20857:16;20851:23;20844:64;20838:70;;20971:1;20960:7;20952:6;20948:20;20942:27;20938:2;20931:42;20925:48;;21033:1;21023:6;21017:4;21013:17;21007:24;21003:2;20996:39;20990:45;;21071:1;21067:2;21064:1;21057:16;21052:21;;21131:1;21121:6;21115:4;21111:17;21105:24;21102:1;21095:38;21090:43;;21188:1;21181:3;21175:4;21171:14;21165:21;21162:1;21155:35;21150:40;;21247:1;21238:5;21232:4;21228:16;21222:23;21219:1;21212:37;21207:42;;21311:1;21299:8;21291:6;21287:21;21281:28;21278:1;21271:42;21266:47;;21350:1;21346;21343;21339:9;21335:17;21330:22;;21369:26;21393:1;21388:3;21383;21380:1;21369:26;:::i;:::-;21445:28;21468:3;21460:6;21456:16;21452:1;21445:28;:::i;:::-;21512:4;21506;21502:15;21496:22;21491:27;;21535:33;21566:1;21560:3;21552:6;21548:16;21545:1;21535:33;:::i;:::-;21620:1;21617;21614;21607:15;21602:20;;21639:33;21670:1;21664:3;21656:6;21652:16;21649:1;21639:33;:::i;:::-;21706:52;21752:3;21746:4;21742:14;21736:21;21731:2;21723:6;21719:15;21716:1;21706:52;:::i;:::-;21775;21821:3;21815:4;21811:14;21805:21;21800:2;21792:6;21788:15;21785:1;21775:52;:::i;:::-;21844;21890:3;21884:4;21880:14;21874:21;21869:2;21861:6;21857:15;21854:1;21844:52;:::i;:::-;21913:46;21953:3;21947:4;21943:14;21937:21;21932:3;21927;21924:1;21913:46;:::i;:::-;21976;22016:3;22010:4;22006:14;22000:21;21995:3;21990;21987:1;21976:46;:::i;:::-;22108:7;22102:4;22098:18;22092:25;22087:30;;22212:1;22208;22201:3;22195:4;22191:14;22185:21;22174:7;22166:6;22162:20;22156:27;22149:61;22146:1;22139:75;22134:80;;22309:1;22305;22298:3;22292:4;22288:14;22282:21;22271:7;22263:6;22259:20;22253:27;22246:61;22243:1;22236:75;22231:80;;22406:1;22402;22395:3;22389:4;22385:14;22379:21;22368:7;22360:6;22356:20;22350:27;22343:61;22340:1;22333:75;22328:80;;22503:1;22499;22492:3;22486:4;22482:14;22476:21;22465:7;22457:6;22453:20;22447:27;22440:61;22437:1;22430:75;22425:80;;22601:1;22597;22590:3;22584:4;22580:14;22574:21;22562:8;22554:6;22550:21;22544:28;22537:62;22534:1;22527:76;22522:81;;22699:1;22695;22688:3;22682:4;22678:14;22672:21;22660:8;22652:6;22648:21;22642:28;22635:62;22632:1;22625:76;22620:81;;22796:1;22792;22786:2;22780:4;22776:13;22770:20;22758:8;22750:6;22746:21;22740:28;22733:61;22730:1;22723:75;22718:80;;22835:1;22831;22828;22824:9;22820:17;22815:22;;22854:26;22878:1;22873:3;22868;22865:1;22854:26;:::i;:::-;22986:3;22980:4;22976:14;22970:21;22965:26;;23008:34;23040:1;23033:4;23025:6;23021:17;23018:1;23008:34;:::i;:::-;23117:1;23110:3;23104:4;23100:14;23094:21;23088:2;23082:4;23078:13;23072:20;23065:54;23060:59;;23155:1;23151:2;23148:1;23141:16;23136:21;;23174:35;23207:1;23199:5;23191:6;23187:18;23184:1;23174:35;:::i;:::-;18781:4443;;;18746:4478;;:::o;23250:915::-;23281:4;23321;23315:11;23371:3;23365:4;23361:14;23355:21;23350:3;23343:34;23440:2;23434:3;23428:4;23424:14;23420:23;23414:30;23409:2;23405:3;23401:11;23394:51;23482:4;23477:2;23473:3;23469:11;23462:25;23524:4;23519:2;23515:3;23511:11;23504:25;23567:4;23561:3;23557;23553:12;23546:26;23610:4;23604:3;23600;23596:12;23589:26;23669:3;23663:4;23659:14;23653:21;23647:3;23643;23639:12;23632:43;23727:2;23721:3;23715:4;23711:14;23707:23;23701:30;23769:2;23765:1;23761:2;23757:10;23753:19;23748:24;;23810:1;23804:3;23800;23796:12;23789:23;23850:4;23844:3;23840;23836:12;23829:26;23893:4;23887:3;23883;23879:12;23872:26;23936:4;23930:3;23926;23922:12;23915:26;23979:4;23973:3;23969;23965:12;23958:26;24080:4;24075:3;24070;24065;24062:1;24055:4;24048:5;24044:16;24033:52;24146:3;24140:10;24131:7;24127:24;24119:32;;23286:879;;;23250:915;;;:::o;:::-;24209:4;24203:11;24250:7;24244:4;24240:18;24234:4;24227:32;24285:17;24296:5;24285:17;:::i;:::-;24315:44;24348:10;24342:4;24335:5;24315:44;:::i;:::-;24372:23;24390:4;24372:23;:::i;:::-;24408:29;24426:10;24420:4;24408:29;:::i;:::-;24450:23;24468:4;24461:5;24450:23;:::i;:::-;24486:24;24505:4;24498:5;24486:24;:::i;:::-;24523;24542:4;24535:5;24523:24;:::i;:::-;24575:18;24588:4;24575:18;:::i;:::-;24642:7;24636:4;24632:18;24626:4;24619:32;24674:7;24671:1;24664:18;24704:4;24702:1;24695:14;7:75:9;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:307::-;1357:4;1447:18;1439:6;1436:30;1433:56;;;1469:18;;:::i;:::-;1433:56;1507:29;1529:6;1507:29;:::i;:::-;1499:37;;1591:4;1585;1581:15;1573:23;;1296:307;;;:::o;1609:146::-;1706:6;1701:3;1696;1683:30;1747:1;1738:6;1733:3;1729:16;1722:27;1609:146;;;:::o;1761:423::-;1838:5;1863:65;1879:48;1920:6;1879:48;:::i;:::-;1863:65;:::i;:::-;1854:74;;1951:6;1944:5;1937:21;1989:4;1982:5;1978:16;2027:3;2018:6;2013:3;2009:16;2006:25;2003:112;;;2034:79;;:::i;:::-;2003:112;2124:54;2171:6;2166:3;2161;2124:54;:::i;:::-;1844:340;1761:423;;;;;:::o;2203:338::-;2258:5;2307:3;2300:4;2292:6;2288:17;2284:27;2274:122;;2315:79;;:::i;:::-;2274:122;2432:6;2419:20;2457:78;2531:3;2523:6;2516:4;2508:6;2504:17;2457:78;:::i;:::-;2448:87;;2264:277;2203:338;;;;:::o;2547:311::-;2624:4;2714:18;2706:6;2703:30;2700:56;;;2736:18;;:::i;:::-;2700:56;2786:4;2778:6;2774:17;2766:25;;2846:4;2840;2836:15;2828:23;;2547:311;;;:::o;2864:117::-;2973:1;2970;2963:12;2987:77;3024:7;3053:5;3042:16;;2987:77;;;:::o;3070:122::-;3143:24;3161:5;3143:24;:::i;:::-;3136:5;3133:35;3123:63;;3182:1;3179;3172:12;3123:63;3070:122;:::o;3198:139::-;3244:5;3282:6;3269:20;3260:29;;3298:33;3325:5;3298:33;:::i;:::-;3198:139;;;;:::o;3360:710::-;3456:5;3481:81;3497:64;3554:6;3497:64;:::i;:::-;3481:81;:::i;:::-;3472:90;;3582:5;3611:6;3604:5;3597:21;3645:4;3638:5;3634:16;3627:23;;3698:4;3690:6;3686:17;3678:6;3674:30;3727:3;3719:6;3716:15;3713:122;;;3746:79;;:::i;:::-;3713:122;3861:6;3844:220;3878:6;3873:3;3870:15;3844:220;;;3953:3;3982:37;4015:3;4003:10;3982:37;:::i;:::-;3977:3;3970:50;4049:4;4044:3;4040:14;4033:21;;3920:144;3904:4;3899:3;3895:14;3888:21;;3844:220;;;3848:21;3462:608;;3360:710;;;;;:::o;4093:370::-;4164:5;4213:3;4206:4;4198:6;4194:17;4190:27;4180:122;;4221:79;;:::i;:::-;4180:122;4338:6;4325:20;4363:94;4453:3;4445:6;4438:4;4430:6;4426:17;4363:94;:::i;:::-;4354:103;;4170:293;4093:370;;;;:::o;4469:862::-;4571:6;4579;4628:2;4616:9;4607:7;4603:23;4599:32;4596:119;;;4634:79;;:::i;:::-;4596:119;4782:1;4771:9;4767:17;4754:31;4812:18;4804:6;4801:30;4798:117;;;4834:79;;:::i;:::-;4798:117;4939:62;4993:7;4984:6;4973:9;4969:22;4939:62;:::i;:::-;4929:72;;4725:286;5078:2;5067:9;5063:18;5050:32;5109:18;5101:6;5098:30;5095:117;;;5131:79;;:::i;:::-;5095:117;5236:78;5306:7;5297:6;5286:9;5282:22;5236:78;:::i;:::-;5226:88;;5021:303;4469:862;;;;;:::o;5337:90::-;5371:7;5414:5;5407:13;5400:21;5389:32;;5337:90;;;:::o;5433:109::-;5514:21;5529:5;5514:21;:::i;:::-;5509:3;5502:34;5433:109;;:::o;5548:210::-;5635:4;5673:2;5662:9;5658:18;5650:26;;5686:65;5748:1;5737:9;5733:17;5724:6;5686:65;:::i;:::-;5548:210;;;;:::o"},"methodIdentifiers":{"verifyProof(bytes,uint256[])":"1e8e1e13"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"pubSignals\",\"type\":\"uint256[]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/workstep3Verifier.sol\":\"PlonkVerifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/workstep3Verifier.sol\":{\"keccak256\":\"0x68efae25d205284adca1e3641032414aa14bf116a223ac2dba555273677f022c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0fd611a09de61d2f0ebc6a2ce3055b845ccdd262f3cae32ac00436122f5362dc\",\"dweb:/ipfs/QmTVGwvpBsVuTtQ45BrLUvjoy2LCxycLQEdADXTZc1JfVK\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/examples/bri-3/ccsmArtifacts/contracts/CcsmBpiStateAnchor.sol/CcsmBpiStateAnchor.dbg.json b/examples/bri-3/ccsmArtifacts/contracts/CcsmBpiStateAnchor.sol/CcsmBpiStateAnchor.dbg.json new file mode 100644 index 000000000..046dddea8 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/contracts/CcsmBpiStateAnchor.sol/CcsmBpiStateAnchor.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/189c1ee8bdf5b684eaab5cd99ba5c880.json" +} diff --git a/examples/bri-3/ccsmArtifacts/contracts/CcsmBpiStateAnchor.sol/CcsmBpiStateAnchor.json b/examples/bri-3/ccsmArtifacts/contracts/CcsmBpiStateAnchor.sol/CcsmBpiStateAnchor.json new file mode 100644 index 000000000..fe799fbf5 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/contracts/CcsmBpiStateAnchor.sol/CcsmBpiStateAnchor.json @@ -0,0 +1,335 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "CcsmBpiStateAnchor", + "sourceName": "contracts/CcsmBpiStateAnchor.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address[]", + "name": "admins", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AccessControlBadConfirmation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "neededRole", + "type": "bytes32" + } + ], + "name": "AccessControlUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "string", + "name": "workstepInstanceId", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "anchorHash", + "type": "string" + } + ], + "name": "AnchorHashSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "anchorHashStore", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_workstepInstanceId", + "type": "string" + } + ], + "name": "getAnchorHash", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "callerConfirmation", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_workstepInstanceId", + "type": "string" + }, + { + "internalType": "string", + "name": "_anchorHash", + "type": "string" + } + ], + "name": "setAnchorHash", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b5060405162001b1c38038062001b1c833981810160405281019062000037919062000423565b6200004c6000801b33620000c060201b60201c565b5060005b8151811015620000b857620000a97fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177583838151811062000095576200009462000474565b5b6020026020010151620000c060201b60201c565b50808060010191505062000050565b5050620004a3565b6000620000d48383620001c360201b60201c565b620001b857600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001546200022d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050620001bd565b600090505b92915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000299826200024e565b810181811067ffffffffffffffff82111715620002bb57620002ba6200025f565b5b80604052505050565b6000620002d062000235565b9050620002de82826200028e565b919050565b600067ffffffffffffffff8211156200030157620003006200025f565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003448262000317565b9050919050565b620003568162000337565b81146200036257600080fd5b50565b60008151905062000376816200034b565b92915050565b6000620003936200038d84620002e3565b620002c4565b90508083825260208201905060208402830185811115620003b957620003b862000312565b5b835b81811015620003e65780620003d1888262000365565b845260208401935050602081019050620003bb565b5050509392505050565b600082601f83011262000408576200040762000249565b5b81516200041a8482602086016200037c565b91505092915050565b6000602082840312156200043c576200043b6200023f565b5b600082015167ffffffffffffffff8111156200045d576200045c62000244565b5b6200046b84828501620003f0565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61166980620004b36000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063513ec2f811610071578063513ec2f81461016257806375b238fc14610192578063890f10a0146101b057806391d14854146101e0578063a217fddf14610210578063d547741f1461022e576100a9565b806301ffc9a7146100ae578063248a9ca3146100de5780632588cd551461010e5780632f2ff15d1461012a57806336568abe14610146575b600080fd5b6100c860048036038101906100c39190610ad0565b61024a565b6040516100d59190610b18565b60405180910390f35b6100f860048036038101906100f39190610b69565b6102c4565b6040516101059190610ba5565b60405180910390f35b61012860048036038101906101239190610c25565b6102e3565b005b610144600480360381019061013f9190610d04565b6104ed565b005b610160600480360381019061015b9190610d04565b61050f565b005b61017c60048036038101906101779190610e85565b61058a565b6040516101899190610f4d565b60405180910390f35b61019a610640565b6040516101a79190610ba5565b60405180910390f35b6101ca60048036038101906101c59190610f6f565b610664565b6040516101d79190610f4d565b60405180910390f35b6101fa60048036038101906101f59190610d04565b610717565b6040516102079190610b18565b60405180910390f35b610218610781565b6040516102259190610ba5565b60405180910390f35b61024860048036038101906102439190610d04565b610788565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806102bd57506102bc826107aa565b5b9050919050565b6000806000838152602001908152602001600020600101549050919050565b61030d7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610717565b61034c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103439061102e565b60405180910390fd5b60008484905011610392576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610389906110c0565b60405180910390fd5b602884849050106103d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cf90611152565b60405180910390fd5b6000828290501161041e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610415906111be565b60405180910390fd5b610100828290501115610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611250565b60405180910390fd5b81816001868660405161047a9291906112a0565b908152602001604051809103902091826104959291906114da565b5083836040516104a69291906112a0565b60405180910390207f6468084a45bfadcd3a84169a78a1a25c53317fc97f185e4037e0696cfc913ccc83836040516104df9291906115d7565b60405180910390a250505050565b6104f6826102c4565b6104ff81610814565b6105098383610828565b50505050565b610517610919565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461057b576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105858282610921565b505050565b60018180516020810182018051848252602083016020850120818352809550505050505060009150905080546105bf906112f3565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb906112f3565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b505050505081565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6060600183836040516106789291906112a0565b90815260200160405180910390208054610691906112f3565b80601f01602080910402602001604051908101604052809291908181526020018280546106bd906112f3565b801561070a5780601f106106df5761010080835404028352916020019161070a565b820191906000526020600020905b8154815290600101906020018083116106ed57829003601f168201915b5050505050905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b610791826102c4565b61079a81610814565b6107a48383610921565b50505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61082581610820610919565b610a13565b50565b60006108348383610717565b61090e57600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506108ab610919565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610913565b600090505b92915050565b600033905090565b600061092d8383610717565b15610a0857600080600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506109a5610919565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050610a0d565b600090505b92915050565b610a1d8282610717565b610a605780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401610a5792919061160a565b60405180910390fd5b5050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610aad81610a78565b8114610ab857600080fd5b50565b600081359050610aca81610aa4565b92915050565b600060208284031215610ae657610ae5610a6e565b5b6000610af484828501610abb565b91505092915050565b60008115159050919050565b610b1281610afd565b82525050565b6000602082019050610b2d6000830184610b09565b92915050565b6000819050919050565b610b4681610b33565b8114610b5157600080fd5b50565b600081359050610b6381610b3d565b92915050565b600060208284031215610b7f57610b7e610a6e565b5b6000610b8d84828501610b54565b91505092915050565b610b9f81610b33565b82525050565b6000602082019050610bba6000830184610b96565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610be557610be4610bc0565b5b8235905067ffffffffffffffff811115610c0257610c01610bc5565b5b602083019150836001820283011115610c1e57610c1d610bca565b5b9250929050565b60008060008060408587031215610c3f57610c3e610a6e565b5b600085013567ffffffffffffffff811115610c5d57610c5c610a73565b5b610c6987828801610bcf565b9450945050602085013567ffffffffffffffff811115610c8c57610c8b610a73565b5b610c9887828801610bcf565b925092505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cd182610ca6565b9050919050565b610ce181610cc6565b8114610cec57600080fd5b50565b600081359050610cfe81610cd8565b92915050565b60008060408385031215610d1b57610d1a610a6e565b5b6000610d2985828601610b54565b9250506020610d3a85828601610cef565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610d9282610d49565b810181811067ffffffffffffffff82111715610db157610db0610d5a565b5b80604052505050565b6000610dc4610a64565b9050610dd08282610d89565b919050565b600067ffffffffffffffff821115610df057610def610d5a565b5b610df982610d49565b9050602081019050919050565b82818337600083830152505050565b6000610e28610e2384610dd5565b610dba565b905082815260208101848484011115610e4457610e43610d44565b5b610e4f848285610e06565b509392505050565b600082601f830112610e6c57610e6b610bc0565b5b8135610e7c848260208601610e15565b91505092915050565b600060208284031215610e9b57610e9a610a6e565b5b600082013567ffffffffffffffff811115610eb957610eb8610a73565b5b610ec584828501610e57565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f08578082015181840152602081019050610eed565b60008484015250505050565b6000610f1f82610ece565b610f298185610ed9565b9350610f39818560208601610eea565b610f4281610d49565b840191505092915050565b60006020820190508181036000830152610f678184610f14565b905092915050565b60008060208385031215610f8657610f85610a6e565b5b600083013567ffffffffffffffff811115610fa457610fa3610a73565b5b610fb085828601610bcf565b92509250509250929050565b7f4f6e6c792061646d696e2063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611018602183610ed9565b915061102382610fbc565b604082019050919050565b600060208201905081810360008301526110478161100b565b9050919050565b7f576f726b73746570496e7374616e636549642063616e6e6f7420626520656d7060008201527f7479000000000000000000000000000000000000000000000000000000000000602082015250565b60006110aa602283610ed9565b91506110b58261104e565b604082019050919050565b600060208201905081810360008301526110d98161109d565b9050919050565b7f576f726b73746570496e7374616e636549642063616e6e6f742065786365656460008201527f2034302062797465730000000000000000000000000000000000000000000000602082015250565b600061113c602983610ed9565b9150611147826110e0565b604082019050919050565b6000602082019050818103600083015261116b8161112f565b9050919050565b7f416e63686f72486173682063616e6e6f7420626520656d707479000000000000600082015250565b60006111a8601a83610ed9565b91506111b382611172565b602082019050919050565b600060208201905081810360008301526111d78161119b565b9050919050565b7f416e63686f72486173682063616e6e6f7420657863656564203235362062797460008201527f6573000000000000000000000000000000000000000000000000000000000000602082015250565b600061123a602283610ed9565b9150611245826111de565b604082019050919050565b600060208201905081810360008301526112698161122d565b9050919050565b600081905092915050565b60006112878385611270565b9350611294838584610e06565b82840190509392505050565b60006112ad82848661127b565b91508190509392505050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061130b57607f821691505b60208210810361131e5761131d6112c4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611349565b6113908683611349565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006113d76113d26113cd846113a8565b6113b2565b6113a8565b9050919050565b6000819050919050565b6113f1836113bc565b6114056113fd826113de565b848454611356565b825550505050565b600090565b61141a61140d565b6114258184846113e8565b505050565b5b818110156114495761143e600082611412565b60018101905061142b565b5050565b601f82111561148e5761145f81611324565b61146884611339565b81016020851015611477578190505b61148b61148385611339565b83018261142a565b50505b505050565b600082821c905092915050565b60006114b160001984600802611493565b1980831691505092915050565b60006114ca83836114a0565b9150826002028217905092915050565b6114e483836112b9565b67ffffffffffffffff8111156114fd576114fc610d5a565b5b61150782546112f3565b61151282828561144d565b6000601f831160018114611541576000841561152f578287013590505b61153985826114be565b8655506115a1565b601f19841661154f86611324565b60005b8281101561157757848901358255600182019150602085019450602081019050611552565b868310156115945784890135611590601f8916826114a0565b8355505b6001600288020188555050505b50505050505050565b60006115b68385610ed9565b93506115c3838584610e06565b6115cc83610d49565b840190509392505050565b600060208201905081810360008301526115f28184866115aa565b90509392505050565b61160481610cc6565b82525050565b600060408201905061161f60008301856115fb565b61162c6020830184610b96565b939250505056fea2646970667358221220ece41f4fa00767e1dea402f3499f4b298bfa454644d4625eec00bbad9d616b2d64736f6c63430008180033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063513ec2f811610071578063513ec2f81461016257806375b238fc14610192578063890f10a0146101b057806391d14854146101e0578063a217fddf14610210578063d547741f1461022e576100a9565b806301ffc9a7146100ae578063248a9ca3146100de5780632588cd551461010e5780632f2ff15d1461012a57806336568abe14610146575b600080fd5b6100c860048036038101906100c39190610ad0565b61024a565b6040516100d59190610b18565b60405180910390f35b6100f860048036038101906100f39190610b69565b6102c4565b6040516101059190610ba5565b60405180910390f35b61012860048036038101906101239190610c25565b6102e3565b005b610144600480360381019061013f9190610d04565b6104ed565b005b610160600480360381019061015b9190610d04565b61050f565b005b61017c60048036038101906101779190610e85565b61058a565b6040516101899190610f4d565b60405180910390f35b61019a610640565b6040516101a79190610ba5565b60405180910390f35b6101ca60048036038101906101c59190610f6f565b610664565b6040516101d79190610f4d565b60405180910390f35b6101fa60048036038101906101f59190610d04565b610717565b6040516102079190610b18565b60405180910390f35b610218610781565b6040516102259190610ba5565b60405180910390f35b61024860048036038101906102439190610d04565b610788565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806102bd57506102bc826107aa565b5b9050919050565b6000806000838152602001908152602001600020600101549050919050565b61030d7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610717565b61034c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103439061102e565b60405180910390fd5b60008484905011610392576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610389906110c0565b60405180910390fd5b602884849050106103d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cf90611152565b60405180910390fd5b6000828290501161041e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610415906111be565b60405180910390fd5b610100828290501115610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611250565b60405180910390fd5b81816001868660405161047a9291906112a0565b908152602001604051809103902091826104959291906114da565b5083836040516104a69291906112a0565b60405180910390207f6468084a45bfadcd3a84169a78a1a25c53317fc97f185e4037e0696cfc913ccc83836040516104df9291906115d7565b60405180910390a250505050565b6104f6826102c4565b6104ff81610814565b6105098383610828565b50505050565b610517610919565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461057b576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105858282610921565b505050565b60018180516020810182018051848252602083016020850120818352809550505050505060009150905080546105bf906112f3565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb906112f3565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b505050505081565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6060600183836040516106789291906112a0565b90815260200160405180910390208054610691906112f3565b80601f01602080910402602001604051908101604052809291908181526020018280546106bd906112f3565b801561070a5780601f106106df5761010080835404028352916020019161070a565b820191906000526020600020905b8154815290600101906020018083116106ed57829003601f168201915b5050505050905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b610791826102c4565b61079a81610814565b6107a48383610921565b50505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61082581610820610919565b610a13565b50565b60006108348383610717565b61090e57600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506108ab610919565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610913565b600090505b92915050565b600033905090565b600061092d8383610717565b15610a0857600080600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506109a5610919565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050610a0d565b600090505b92915050565b610a1d8282610717565b610a605780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401610a5792919061160a565b60405180910390fd5b5050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610aad81610a78565b8114610ab857600080fd5b50565b600081359050610aca81610aa4565b92915050565b600060208284031215610ae657610ae5610a6e565b5b6000610af484828501610abb565b91505092915050565b60008115159050919050565b610b1281610afd565b82525050565b6000602082019050610b2d6000830184610b09565b92915050565b6000819050919050565b610b4681610b33565b8114610b5157600080fd5b50565b600081359050610b6381610b3d565b92915050565b600060208284031215610b7f57610b7e610a6e565b5b6000610b8d84828501610b54565b91505092915050565b610b9f81610b33565b82525050565b6000602082019050610bba6000830184610b96565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610be557610be4610bc0565b5b8235905067ffffffffffffffff811115610c0257610c01610bc5565b5b602083019150836001820283011115610c1e57610c1d610bca565b5b9250929050565b60008060008060408587031215610c3f57610c3e610a6e565b5b600085013567ffffffffffffffff811115610c5d57610c5c610a73565b5b610c6987828801610bcf565b9450945050602085013567ffffffffffffffff811115610c8c57610c8b610a73565b5b610c9887828801610bcf565b925092505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cd182610ca6565b9050919050565b610ce181610cc6565b8114610cec57600080fd5b50565b600081359050610cfe81610cd8565b92915050565b60008060408385031215610d1b57610d1a610a6e565b5b6000610d2985828601610b54565b9250506020610d3a85828601610cef565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610d9282610d49565b810181811067ffffffffffffffff82111715610db157610db0610d5a565b5b80604052505050565b6000610dc4610a64565b9050610dd08282610d89565b919050565b600067ffffffffffffffff821115610df057610def610d5a565b5b610df982610d49565b9050602081019050919050565b82818337600083830152505050565b6000610e28610e2384610dd5565b610dba565b905082815260208101848484011115610e4457610e43610d44565b5b610e4f848285610e06565b509392505050565b600082601f830112610e6c57610e6b610bc0565b5b8135610e7c848260208601610e15565b91505092915050565b600060208284031215610e9b57610e9a610a6e565b5b600082013567ffffffffffffffff811115610eb957610eb8610a73565b5b610ec584828501610e57565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f08578082015181840152602081019050610eed565b60008484015250505050565b6000610f1f82610ece565b610f298185610ed9565b9350610f39818560208601610eea565b610f4281610d49565b840191505092915050565b60006020820190508181036000830152610f678184610f14565b905092915050565b60008060208385031215610f8657610f85610a6e565b5b600083013567ffffffffffffffff811115610fa457610fa3610a73565b5b610fb085828601610bcf565b92509250509250929050565b7f4f6e6c792061646d696e2063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611018602183610ed9565b915061102382610fbc565b604082019050919050565b600060208201905081810360008301526110478161100b565b9050919050565b7f576f726b73746570496e7374616e636549642063616e6e6f7420626520656d7060008201527f7479000000000000000000000000000000000000000000000000000000000000602082015250565b60006110aa602283610ed9565b91506110b58261104e565b604082019050919050565b600060208201905081810360008301526110d98161109d565b9050919050565b7f576f726b73746570496e7374616e636549642063616e6e6f742065786365656460008201527f2034302062797465730000000000000000000000000000000000000000000000602082015250565b600061113c602983610ed9565b9150611147826110e0565b604082019050919050565b6000602082019050818103600083015261116b8161112f565b9050919050565b7f416e63686f72486173682063616e6e6f7420626520656d707479000000000000600082015250565b60006111a8601a83610ed9565b91506111b382611172565b602082019050919050565b600060208201905081810360008301526111d78161119b565b9050919050565b7f416e63686f72486173682063616e6e6f7420657863656564203235362062797460008201527f6573000000000000000000000000000000000000000000000000000000000000602082015250565b600061123a602283610ed9565b9150611245826111de565b604082019050919050565b600060208201905081810360008301526112698161122d565b9050919050565b600081905092915050565b60006112878385611270565b9350611294838584610e06565b82840190509392505050565b60006112ad82848661127b565b91508190509392505050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061130b57607f821691505b60208210810361131e5761131d6112c4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611349565b6113908683611349565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006113d76113d26113cd846113a8565b6113b2565b6113a8565b9050919050565b6000819050919050565b6113f1836113bc565b6114056113fd826113de565b848454611356565b825550505050565b600090565b61141a61140d565b6114258184846113e8565b505050565b5b818110156114495761143e600082611412565b60018101905061142b565b5050565b601f82111561148e5761145f81611324565b61146884611339565b81016020851015611477578190505b61148b61148385611339565b83018261142a565b50505b505050565b600082821c905092915050565b60006114b160001984600802611493565b1980831691505092915050565b60006114ca83836114a0565b9150826002028217905092915050565b6114e483836112b9565b67ffffffffffffffff8111156114fd576114fc610d5a565b5b61150782546112f3565b61151282828561144d565b6000601f831160018114611541576000841561152f578287013590505b61153985826114be565b8655506115a1565b601f19841661154f86611324565b60005b8281101561157757848901358255600182019150602085019450602081019050611552565b868310156115945784890135611590601f8916826114a0565b8355505b6001600288020188555050505b50505050505050565b60006115b68385610ed9565b93506115c3838584610e06565b6115cc83610d49565b840190509392505050565b600060208201905081810360008301526115f28184866115aa565b90509392505050565b61160481610cc6565b82525050565b600060408201905061161f60008301856115fb565b61162c6020830184610b96565b939250505056fea2646970667358221220ece41f4fa00767e1dea402f3499f4b298bfa454644d4625eec00bbad9d616b2d64736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/ccsmArtifacts/contracts/workstep1Verifier.sol/Workstep1Verifier.dbg.json b/examples/bri-3/ccsmArtifacts/contracts/workstep1Verifier.sol/Workstep1Verifier.dbg.json new file mode 100644 index 000000000..614e78674 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/contracts/workstep1Verifier.sol/Workstep1Verifier.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/040dfe25dc16b88ff557ca6b496676df.json" +} diff --git a/examples/bri-3/ccsmArtifacts/contracts/workstep1Verifier.sol/Workstep1Verifier.json b/examples/bri-3/ccsmArtifacts/contracts/workstep1Verifier.sol/Workstep1Verifier.json new file mode 100644 index 000000000..c1465eb99 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/contracts/workstep1Verifier.sol/Workstep1Verifier.json @@ -0,0 +1,35 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Workstep1Verifier", + "sourceName": "contracts/workstep1Verifier.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "pubSignals", + "type": "uint256[]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50611dc3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cdf565b610060565b6040516100579190611d72565b60405180910390f35b6000611a1c565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f29e79ad99d77a4ffcf4b8ab0e464b713c864049f2add12136968cff0864088eb7f1410aa6f48b6cf3bf598c6dfa5cb01466519164bd833de0e7827db62d8cac07884610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f1d0d822b29a0910be348f05ad545cfca3c4a45984ec7b3c071978ca4e979b6867f1689e43d6a0f29f2c00abcf49c803fa5c0ebbf4937b1ad668147399369a8fa7e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f145db25e5672a52146b54883489d4339ba16367240f7dd1dacb09e4daf1189d77f1f3ae2a7d2308c43976c572190b3779f177a653b623119177aec86a173733e0984610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f2ece7b42d73dbbda215415dad9da14a4e9f50453c2ea3c269d78f0c4f48b93927f1d854ccab14984cad21ee83abc5688656d4978607ee46ce05c6e30e70438934c84610c61565b60c08501519250610f76837f28dfa5635712fec932cb955efa78de7c3bb1d717ca47ac63d0028c25000ab9827f0c1d9a27ace009b0748df47d8996964d4c5efe448f5689be7f89b1c9b54d1fd484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f1a57e0730386d03ce171300fd06d8df31762d7652b64af847809b15539bf96477f12515de6655d8e300d5106f29f03a0e8d28d2c9c2cf842475e26a42f3eca1c3784610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f28a149d8479d0660ccf9119b862a6296efb8955f144f3a4c28218cbdc30c4a3e7f268d5e96726a4f0a0af926881dd088840f0b189fc0bac1c06378ca1342030d4784610c61565b6115ee6101608601517f0e7776860985ee7b82e3ff3a29a0704c80cc4f49fd6a08562de1286b1a4147737f16d85b4ca470712c952db758ba22542a1494058886d0cf5bc1d6e2796d5d7a3a84610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ae836002600184610c61565b606085015192506117c4836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184883610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a3084610206565b611a3b83828661027f565b611a4481610785565b611a4e838261082a565b611a58818561088d565b611a628185610d07565b611a6c8185610d33565b611a758161184f565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aee82611aa5565b810181811067ffffffffffffffff82111715611b0d57611b0c611ab6565b5b80604052505050565b6000611b20611a87565b9050611b2c8282611ae5565b919050565b600067ffffffffffffffff821115611b4c57611b4b611ab6565b5b611b5582611aa5565b9050602081019050919050565b82818337600083830152505050565b6000611b84611b7f84611b31565b611b16565b905082815260208101848484011115611ba057611b9f611aa0565b5b611bab848285611b62565b509392505050565b600082601f830112611bc857611bc7611a9b565b5b8135611bd8848260208601611b71565b91505092915050565b600067ffffffffffffffff821115611bfc57611bfb611ab6565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b6000611c5b611c5684611be1565b611b16565b90508083825260208201905060208402830185811115611c7e57611c7d611c0d565b5b835b81811015611ca75780611c938882611c33565b845260208401935050602081019050611c80565b5050509392505050565b600082601f830112611cc657611cc5611a9b565b5b8135611cd6848260208601611c48565b91505092915050565b60008060408385031215611cf657611cf5611a91565b5b600083013567ffffffffffffffff811115611d1457611d13611a96565b5b611d2085828601611bb3565b925050602083013567ffffffffffffffff811115611d4157611d40611a96565b5b611d4d85828601611cb1565b9150509250929050565b60008115159050919050565b611d6c81611d57565b82525050565b6000602082019050611d876000830184611d63565b9291505056fea2646970667358221220f40151e1f02334e599ea3cec1e98933d2e3259f203b077c91496df8a7ea9f19964736f6c63430008180033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cdf565b610060565b6040516100579190611d72565b60405180910390f35b6000611a1c565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f29e79ad99d77a4ffcf4b8ab0e464b713c864049f2add12136968cff0864088eb7f1410aa6f48b6cf3bf598c6dfa5cb01466519164bd833de0e7827db62d8cac07884610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f1d0d822b29a0910be348f05ad545cfca3c4a45984ec7b3c071978ca4e979b6867f1689e43d6a0f29f2c00abcf49c803fa5c0ebbf4937b1ad668147399369a8fa7e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f145db25e5672a52146b54883489d4339ba16367240f7dd1dacb09e4daf1189d77f1f3ae2a7d2308c43976c572190b3779f177a653b623119177aec86a173733e0984610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f2ece7b42d73dbbda215415dad9da14a4e9f50453c2ea3c269d78f0c4f48b93927f1d854ccab14984cad21ee83abc5688656d4978607ee46ce05c6e30e70438934c84610c61565b60c08501519250610f76837f28dfa5635712fec932cb955efa78de7c3bb1d717ca47ac63d0028c25000ab9827f0c1d9a27ace009b0748df47d8996964d4c5efe448f5689be7f89b1c9b54d1fd484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f1a57e0730386d03ce171300fd06d8df31762d7652b64af847809b15539bf96477f12515de6655d8e300d5106f29f03a0e8d28d2c9c2cf842475e26a42f3eca1c3784610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f28a149d8479d0660ccf9119b862a6296efb8955f144f3a4c28218cbdc30c4a3e7f268d5e96726a4f0a0af926881dd088840f0b189fc0bac1c06378ca1342030d4784610c61565b6115ee6101608601517f0e7776860985ee7b82e3ff3a29a0704c80cc4f49fd6a08562de1286b1a4147737f16d85b4ca470712c952db758ba22542a1494058886d0cf5bc1d6e2796d5d7a3a84610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ae836002600184610c61565b606085015192506117c4836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184883610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a3084610206565b611a3b83828661027f565b611a4481610785565b611a4e838261082a565b611a58818561088d565b611a628185610d07565b611a6c8185610d33565b611a758161184f565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aee82611aa5565b810181811067ffffffffffffffff82111715611b0d57611b0c611ab6565b5b80604052505050565b6000611b20611a87565b9050611b2c8282611ae5565b919050565b600067ffffffffffffffff821115611b4c57611b4b611ab6565b5b611b5582611aa5565b9050602081019050919050565b82818337600083830152505050565b6000611b84611b7f84611b31565b611b16565b905082815260208101848484011115611ba057611b9f611aa0565b5b611bab848285611b62565b509392505050565b600082601f830112611bc857611bc7611a9b565b5b8135611bd8848260208601611b71565b91505092915050565b600067ffffffffffffffff821115611bfc57611bfb611ab6565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b6000611c5b611c5684611be1565b611b16565b90508083825260208201905060208402830185811115611c7e57611c7d611c0d565b5b835b81811015611ca75780611c938882611c33565b845260208401935050602081019050611c80565b5050509392505050565b600082601f830112611cc657611cc5611a9b565b5b8135611cd6848260208601611c48565b91505092915050565b60008060408385031215611cf657611cf5611a91565b5b600083013567ffffffffffffffff811115611d1457611d13611a96565b5b611d2085828601611bb3565b925050602083013567ffffffffffffffff811115611d4157611d40611a96565b5b611d4d85828601611cb1565b9150509250929050565b60008115159050919050565b611d6c81611d57565b82525050565b6000602082019050611d876000830184611d63565b9291505056fea2646970667358221220f40151e1f02334e599ea3cec1e98933d2e3259f203b077c91496df8a7ea9f19964736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/ccsmArtifacts/contracts/workstep2Verifier.sol/Workstep2Verifier.dbg.json b/examples/bri-3/ccsmArtifacts/contracts/workstep2Verifier.sol/Workstep2Verifier.dbg.json new file mode 100644 index 000000000..614e78674 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/contracts/workstep2Verifier.sol/Workstep2Verifier.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/040dfe25dc16b88ff557ca6b496676df.json" +} diff --git a/examples/bri-3/ccsmArtifacts/contracts/workstep2Verifier.sol/Workstep2Verifier.json b/examples/bri-3/ccsmArtifacts/contracts/workstep2Verifier.sol/Workstep2Verifier.json new file mode 100644 index 000000000..ebb9a96c2 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/contracts/workstep2Verifier.sol/Workstep2Verifier.json @@ -0,0 +1,35 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Workstep2Verifier", + "sourceName": "contracts/workstep2Verifier.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "pubSignals", + "type": "uint256[]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50611dc2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f26aee923b0c25e2761ed55d872bdce83e1d95e965ca8ce1d7bf132065ed73bea7f0d97ed9d9f00314c36234ec638665eba9c42b2aeb9472214f2d5a2b22615181d84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220f1a497cd26c4df9d647ccc126914032feed1053e8cb91d6f871b91f05cc43dee64736f6c63430008180033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f26aee923b0c25e2761ed55d872bdce83e1d95e965ca8ce1d7bf132065ed73bea7f0d97ed9d9f00314c36234ec638665eba9c42b2aeb9472214f2d5a2b22615181d84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220f1a497cd26c4df9d647ccc126914032feed1053e8cb91d6f871b91f05cc43dee64736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/ccsmArtifacts/contracts/workstep3Verifier.sol/Workstep3Verifier.dbg.json b/examples/bri-3/ccsmArtifacts/contracts/workstep3Verifier.sol/Workstep3Verifier.dbg.json new file mode 100644 index 000000000..614e78674 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/contracts/workstep3Verifier.sol/Workstep3Verifier.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/040dfe25dc16b88ff557ca6b496676df.json" +} diff --git a/examples/bri-3/ccsmArtifacts/contracts/workstep3Verifier.sol/Workstep3Verifier.json b/examples/bri-3/ccsmArtifacts/contracts/workstep3Verifier.sol/Workstep3Verifier.json new file mode 100644 index 000000000..6b5236f23 --- /dev/null +++ b/examples/bri-3/ccsmArtifacts/contracts/workstep3Verifier.sol/Workstep3Verifier.json @@ -0,0 +1,35 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Workstep3Verifier", + "sourceName": "contracts/workstep3Verifier.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "pubSignals", + "type": "uint256[]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50611dc2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f0ce90799f564b37f9a7c19587ad4234c46f6afad9f4b1fb9277bed47dd9b6a117f2becb27157d1ea8e65712e5a9d3b836536cc95f8ffbe2a9a66259a05b94d8c4184610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220d7f8a71738df57315d94f7f50e5b1fda34b6dabb4f46088cad80eff3388ed1ce64736f6c63430008180033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f0ce90799f564b37f9a7c19587ad4234c46f6afad9f4b1fb9277bed47dd9b6a117f2becb27157d1ea8e65712e5a9d3b836536cc95f8ffbe2a9a66259a05b94d8c4184610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220d7f8a71738df57315d94f7f50e5b1fda34b6dabb4f46088cad80eff3388ed1ce64736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/hardhat.config.js b/examples/bri-3/hardhat.config.js deleted file mode 100644 index 1a6271e73..000000000 --- a/examples/bri-3/hardhat.config.js +++ /dev/null @@ -1,26 +0,0 @@ -/** @type import('hardhat/config').HardhatUserConfig */ - -require('@nomicfoundation/hardhat-ethers'); -require('@nomicfoundation/hardhat-toolbox'); -require('dotenv/config'); -module.exports = { - defaultNetwork: process.env.CCSM_NETWORK, - networks: { - //Uncomment the required network - // goerli: { - // url: `${process.env.ALCHEMY_URL}`, - // accounts: [`0x${process.env.ALCHEMY_GOERLI_PRIVATE_KEY}`], - // }, - // ganache: { - // url: `${process.env.GANACHE_URL}`, - // accounts: [`0x${process.env.GANACHE_ACCOUNT_PRIVATE_KEY}`], - // }, - }, - solidity: '0.8.19', - paths: { - sources: - './src/bri/zeroKnowledgeProof/services/blockchain/ethereum/contracts', - artifacts: - './zeroKnowledgeArtifacts/blockchain/ethereum/artifacts/artifacts', - }, -}; diff --git a/examples/bri-3/package-lock.json b/examples/bri-3/package-lock.json index 84d365a7b..baf774b66 100644 --- a/examples/bri-3/package-lock.json +++ b/examples/bri-3/package-lock.json @@ -23,7 +23,8 @@ "@nestjs/schedule": "^3.0.1", "@nestjs/swagger": "^7.3.1", "@noble/curves": "^1.2.0", - "@nomicfoundation/hardhat-toolbox": "^2.0.2", + "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@openzeppelin/contracts": "^5.0.2", "@personaelabs/spartan-ecdsa": "^2.1.4", "@prisma/client": "^5.2.0", "circomlib": "^2.0.5", @@ -40,7 +41,6 @@ "ethr-did-resolver": "^10.1.0", "ew-precise-proofs-js": "^1.2.0", "fixed-merkle-tree": "^0.7.3", - "hardhat": "^2.17.2", "jose": "^4.13.1", "logplease": "^1.2.15", "merkletreejs": "^0.3.9", @@ -50,7 +50,7 @@ "prisma-extension-bark": "^0.1.1", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", - "rxjs": "^7.2.0", + "rxjs": "7.2.0", "snarkjs": "^0.6.11", "tslog": "^3.3.4", "uuidv4": "^6.2.13" @@ -59,7 +59,6 @@ "@nestjs/cli": "^9.0.0", "@nestjs/schematics": "^9.0.0", "@nestjs/testing": "^9.0.0", - "@nomicfoundation/hardhat-ethers": "^3.0.5", "@types/bcrypt": "^5.0.0", "@types/circomlibjs": "^0.1.4", "@types/cron": "^2.0.1", @@ -68,16 +67,15 @@ "@types/elliptic": "^6.4.14", "@types/express": "^4.17.13", "@types/jest": "28.1.4", - "@types/node": "^16.11.62", "@types/passport-jwt": "^3.0.7", "@types/supertest": "^2.0.11", "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0", + "@typescript-eslint/eslint-plugin": "^5.10.2", + "@typescript-eslint/parser": "^5.10.2", "eslint": "^8.0.1", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", - "ethers": "^6.12.0", + "ethers": "^6.13.1", "jest": "28.1.2", "jest-mock-extended": "^3.0.3", "prettier": "^2.3.2", @@ -95,13 +93,11 @@ }, "node_modules/@adraffy/ens-normalize": { "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", - "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" + "license": "MIT" }, "node_modules/@ampproject/remapping": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -112,9 +108,8 @@ }, "node_modules/@angular-devkit/core": { "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.1.tgz", - "integrity": "sha512-2uz98IqkKJlgnHbWQ7VeL4pb+snGAZXIama2KXi+k9GsRntdcw+udX8rL3G9SdUGUF+m6+147Y1oRBMHsO/v4w==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -136,11 +131,18 @@ } } }, + "node_modules/@angular-devkit/core/node_modules/rxjs": { + "version": "7.8.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@angular-devkit/schematics": { "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.0.1.tgz", - "integrity": "sha512-A9D0LTYmiqiBa90GKcSuWb7hUouGIbm/AHbJbjL85WLLRbQA2PwKl7P5Mpd6nS/ZC0kfG4VQY3VOaDvb3qpI9g==", "dev": true, + "license": "MIT", "dependencies": { "@angular-devkit/core": "16.0.1", "jsonc-parser": "3.2.0", @@ -156,9 +158,8 @@ }, "node_modules/@angular-devkit/schematics-cli": { "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-16.0.1.tgz", - "integrity": "sha512-6KLA125dpgd6oJGtiO2JpZAb92uOG3njQGIt7NFcuQGW/5GO7J41vMXH9cBAfdtbV8SIggSmR/cIEE9ijfj6YQ==", "dev": true, + "license": "MIT", "dependencies": { "@angular-devkit/core": "16.0.1", "@angular-devkit/schematics": "16.0.1", @@ -178,9 +179,8 @@ }, "node_modules/@angular-devkit/schematics-cli/node_modules/inquirer": { "version": "8.2.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", - "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", @@ -202,10 +202,25 @@ "node": ">=12.0.0" } }, + "node_modules/@angular-devkit/schematics-cli/node_modules/rxjs": { + "version": "7.8.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "7.8.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@automapper/classes": { "version": "8.8.1", - "resolved": "https://registry.npmjs.org/@automapper/classes/-/classes-8.8.1.tgz", - "integrity": "sha512-qWP92Vz4z5zGWVXVkoGKmI9PIiAh8uhTBcKpKMmTVwmS1wfOQgj3ceD+A3mlC9ZUTohwvXebS3M30scLaUZmeg==", + "license": "MIT", "engines": { "node": ">=16.0.0" }, @@ -216,16 +231,14 @@ }, "node_modules/@automapper/core": { "version": "8.8.1", - "resolved": "https://registry.npmjs.org/@automapper/core/-/core-8.8.1.tgz", - "integrity": "sha512-VIRULNAImqaTojp8zqhVGVimjxjriawqZWlemooWh5B5tX2XlgA6icPrQBQh+M9wY8IVQipBTOcr338N9lf8RA==", + "license": "MIT", "engines": { "node": ">=16.0.0" } }, "node_modules/@automapper/nestjs": { "version": "8.8.1", - "resolved": "https://registry.npmjs.org/@automapper/nestjs/-/nestjs-8.8.1.tgz", - "integrity": "sha512-EeC0UBoBIchnWwNdfVUb0bbOKaHhuDLBOFXeZbwUxFcOn2CR+zOs96Dv6gd9x0WGZGcdZ39h4hkDaos6QPCG+Q==", + "license": "MIT", "engines": { "node": ">=16.0.0" }, @@ -236,11 +249,10 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.2", + "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" }, "engines": { @@ -248,28 +260,26 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "version": "7.24.7", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", - "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.24.5", - "@babel/helpers": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -284,10 +294,16 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/eslint-parser": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.5.tgz", - "integrity": "sha512-gsUcqS/fPlgAw1kOtpss7uhY6E9SFFANQ6EFX5GTvzUwaV0+sGaZWk6xq22MOdeT9wfxyokW3ceCUvOiRtZciQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -303,18 +319,23 @@ }, "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", "engines": { "node": ">=10" } }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/generator": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", - "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.5", + "@babel/types": "^7.24.7", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -324,34 +345,32 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -360,19 +379,25 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", - "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.24.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", "semver": "^6.3.1" }, "engines": { @@ -382,12 +407,18 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", "semver": "^6.3.1" }, @@ -398,10 +429,16 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -414,68 +451,67 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", - "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", - "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.24.3", - "@babel/helper-simple-access": "^7.24.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/helper-validator-identifier": "^7.24.5" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -485,32 +521,29 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", - "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", + "version": "7.24.7", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-wrap-function": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -520,13 +553,12 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", - "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -536,94 +568,87 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", - "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", - "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "version": "7.24.7", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", - "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", + "version": "7.24.7", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.24.7", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz", - "integrity": "sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.23.0", - "@babel/template": "^7.24.0", - "@babel/types": "^7.24.5" + "@babel/helper-function-name": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", - "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", - "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.5", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -634,8 +659,7 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -645,8 +669,7 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -658,37 +681,32 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -697,9 +715,8 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", - "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", + "version": "7.24.7", + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -708,12 +725,11 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz", - "integrity": "sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -723,11 +739,10 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", - "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -737,13 +752,12 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", - "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -753,12 +767,11 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", - "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -769,9 +782,7 @@ }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -784,13 +795,12 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz", - "integrity": "sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-decorators": "^7.24.1" + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-decorators": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -801,9 +811,7 @@ }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -817,9 +825,7 @@ }, "node_modules/@babel/plugin-proposal-numeric-separator": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -833,9 +839,7 @@ }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", @@ -850,9 +854,7 @@ }, "node_modules/@babel/plugin-proposal-private-methods": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -866,8 +868,7 @@ }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -877,8 +878,7 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -888,9 +888,8 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -900,8 +899,7 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -911,8 +909,7 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -924,11 +921,10 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz", - "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -939,8 +935,7 @@ }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -950,8 +945,7 @@ }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -960,11 +954,10 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz", - "integrity": "sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -974,11 +967,10 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", - "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -988,11 +980,10 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", - "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1003,8 +994,7 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1014,8 +1004,7 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1024,11 +1013,10 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1039,8 +1027,7 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1050,8 +1037,7 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1061,8 +1047,7 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1072,8 +1057,7 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1083,8 +1067,7 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1094,8 +1077,7 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1105,8 +1087,7 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1119,8 +1100,7 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1132,11 +1112,10 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", - "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1147,8 +1126,7 @@ }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1161,11 +1139,10 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", - "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1175,13 +1152,12 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", - "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -1192,13 +1168,12 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", - "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1208,11 +1183,10 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", - "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1222,11 +1196,10 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", - "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1236,12 +1209,11 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", - "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1251,12 +1223,11 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", - "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1267,17 +1238,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", - "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.24.5", + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", "globals": "^11.1.0" }, "engines": { @@ -1289,19 +1259,17 @@ }, "node_modules/@babel/plugin-transform-classes/node_modules/globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", - "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1311,11 +1279,10 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", - "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1325,12 +1292,11 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", - "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1340,11 +1306,10 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", - "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1354,11 +1319,10 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", - "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -1369,12 +1333,11 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", - "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1384,11 +1347,10 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", - "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1399,12 +1361,11 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz", - "integrity": "sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-flow": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-flow": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1414,12 +1375,11 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", - "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1429,13 +1389,12 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", - "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1445,11 +1404,10 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", - "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1460,11 +1418,10 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", - "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1474,11 +1431,10 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", - "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1489,11 +1445,10 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", - "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1503,12 +1458,11 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", - "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1518,13 +1472,12 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", - "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1534,14 +1487,13 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", - "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1551,12 +1503,11 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", - "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1566,12 +1517,11 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1581,11 +1531,10 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", - "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1595,11 +1544,10 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", - "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1610,11 +1558,10 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", - "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1625,14 +1572,13 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", - "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.5" + "@babel/plugin-transform-parameters": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1642,12 +1588,11 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", - "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1657,11 +1602,10 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", - "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1672,12 +1616,11 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", - "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -1688,11 +1631,10 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", - "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1702,12 +1644,11 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", - "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1717,13 +1658,12 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", - "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1734,11 +1674,10 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", - "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1748,11 +1687,10 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", - "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1762,15 +1700,14 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1780,11 +1717,10 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "@babel/plugin-transform-react-jsx": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1794,12 +1730,11 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", - "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1809,11 +1744,10 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", - "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1824,11 +1758,10 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", - "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1838,12 +1771,11 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz", - "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.3", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.1", "babel-plugin-polyfill-regenerator": "^0.6.1", @@ -1856,12 +1788,18 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", - "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1871,12 +1809,11 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", - "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1886,11 +1823,10 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", - "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1900,11 +1836,10 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", - "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1914,11 +1849,10 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", - "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1928,14 +1862,13 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz", - "integrity": "sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.5", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/plugin-syntax-typescript": "^7.24.1" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1945,11 +1878,10 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", - "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1959,12 +1891,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", - "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1974,12 +1905,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", - "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1989,12 +1919,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", - "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2004,26 +1933,25 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz", - "integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==", - "dependencies": { - "@babel/compat-data": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.1", - "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -2035,54 +1963,54 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.1", - "@babel/plugin-transform-async-generator-functions": "^7.24.3", - "@babel/plugin-transform-async-to-generator": "^7.24.1", - "@babel/plugin-transform-block-scoped-functions": "^7.24.1", - "@babel/plugin-transform-block-scoping": "^7.24.5", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-class-static-block": "^7.24.4", - "@babel/plugin-transform-classes": "^7.24.5", - "@babel/plugin-transform-computed-properties": "^7.24.1", - "@babel/plugin-transform-destructuring": "^7.24.5", - "@babel/plugin-transform-dotall-regex": "^7.24.1", - "@babel/plugin-transform-duplicate-keys": "^7.24.1", - "@babel/plugin-transform-dynamic-import": "^7.24.1", - "@babel/plugin-transform-exponentiation-operator": "^7.24.1", - "@babel/plugin-transform-export-namespace-from": "^7.24.1", - "@babel/plugin-transform-for-of": "^7.24.1", - "@babel/plugin-transform-function-name": "^7.24.1", - "@babel/plugin-transform-json-strings": "^7.24.1", - "@babel/plugin-transform-literals": "^7.24.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", - "@babel/plugin-transform-member-expression-literals": "^7.24.1", - "@babel/plugin-transform-modules-amd": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-modules-systemjs": "^7.24.1", - "@babel/plugin-transform-modules-umd": "^7.24.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.24.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.5", - "@babel/plugin-transform-object-super": "^7.24.1", - "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.5", - "@babel/plugin-transform-parameters": "^7.24.5", - "@babel/plugin-transform-private-methods": "^7.24.1", - "@babel/plugin-transform-private-property-in-object": "^7.24.5", - "@babel/plugin-transform-property-literals": "^7.24.1", - "@babel/plugin-transform-regenerator": "^7.24.1", - "@babel/plugin-transform-reserved-words": "^7.24.1", - "@babel/plugin-transform-shorthand-properties": "^7.24.1", - "@babel/plugin-transform-spread": "^7.24.1", - "@babel/plugin-transform-sticky-regex": "^7.24.1", - "@babel/plugin-transform-template-literals": "^7.24.1", - "@babel/plugin-transform-typeof-symbol": "^7.24.5", - "@babel/plugin-transform-unicode-escapes": "^7.24.1", - "@babel/plugin-transform-unicode-property-regex": "^7.24.1", - "@babel/plugin-transform-unicode-regex": "^7.24.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.24.7", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.24.7", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.7", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.24.7", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-modules-systemjs": "^7.24.7", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.7", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.4", @@ -2097,10 +2025,16 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -2111,16 +2045,15 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", - "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-react-display-name": "^7.24.1", - "@babel/plugin-transform-react-jsx": "^7.23.4", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.24.7", + "@babel/plugin-transform-react-jsx-development": "^7.24.7", + "@babel/plugin-transform-react-pure-annotations": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2130,15 +2063,14 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", - "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-syntax-jsx": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-typescript": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2149,13 +2081,11 @@ }, "node_modules/@babel/regjsgen": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + "license": "MIT" }, "node_modules/@babel/runtime": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", - "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", + "version": "7.24.7", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2164,31 +2094,29 @@ } }, "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", - "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", - "dependencies": { - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/types": "^7.24.5", + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2198,19 +2126,17 @@ }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", - "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", + "version": "7.24.7", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.1", - "@babel/helper-validator-identifier": "^7.24.5", + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2219,14 +2145,12 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@casl/ability": { "version": "6.7.1", - "resolved": "https://registry.npmjs.org/@casl/ability/-/ability-6.7.1.tgz", - "integrity": "sha512-e+Vgrehd1/lzOSwSqKHtmJ6kmIuZbGBlM2LBS5IuYGGKmVHuhUuyh3XgTn1VIw9+TO4gqU+uptvxfIRBUEdJuw==", + "license": "MIT", "dependencies": { "@ucast/mongo2js": "^1.3.0" }, @@ -2236,8 +2160,7 @@ }, "node_modules/@casl/prisma": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@casl/prisma/-/prisma-1.4.1.tgz", - "integrity": "sha512-WTFcWhYnoEc8fRHMzlqd3MU6WXOtT1cfoHmxSyB14gVeRHWvOyWdVaGxueLySgBOb08kIiZdjOBYNJRTzlAqBA==", + "license": "MIT", "dependencies": { "@ucast/core": "^1.10.0", "@ucast/js": "^3.0.1" @@ -2249,9 +2172,8 @@ }, "node_modules/@colors/colors": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.1.90" @@ -2259,8 +2181,7 @@ }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -2270,8 +2191,7 @@ }, "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -2279,8 +2199,7 @@ }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -2292,17 +2211,15 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.11.0", + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -2323,8 +2240,7 @@ }, "node_modules/@eslint/eslintrc/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2338,21 +2254,18 @@ }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "license": "MIT" }, "node_modules/@eslint/js": { "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@ethereumjs/rlp": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "license": "MPL-2.0", "bin": { "rlp": "bin/rlp" }, @@ -2362,8 +2275,7 @@ }, "node_modules/@ethereumjs/util": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "license": "MPL-2.0", "dependencies": { "@ethereumjs/rlp": "^4.0.1", "ethereum-cryptography": "^2.0.0", @@ -2375,8 +2287,6 @@ }, "node_modules/@ethersproject/abi": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", "funding": [ { "type": "individual", @@ -2387,6 +2297,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -2401,8 +2312,6 @@ }, "node_modules/@ethersproject/abstract-provider": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "funding": [ { "type": "individual", @@ -2413,6 +2322,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -2425,8 +2335,6 @@ }, "node_modules/@ethersproject/abstract-signer": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "funding": [ { "type": "individual", @@ -2437,6 +2345,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -2447,8 +2356,6 @@ }, "node_modules/@ethersproject/address": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "funding": [ { "type": "individual", @@ -2459,6 +2366,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -2469,8 +2377,6 @@ }, "node_modules/@ethersproject/base64": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", "funding": [ { "type": "individual", @@ -2481,14 +2387,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0" } }, "node_modules/@ethersproject/basex": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", "funding": [ { "type": "individual", @@ -2499,6 +2404,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/properties": "^5.7.0" @@ -2506,8 +2412,6 @@ }, "node_modules/@ethersproject/bignumber": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "funding": [ { "type": "individual", @@ -2518,16 +2422,19 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", "bn.js": "^5.2.1" } }, + "node_modules/@ethersproject/bignumber/node_modules/bn.js": { + "version": "5.2.1", + "license": "MIT" + }, "node_modules/@ethersproject/bytes": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "funding": [ { "type": "individual", @@ -2538,14 +2445,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/constants": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "funding": [ { "type": "individual", @@ -2556,14 +2462,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0" } }, "node_modules/@ethersproject/contracts": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", "funding": [ { "type": "individual", @@ -2574,6 +2479,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/abstract-provider": "^5.7.0", @@ -2589,8 +2495,6 @@ }, "node_modules/@ethersproject/hash": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "funding": [ { "type": "individual", @@ -2601,6 +2505,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/address": "^5.7.0", @@ -2615,8 +2520,6 @@ }, "node_modules/@ethersproject/hdnode": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", "funding": [ { "type": "individual", @@ -2627,6 +2530,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/basex": "^5.7.0", @@ -2644,8 +2548,6 @@ }, "node_modules/@ethersproject/json-wallets": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", "funding": [ { "type": "individual", @@ -2656,6 +2558,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/address": "^5.7.0", @@ -2674,13 +2577,10 @@ }, "node_modules/@ethersproject/json-wallets/node_modules/aes-js": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + "license": "MIT" }, "node_modules/@ethersproject/keccak256": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "funding": [ { "type": "individual", @@ -2691,6 +2591,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" @@ -2698,8 +2599,6 @@ }, "node_modules/@ethersproject/logger": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", "funding": [ { "type": "individual", @@ -2709,12 +2608,11 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ] + ], + "license": "MIT" }, "node_modules/@ethersproject/networks": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "funding": [ { "type": "individual", @@ -2725,14 +2623,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/pbkdf2": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", "funding": [ { "type": "individual", @@ -2743,6 +2640,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/sha2": "^5.7.0" @@ -2750,8 +2648,6 @@ }, "node_modules/@ethersproject/properties": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "funding": [ { "type": "individual", @@ -2762,14 +2658,13 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/providers": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", "funding": [ { "type": "individual", @@ -2780,6 +2675,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -2803,10 +2699,31 @@ "ws": "7.4.6" } }, + "node_modules/@ethersproject/providers/node_modules/bech32": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@ethersproject/providers/node_modules/ws": { + "version": "7.4.6", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/@ethersproject/random": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", "funding": [ { "type": "individual", @@ -2817,6 +2734,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" @@ -2824,8 +2742,6 @@ }, "node_modules/@ethersproject/rlp": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "funding": [ { "type": "individual", @@ -2836,6 +2752,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" @@ -2843,8 +2760,6 @@ }, "node_modules/@ethersproject/sha2": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", "funding": [ { "type": "individual", @@ -2855,6 +2770,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -2863,8 +2779,6 @@ }, "node_modules/@ethersproject/signing-key": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", "funding": [ { "type": "individual", @@ -2875,6 +2789,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -2884,10 +2799,13 @@ "hash.js": "1.1.7" } }, + "node_modules/@ethersproject/signing-key/node_modules/bn.js": { + "version": "5.2.1", + "license": "MIT" + }, "node_modules/@ethersproject/signing-key/node_modules/elliptic": { "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -2900,13 +2818,10 @@ }, "node_modules/@ethersproject/signing-key/node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "license": "MIT" }, "node_modules/@ethersproject/solidity": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", "funding": [ { "type": "individual", @@ -2917,6 +2832,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -2928,8 +2844,6 @@ }, "node_modules/@ethersproject/strings": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "funding": [ { "type": "individual", @@ -2940,6 +2854,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/constants": "^5.7.0", @@ -2948,8 +2863,6 @@ }, "node_modules/@ethersproject/transactions": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "funding": [ { "type": "individual", @@ -2960,6 +2873,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -2974,8 +2888,6 @@ }, "node_modules/@ethersproject/units": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", "funding": [ { "type": "individual", @@ -2986,6 +2898,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/constants": "^5.7.0", @@ -2994,8 +2907,6 @@ }, "node_modules/@ethersproject/wallet": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", "funding": [ { "type": "individual", @@ -3006,6 +2917,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -3026,8 +2938,6 @@ }, "node_modules/@ethersproject/web": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "funding": [ { "type": "individual", @@ -3038,6 +2948,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/base64": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3048,8 +2959,6 @@ }, "node_modules/@ethersproject/wordlists": { "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", "funding": [ { "type": "individual", @@ -3060,6 +2969,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/hash": "^5.7.0", @@ -3072,14 +2982,15 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "license": "MIT", + "peer": true, "engines": { "node": ">=14" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", @@ -3091,8 +3002,7 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -3103,18 +3013,15 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==" + "license": "BSD-3-Clause" }, "node_modules/@iden3/bigarray": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@iden3/bigarray/-/bigarray-0.0.2.tgz", - "integrity": "sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g==" + "license": "GPL-3.0" }, "node_modules/@iden3/binfileutils": { "version": "0.0.11", - "resolved": "https://registry.npmjs.org/@iden3/binfileutils/-/binfileutils-0.0.11.tgz", - "integrity": "sha512-LylnJoZ0CTdgErnKY8OxohvW4K+p6UHD3sxt+3P9AmMyBQjYR4IpoqoYZZ+9aMj89cmCQ21UvdhndAx04er3NA==", + "license": "GPL-3.0", "dependencies": { "fastfile": "0.0.20", "ffjavascript": "^0.2.48" @@ -3122,9 +3029,8 @@ }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -3138,27 +3044,24 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -3169,9 +3072,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -3182,9 +3084,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -3195,9 +3096,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -3207,9 +3107,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -3222,9 +3121,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -3234,27 +3132,24 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/console": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -3269,9 +3164,8 @@ }, "node_modules/@jest/core": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^28.1.3", "@jest/reporters": "^28.1.3", @@ -3317,8 +3211,6 @@ }, "node_modules/@jest/core/node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -3326,15 +3218,15 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/environment": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/fake-timers": "^28.1.3", "@jest/types": "^28.1.3", @@ -3347,9 +3239,8 @@ }, "node_modules/@jest/expect": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^28.1.3", "jest-snapshot": "^28.1.3" @@ -3360,9 +3251,8 @@ }, "node_modules/@jest/expect-utils": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^28.0.2" }, @@ -3372,9 +3262,8 @@ }, "node_modules/@jest/fake-timers": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@sinonjs/fake-timers": "^9.1.2", @@ -3389,9 +3278,8 @@ }, "node_modules/@jest/globals": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^28.1.3", "@jest/expect": "^28.1.3", @@ -3403,9 +3291,8 @@ }, "node_modules/@jest/reporters": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^28.1.3", @@ -3447,9 +3334,8 @@ }, "node_modules/@jest/schemas": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", "dev": true, + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.24.1" }, @@ -3459,9 +3345,8 @@ }, "node_modules/@jest/source-map": { "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.13", "callsites": "^3.0.0", @@ -3473,9 +3358,8 @@ }, "node_modules/@jest/test-result": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^28.1.3", "@jest/types": "^28.1.3", @@ -3488,9 +3372,8 @@ }, "node_modules/@jest/test-sequencer": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^28.1.3", "graceful-fs": "^4.2.9", @@ -3503,9 +3386,8 @@ }, "node_modules/@jest/transform": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^28.1.3", @@ -3529,15 +3411,13 @@ }, "node_modules/@jest/transform/node_modules/convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jest/types": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -3552,8 +3432,7 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -3565,25 +3444,22 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -3591,13 +3467,11 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3605,8 +3479,7 @@ }, "node_modules/@lukeed/csprng": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3615,6 +3488,8 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "license": "ISC", + "peer": true, "dependencies": { "ethereumjs-abi": "^0.6.8", "ethereumjs-util": "^6.2.1", @@ -3630,19 +3505,18 @@ "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "license": "MIT", + "peer": true, "dependencies": { "@types/node": "*" } }, - "node_modules/@metamask/eth-sig-util/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, "node_modules/@metamask/eth-sig-util/node_modules/ethereum-cryptography": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", + "peer": true, "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -3665,6 +3539,8 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "license": "MPL-2.0", + "peer": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -3677,19 +3553,16 @@ }, "node_modules/@microsoft/tsdoc": { "version": "0.14.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", - "integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==" + "license": "MIT" }, "node_modules/@multiformats/base-x": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz", - "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==" + "license": "MIT" }, "node_modules/@nestjs/cli": { "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-9.5.0.tgz", - "integrity": "sha512-Z7q+3vNsQSG2d2r2Hl/OOj5EpfjVx3OfnJ9+KuAsOdw1sKLm7+Zc6KbhMFTd/eIvfx82ww3Nk72xdmfPYCulWA==", "dev": true, + "license": "MIT", "dependencies": { "@angular-devkit/core": "16.0.1", "@angular-devkit/schematics": "16.0.1", @@ -3723,18 +3596,16 @@ }, "node_modules/@nestjs/cli/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/@nestjs/cli/node_modules/glob": { "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "minimatch": "^8.0.2", @@ -3750,9 +3621,8 @@ }, "node_modules/@nestjs/cli/node_modules/minimatch": { "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3765,9 +3635,8 @@ }, "node_modules/@nestjs/cli/node_modules/rimraf": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", - "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^9.2.0" }, @@ -3783,18 +3652,16 @@ }, "node_modules/@nestjs/cli/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@nestjs/cli/node_modules/tsconfig-paths": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, + "license": "MIT", "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", @@ -3806,9 +3673,8 @@ }, "node_modules/@nestjs/cli/node_modules/webpack": { "version": "5.82.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.82.1.tgz", - "integrity": "sha512-C6uiGQJ+Gt4RyHXXYt+v9f+SN1v83x68URwgxNQ98cvH8kxiuywWGP4XeNZ1paOzZ63aY3cTciCEQJNFUljlLw==", "dev": true, + "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -3853,8 +3719,7 @@ }, "node_modules/@nestjs/common": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz", - "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==", + "license": "MIT", "dependencies": { "iterare": "1.2.1", "tslib": "2.5.3", @@ -3885,9 +3750,8 @@ }, "node_modules/@nestjs/core": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz", - "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "@nuxtjs/opencollective": "0.3.2", "fast-safe-stringify": "2.1.1", @@ -3922,8 +3786,7 @@ }, "node_modules/@nestjs/cqrs": { "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@nestjs/cqrs/-/cqrs-9.0.4.tgz", - "integrity": "sha512-nWDF+xs4jqs6OjxFg/wVSd0NiIV9+EFCJrJNTo4VRWe78CcAaitbp56CBspUh4gKyfkci95i+EhHdEqRXKFptg==", + "license": "MIT", "dependencies": { "uuid": "9.0.0" }, @@ -3936,8 +3799,7 @@ }, "node_modules/@nestjs/jwt": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@nestjs/jwt/-/jwt-9.0.0.tgz", - "integrity": "sha512-ZsXGY/wMYKzEhymw2+dxiwrHTRKIKrGszx6r2EjQqNLypdXMQu0QrujwZJ8k3+XQV4snmuJwwNakQoA2ILfq8w==", + "license": "MIT", "dependencies": { "@types/jsonwebtoken": "8.5.8", "jsonwebtoken": "8.5.1" @@ -3948,8 +3810,7 @@ }, "node_modules/@nestjs/mapped-types": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz", - "integrity": "sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==", + "license": "MIT", "peerDependencies": { "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", "class-transformer": "^0.4.0 || ^0.5.0", @@ -3967,8 +3828,7 @@ }, "node_modules/@nestjs/passport": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@nestjs/passport/-/passport-9.0.3.tgz", - "integrity": "sha512-HplSJaimEAz1IOZEu+pdJHHJhQyBOPAYWXYHfAPQvRqWtw4FJF1VXl1Qtk9dcXQX1eKytDtH+qBzNQc19GWNEg==", + "license": "MIT", "peerDependencies": { "@nestjs/common": "^8.0.0 || ^9.0.0", "passport": "^0.4.0 || ^0.5.0 || ^0.6.0" @@ -3976,8 +3836,7 @@ }, "node_modules/@nestjs/platform-express": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz", - "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==", + "license": "MIT", "dependencies": { "body-parser": "1.20.2", "cors": "2.8.5", @@ -3996,8 +3855,7 @@ }, "node_modules/@nestjs/schedule": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@nestjs/schedule/-/schedule-3.0.4.tgz", - "integrity": "sha512-uFJpuZsXfpvgx2y7/KrIZW9e1L68TLiwRodZ6+Gc8xqQiHSUzAVn+9F4YMxWFlHITZvvkjWziUFgRNCitDcTZQ==", + "license": "MIT", "dependencies": { "cron": "2.4.3", "uuid": "9.0.1" @@ -4010,21 +3868,19 @@ }, "node_modules/@nestjs/schedule/node_modules/uuid": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@nestjs/schematics": { "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-9.2.0.tgz", - "integrity": "sha512-wHpNJDPzM6XtZUOB3gW0J6mkFCSJilzCM3XrHI1o0C8vZmFE1snbmkIXNyoi1eV0Nxh1BMymcgz5vIMJgQtTqw==", "dev": true, + "license": "MIT", "dependencies": { "@angular-devkit/core": "16.0.1", "@angular-devkit/schematics": "16.0.1", @@ -4037,8 +3893,7 @@ }, "node_modules/@nestjs/swagger": { "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-7.3.1.tgz", - "integrity": "sha512-LUC4mr+5oAleEC/a2j8pNRh1S5xhKXJ1Gal5ZdRjt9XebQgbngXCdW7JTA9WOEcwGtFZN9EnKYdquzH971LZfw==", + "license": "MIT", "dependencies": { "@microsoft/tsdoc": "^0.14.2", "@nestjs/mapped-types": "2.0.5", @@ -4069,9 +3924,8 @@ }, "node_modules/@nestjs/testing": { "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-9.4.3.tgz", - "integrity": "sha512-LDT8Ai2eKnTzvnPaJwWOK03qTaFap5uHHsJCv6dL0uKWk6hyF9jms8DjyVaGsaujCaXDG8izl1mDEER0OmxaZA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "2.5.3" }, @@ -4096,24 +3950,21 @@ }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", "dependencies": { "eslint-scope": "5.1.1" } }, "node_modules/@noble/ciphers": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.5.2.tgz", - "integrity": "sha512-GADtQmZCdgbnNp+daPLc3OY3ibEtGGDV/+CzeM3MFnhiQ7ELQKlsHWYq0YbYUXx4jU3/Y1erAxU6r+hwpewqmQ==", + "version": "0.5.3", + "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@noble/curves": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.0.tgz", - "integrity": "sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==", + "license": "MIT", "dependencies": { "@noble/hashes": "1.4.0" }, @@ -4123,8 +3974,7 @@ }, "node_modules/@noble/hashes": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "license": "MIT", "engines": { "node": ">= 16" }, @@ -4141,12 +3991,13 @@ "type": "individual", "url": "https://paulmillr.com/funding/" } - ] + ], + "license": "MIT", + "peer": true }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -4157,16 +4008,14 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -4176,123 +4025,90 @@ } }, "node_modules/@nomicfoundation/edr": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.3.7.tgz", - "integrity": "sha512-v2JFWnFKRsnOa6PDUrD+sr8amcdhxnG/YbL7LzmgRGU1odWEyOF4/EwNeUajQr4ZNKVWrYnJ6XjydXtUge5OBQ==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.4.2.tgz", + "integrity": "sha512-U7v0HuZHfrsl/5FpUzuB2FYA0+FUglHHwiO6NhvLtNYKMZcPzdS6iUriMp/7GWs0SVxW3bAht9GinZPxdhVwWg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@nomicfoundation/edr-darwin-arm64": "0.4.2", + "@nomicfoundation/edr-darwin-x64": "0.4.2", + "@nomicfoundation/edr-linux-arm64-gnu": "0.4.2", + "@nomicfoundation/edr-linux-arm64-musl": "0.4.2", + "@nomicfoundation/edr-linux-x64-gnu": "0.4.2", + "@nomicfoundation/edr-linux-x64-musl": "0.4.2", + "@nomicfoundation/edr-win32-x64-msvc": "0.4.2" + }, "engines": { "node": ">= 18" - }, - "optionalDependencies": { - "@nomicfoundation/edr-darwin-arm64": "0.3.7", - "@nomicfoundation/edr-darwin-x64": "0.3.7", - "@nomicfoundation/edr-linux-arm64-gnu": "0.3.7", - "@nomicfoundation/edr-linux-arm64-musl": "0.3.7", - "@nomicfoundation/edr-linux-x64-gnu": "0.3.7", - "@nomicfoundation/edr-linux-x64-musl": "0.3.7", - "@nomicfoundation/edr-win32-x64-msvc": "0.3.7" } }, "node_modules/@nomicfoundation/edr-darwin-arm64": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.3.7.tgz", - "integrity": "sha512-6tK9Lv/lSfyBvpEQ4nsTfgxyDT1y1Uv/x8Wa+aB+E8qGo3ToexQ1BMVjxJk6PChXCDOWxB3B4KhqaZFjdhl3Ow==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.4.2.tgz", + "integrity": "sha512-S+hhepupfqpBvMa9M1PVS08sVjGXsLnjyAsjhrrsjsNuTHVLhKzhkguvBD5g4If5skrwgOaVqpag4wnQbd15kQ==", + "license": "MIT", + "peer": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-darwin-x64": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.3.7.tgz", - "integrity": "sha512-1RrQ/1JPwxrYO69e0tglFv5H+ggour5Ii3bb727+yBpBShrxtOTQ7fZyfxA5h62LCN+0Z9wYOPeQ7XFcVurMaQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.4.2.tgz", + "integrity": "sha512-/zM94AUrXz6CmcsecRNHJ50jABDUFafmGc4iBmkfX/mTp4tVZj7XTyIogrQIt0FnTaeb4CgZoLap2+8tW/Uldg==", + "license": "MIT", + "peer": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.3.7.tgz", - "integrity": "sha512-ds/CKlBoVXIihjhflhgPn13EdKWed6r5bgvMs/YwRqT5wldQAQJZWAfA2+nYm0Yi2gMGh1RUpBcfkyl4pq7G+g==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.4.2.tgz", + "integrity": "sha512-TV3Pr2tFvvmCfPCi9PaCGLtqn+oLaPKfL2NWpnoCeFFdzDQXi2L930yP1oUPY5RXd78NLdVHMkEkbhb2b6Wuvg==", + "license": "MIT", + "peer": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-arm64-musl": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.3.7.tgz", - "integrity": "sha512-e29udiRaPujhLkM3+R6ju7QISrcyOqpcaxb2FsDWBkuD7H8uU9JPZEyyUIpEp5uIY0Jh1eEJPKZKIXQmQAEAuw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.4.2.tgz", + "integrity": "sha512-PALwrLBk1M9rolXyhSX8xdhe5jL0qf/PgiCIF7W7lUyVKrI/I0oiU0EHDk/Xw7yi2UJg4WRyhhZoHYa0g4g8Qg==", + "license": "MIT", + "peer": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-x64-gnu": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.3.7.tgz", - "integrity": "sha512-/xkjmTyv+bbJ4akBCW0qzFKxPOV4AqLOmqurov+s9umHb16oOv72osSa3SdzJED2gHDaKmpMITT4crxbar4Axg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.4.2.tgz", + "integrity": "sha512-5svkftypDjAZ1LxV1onojlaqPRxrTEjJLkrUwLL+Fao5ZMe7aTnk5QQ1Jv76gW6WYZnMXNgjPhRcnw3oSNrqFA==", + "license": "MIT", + "peer": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-x64-musl": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.3.7.tgz", - "integrity": "sha512-QwBP9xlmsbf/ldZDGLcE4QiAb8Zt46E/+WLpxHBATFhGa7MrpJh6Zse+h2VlrT/SYLPbh2cpHgSmoSlqVxWG9g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.4.2.tgz", + "integrity": "sha512-qiMlXQTggdH9zfOB4Eil4rQ95z8s7QdLJcOfz5Aym12qJNkCyF9hi4cc4dDCWA0CdI3x3oLbuf8qb81SF8R45w==", + "license": "MIT", + "peer": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-win32-x64-msvc": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.3.7.tgz", - "integrity": "sha512-j/80DEnkxrF2ewdbk/gQ2EOPvgF0XSsg8D0o4+6cKhUVAW6XwtWKzIphNL6dyD2YaWEPgIrNvqiJK/aln0ww4Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.4.2.tgz", + "integrity": "sha512-hDkAb0iaMmGYwBY/rA1oCX8VpsezfQcHPEPIEGXEcWC3WbnOgIZo0Qkpu/g0OMtFOJSQlWLXvKZuV7blhnrQag==", + "license": "MIT", + "peer": true, "engines": { "node": ">= 18" } @@ -4301,6 +4117,8 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", + "license": "MIT", + "peer": true, "dependencies": { "@nomicfoundation/ethereumjs-util": "9.0.4" } @@ -4309,6 +4127,8 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", + "license": "MPL-2.0", + "peer": true, "bin": { "rlp": "bin/rlp.cjs" }, @@ -4320,6 +4140,8 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", + "license": "MPL-2.0", + "peer": true, "dependencies": { "@nomicfoundation/ethereumjs-common": "4.0.4", "@nomicfoundation/ethereumjs-rlp": "5.0.4", @@ -4342,6 +4164,8 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", + "peer": true, "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -4364,6 +4188,8 @@ "version": "9.0.4", "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", + "license": "MPL-2.0", + "peer": true, "dependencies": { "@nomicfoundation/ethereumjs-rlp": "5.0.4", "ethereum-cryptography": "0.1.3" @@ -4384,6 +4210,8 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", + "peer": true, "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -4403,29 +4231,30 @@ } }, "node_modules/@nomicfoundation/hardhat-chai-matchers": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-1.0.6.tgz", - "integrity": "sha512-f5ZMNmabZeZegEfuxn/0kW+mm7+yV7VNDxLpMOMGXWFJ2l/Ct3QShujzDRF9cOkK9Ui/hbDeOWGZqyQALDXVCQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.7.tgz", + "integrity": "sha512-RQfsiTwdf0SP+DtuNYvm4921X6VirCQq0Xyh+mnuGlTwEFSPZ/o27oQC+l+3Y/l48DDU7+ZcYBR+Fp+Rp94LfQ==", + "license": "MIT", "peer": true, "dependencies": { - "@ethersproject/abi": "^5.1.2", "@types/chai-as-promised": "^7.1.3", "chai-as-promised": "^7.1.1", "deep-eql": "^4.0.1", "ordinal": "^1.0.3" }, "peerDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.0", + "@nomicfoundation/hardhat-ethers": "^3.0.0", "chai": "^4.2.0", - "ethers": "^5.0.0", + "ethers": "^6.1.0", "hardhat": "^2.9.4" } }, "node_modules/@nomicfoundation/hardhat-ethers": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.5.tgz", - "integrity": "sha512-RNFe8OtbZK6Ila9kIlHp0+S80/0Bu/3p41HUpaRIoHLm6X3WekTd83vob3rE54Duufu1edCiBDxspBzi2rxHHw==", - "dev": true, + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.6.tgz", + "integrity": "sha512-/xzkFQAaHQhmIAYOQmvHBPwL+NkwLzT9gRZBsgWUYeV+E6pzXsBQsHfRYbAZ3XEYare+T7S+5Tg/1KDJgepSkA==", + "license": "MIT", + "peer": true, "dependencies": { "debug": "^4.1.1", "lodash.isequal": "^4.5.0" @@ -4435,10 +4264,44 @@ "hardhat": "^2.0.0" } }, + "node_modules/@nomicfoundation/hardhat-ignition": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.5.tgz", + "integrity": "sha512-Y5nhFXFqt4owA6Ooag8ZBFDF2RAZElMXViknVIsi3m45pbQimS50ti6FU8HxfRkDnBARa40CIn7UGV0hrelzDw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@nomicfoundation/ignition-core": "^0.15.5", + "@nomicfoundation/ignition-ui": "^0.15.5", + "chalk": "^4.0.0", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "prompts": "^2.4.2" + }, + "peerDependencies": { + "@nomicfoundation/hardhat-verify": "^2.0.1", + "hardhat": "^2.18.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition-ethers": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ignition-ethers/-/hardhat-ignition-ethers-0.15.5.tgz", + "integrity": "sha512-W6s1QN9CFxzSVZS6w9Jcj3WLaK32z2FP5MxNU2OKY1Fn9ZzLr+miXbUbWYuRHl6dxrrl6sE8cv33Cybv19pmCg==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "@nomicfoundation/hardhat-ethers": "^3.0.4", + "@nomicfoundation/hardhat-ignition": "^0.15.5", + "@nomicfoundation/ignition-core": "^0.15.5", + "ethers": "^6.7.0", + "hardhat": "^2.18.0" + } + }, "node_modules/@nomicfoundation/hardhat-network-helpers": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.10.tgz", - "integrity": "sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.11.tgz", + "integrity": "sha512-uGPL7QSKvxrHRU69dx8jzoBvuztlLCtyFsbgfXIwIjnO3dqZRz2GNMHJoO3C3dIiUNM6jdNF4AUnoQKDscdYrA==", + "license": "MIT", "peer": true, "dependencies": { "ethereumjs-util": "^7.1.4" @@ -4448,308 +4311,300 @@ } }, "node_modules/@nomicfoundation/hardhat-toolbox": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-2.0.2.tgz", - "integrity": "sha512-vnN1AzxbvpSx9pfdRHbUzTRIXpMLPXnUlkW855VaDk6N1pwRaQ2gNzEmFAABk4lWf11E00PKwFd/q27HuwYrYg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-5.0.0.tgz", + "integrity": "sha512-FnUtUC5PsakCbwiVNsqlXVIWG5JIb5CEZoSXbJUsEBun22Bivx2jhF1/q9iQbzuaGpJKFQyOhemPB2+XlEE6pQ==", + "license": "MIT", "peerDependencies": { - "@ethersproject/abi": "^5.4.7", - "@ethersproject/providers": "^5.4.7", - "@nomicfoundation/hardhat-chai-matchers": "^1.0.0", + "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", + "@nomicfoundation/hardhat-ethers": "^3.0.0", + "@nomicfoundation/hardhat-ignition-ethers": "^0.15.0", "@nomicfoundation/hardhat-network-helpers": "^1.0.0", - "@nomiclabs/hardhat-ethers": "^2.0.0", - "@nomiclabs/hardhat-etherscan": "^3.0.0", - "@typechain/ethers-v5": "^10.1.0", - "@typechain/hardhat": "^6.1.2", + "@nomicfoundation/hardhat-verify": "^2.0.0", + "@typechain/ethers-v6": "^0.5.0", + "@typechain/hardhat": "^9.0.0", "@types/chai": "^4.2.0", "@types/mocha": ">=9.1.0", - "@types/node": ">=12.0.0", + "@types/node": ">=18.0.0", "chai": "^4.2.0", - "ethers": "^5.4.7", + "ethers": "^6.4.0", "hardhat": "^2.11.0", "hardhat-gas-reporter": "^1.0.8", "solidity-coverage": "^0.8.1", "ts-node": ">=8.0.0", - "typechain": "^8.1.0", + "typechain": "^8.3.0", "typescript": ">=4.5.0" } }, - "node_modules/@nomicfoundation/solidity-analyzer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz", - "integrity": "sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==", - "engines": { - "node": ">= 12" + "node_modules/@nomicfoundation/hardhat-verify": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.8.tgz", + "integrity": "sha512-x/OYya7A2Kcz+3W/J78dyDHxr0ezU23DKTrRKfy5wDPCnePqnr79vm8EXqX3gYps6IjPBYyGPZ9K6E5BnrWx5Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^8.1.0", + "chalk": "^2.4.2", + "debug": "^4.1.1", + "lodash.clonedeep": "^4.5.0", + "semver": "^6.3.0", + "table": "^6.8.0", + "undici": "^5.14.0" }, - "optionalDependencies": { - "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.1", - "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.1", - "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" - } - }, - "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", - "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" + "peerDependencies": { + "hardhat": "^2.0.4" } }, - "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", - "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@nomicfoundation/hardhat-verify/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/@nomicfoundation/solidity-analyzer-freebsd-x64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", - "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], + "node_modules/@nomicfoundation/hardhat-verify/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", - "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "node_modules/@nomicfoundation/hardhat-verify/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "1.1.3" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", - "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } + "node_modules/@nomicfoundation/hardhat-verify/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT", + "peer": true }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", - "integrity": "sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], + "node_modules/@nomicfoundation/hardhat-verify/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "peer": true, "engines": { - "node": ">= 10" + "node": ">=0.8.0" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz", - "integrity": "sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], + "node_modules/@nomicfoundation/hardhat-verify/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "peer": true, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", - "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "node_modules/@nomicfoundation/hardhat-verify/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", - "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], + "node_modules/@nomicfoundation/hardhat-verify/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", - "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "node_modules/@nomicfoundation/ignition-core": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-core/-/ignition-core-0.15.5.tgz", + "integrity": "sha512-FgvuoIXhakRSP524JzNQ4BviyzBBKpsFaOWubPZ4XACLT4/7vGqlJ/7DIn0D2NL2anQ2qs98/BNBY9WccXUX1Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/address": "5.6.1", + "@nomicfoundation/solidity-analyzer": "^0.1.1", + "cbor": "^9.0.0", + "debug": "^4.3.2", + "ethers": "^6.7.0", + "fs-extra": "^10.0.0", + "immer": "10.0.2", + "lodash": "4.17.21", + "ndjson": "2.0.0" } }, - "node_modules/@nomiclabs/hardhat-ethers": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.3.tgz", - "integrity": "sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg==", + "node_modules/@nomicfoundation/ignition-core/node_modules/@ethersproject/address": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz", + "integrity": "sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", "peer": true, - "peerDependencies": { - "ethers": "^5.0.0", - "hardhat": "^2.0.0" + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.1" } }, - "node_modules/@nomiclabs/hardhat-etherscan": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.8.tgz", - "integrity": "sha512-v5F6IzQhrsjHh6kQz4uNrym49brK9K5bYCq2zQZ729RYRaifI9hHbtmK+KkIVevfhut7huQFEQ77JLRMAzWYjQ==", - "deprecated": "The @nomiclabs/hardhat-etherscan package is deprecated, please use @nomicfoundation/hardhat-verify instead", + "node_modules/@nomicfoundation/ignition-core/node_modules/cbor": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-9.0.2.tgz", + "integrity": "sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==", + "license": "MIT", "peer": true, "dependencies": { - "@ethersproject/abi": "^5.1.2", - "@ethersproject/address": "^5.0.2", - "cbor": "^8.1.0", - "chalk": "^2.4.2", - "debug": "^4.1.1", - "fs-extra": "^7.0.1", - "lodash": "^4.17.11", - "semver": "^6.3.0", - "table": "^6.8.0", - "undici": "^5.14.0" + "nofilter": "^3.1.0" }, - "peerDependencies": { - "hardhat": "^2.0.4" + "engines": { + "node": ">=16" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@nomicfoundation/ignition-ui": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.5.tgz", + "integrity": "sha512-ZcE4rIn10qKahR4OqS8rl8NM2Fbg2QYiBXgMgj74ZI0++LlCcZgB5HyaBbX+lsnKHjTXtjYD3b+2mtg7jFbAMQ==", + "peer": true + }, + "node_modules/@nomicfoundation/solidity-analyzer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", + "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", + "license": "MIT", "peer": true, - "dependencies": { - "color-convert": "^1.9.0" + "engines": { + "node": ">= 12" }, + "optionalDependencies": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", + "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", + "license": "MIT", + "optional": true, + "peer": true, "engines": { - "node": ">=4" + "node": ">= 12" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", + "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", + "license": "MIT", + "optional": true, "peer": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, "engines": { - "node": ">=4" + "node": ">= 12" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", + "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", + "license": "MIT", + "optional": true, "peer": true, - "dependencies": { - "color-name": "1.1.3" + "engines": { + "node": ">= 12" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "peer": true + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", + "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 12" + } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", + "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", + "license": "MIT", + "optional": true, "peer": true, "engines": { - "node": ">=0.8.0" + "node": ">= 12" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", + "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", + "license": "MIT", + "optional": true, "peer": true, "engines": { - "node": ">=4" + "node": ">= 12" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", + "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", + "license": "MIT", + "optional": true, "peer": true, - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">= 12" } }, "node_modules/@nuxtjs/opencollective": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "consola": "^2.15.0", @@ -4763,19 +4618,23 @@ "npm": ">=5.0.0" } }, + "node_modules/@openzeppelin/contracts": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.0.2.tgz", + "integrity": "sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA==", + "license": "MIT" + }, "node_modules/@paralleldrive/cuid2": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.2.2.tgz", - "integrity": "sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==", "dev": true, + "license": "MIT", "dependencies": { "@noble/hashes": "^1.1.5" } }, "node_modules/@personaelabs/spartan-ecdsa": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@personaelabs/spartan-ecdsa/-/spartan-ecdsa-2.3.1.tgz", - "integrity": "sha512-svnU2vx6eEhndNOcVxCMpFec1ubEg2VAqGBEMI/QB/eWD11VdFYEmb4boRqr1HzxHMAf8H/gJzg13stATYzJRQ==", + "license": "MIT", "dependencies": { "@ethereumjs/util": "^8.0.3", "@zk-kit/incremental-merkle-tree": "^1.0.0", @@ -4785,8 +4644,7 @@ }, "node_modules/@personaelabs/spartan-ecdsa/node_modules/@iden3/binfileutils": { "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@iden3/binfileutils/-/binfileutils-0.0.12.tgz", - "integrity": "sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ==", + "license": "GPL-3.0", "dependencies": { "fastfile": "0.0.20", "ffjavascript": "^0.3.0" @@ -4794,8 +4652,7 @@ }, "node_modules/@personaelabs/spartan-ecdsa/node_modules/circom_runtime": { "version": "0.1.25", - "resolved": "https://registry.npmjs.org/circom_runtime/-/circom_runtime-0.1.25.tgz", - "integrity": "sha512-xBGsBFF5Uv6AKvbpgExYqpHfmfawH2HKe+LyjfKSRevqEV8u63i9KGHVIILsbJNW+0c5bm/66f0PUYQ7qZSkJA==", + "license": "Apache-2.0", "dependencies": { "ffjavascript": "0.3.0" }, @@ -4805,8 +4662,7 @@ }, "node_modules/@personaelabs/spartan-ecdsa/node_modules/ffjavascript": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.3.0.tgz", - "integrity": "sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ==", + "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16", "wasmcurves": "0.2.2", @@ -4815,8 +4671,7 @@ }, "node_modules/@personaelabs/spartan-ecdsa/node_modules/r1csfile": { "version": "0.0.48", - "resolved": "https://registry.npmjs.org/r1csfile/-/r1csfile-0.0.48.tgz", - "integrity": "sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw==", + "license": "GPL-3.0", "dependencies": { "@iden3/bigarray": "0.0.2", "@iden3/binfileutils": "0.0.12", @@ -4826,8 +4681,7 @@ }, "node_modules/@personaelabs/spartan-ecdsa/node_modules/snarkjs": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/snarkjs/-/snarkjs-0.7.4.tgz", - "integrity": "sha512-x4cOCR4YXSyBlLtfnUUwfbZrw8wFd/Y0lk83eexJzKwZB8ELdpH+10ts8YtDsm2/a3WK7c7p514bbE8NpqxW8w==", + "license": "GPL-3.0", "dependencies": { "@iden3/binfileutils": "0.0.12", "bfj": "^7.0.2", @@ -4845,10 +4699,9 @@ } }, "node_modules/@prisma/client": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.13.0.tgz", - "integrity": "sha512-uYdfpPncbZ/syJyiYBwGZS8Gt1PTNoErNYMuqHDa2r30rNSFtgTA/LXsSk55R7pdRTMi5pHkeP9B14K6nHmwkg==", + "version": "5.16.1", "hasInstallScript": true, + "license": "Apache-2.0", "engines": { "node": ">=16.13" }, @@ -4862,96 +4715,87 @@ } }, "node_modules/@prisma/debug": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-5.13.0.tgz", - "integrity": "sha512-699iqlEvzyCj9ETrXhs8o8wQc/eVW+FigSsHpiskSFydhjVuwTJEfj/nIYqTaWFYuxiWQRfm3r01meuW97SZaQ==", - "devOptional": true + "version": "5.16.1", + "devOptional": true, + "license": "Apache-2.0" }, "node_modules/@prisma/engines": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.13.0.tgz", - "integrity": "sha512-hIFLm4H1boj6CBZx55P4xKby9jgDTeDG0Jj3iXtwaaHmlD5JmiDkZhh8+DYWkTGchu+rRF36AVROLnk0oaqhHw==", + "version": "5.16.1", "devOptional": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "5.13.0", - "@prisma/engines-version": "5.13.0-23.b9a39a7ee606c28e3455d0fd60e78c3ba82b1a2b", - "@prisma/fetch-engine": "5.13.0", - "@prisma/get-platform": "5.13.0" + "@prisma/debug": "5.16.1", + "@prisma/engines-version": "5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303", + "@prisma/fetch-engine": "5.16.1", + "@prisma/get-platform": "5.16.1" } }, "node_modules/@prisma/engines-version": { - "version": "5.13.0-23.b9a39a7ee606c28e3455d0fd60e78c3ba82b1a2b", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.13.0-23.b9a39a7ee606c28e3455d0fd60e78c3ba82b1a2b.tgz", - "integrity": "sha512-AyUuhahTINGn8auyqYdmxsN+qn0mw3eg+uhkp8zwknXYIqoT3bChG4RqNY/nfDkPvzWAPBa9mrDyBeOnWSgO6A==", - "devOptional": true + "version": "5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303", + "devOptional": true, + "license": "Apache-2.0" }, "node_modules/@prisma/fetch-engine": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-5.13.0.tgz", - "integrity": "sha512-Yh4W+t6YKyqgcSEB3odBXt7QyVSm0OQlBSldQF2SNXtmOgMX8D7PF/fvH6E6qBCpjB/yeJLy/FfwfFijoHI6sA==", + "version": "5.16.1", "devOptional": true, + "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "5.13.0", - "@prisma/engines-version": "5.13.0-23.b9a39a7ee606c28e3455d0fd60e78c3ba82b1a2b", - "@prisma/get-platform": "5.13.0" + "@prisma/debug": "5.16.1", + "@prisma/engines-version": "5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303", + "@prisma/get-platform": "5.16.1" } }, "node_modules/@prisma/generator-helper": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@prisma/generator-helper/-/generator-helper-5.13.0.tgz", - "integrity": "sha512-i+53beJ0dxkDrkHdsXxmeMf+eVhyhOIpL0SdBga8vwe0qHPrAIJ/lpuT/Hj0y5awTmq40qiUEmhXwCEuM/Z17w==", + "version": "5.16.1", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "5.13.0" + "@prisma/debug": "5.16.1" } }, "node_modules/@prisma/get-platform": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-5.13.0.tgz", - "integrity": "sha512-B/WrQwYTzwr7qCLifQzYOmQhZcFmIFhR81xC45gweInSUn2hTEbfKUPd2keAog+y5WI5xLAFNJ3wkXplvSVkSw==", + "version": "5.16.1", "devOptional": true, + "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "5.13.0" + "@prisma/debug": "5.16.1" } }, "node_modules/@prisma/internals": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@prisma/internals/-/internals-5.13.0.tgz", - "integrity": "sha512-OPMzS+IBPzCLT4s+IfGUbOhGFY51CFbokIFMZuoSeLKWE8UvDlitiXZ3OlVqDPUc0AlH++ysQHzDISHbZD+ZUg==", - "dev": true, - "dependencies": { - "@prisma/debug": "5.13.0", - "@prisma/engines": "5.13.0", - "@prisma/fetch-engine": "5.13.0", - "@prisma/generator-helper": "5.13.0", - "@prisma/get-platform": "5.13.0", - "@prisma/prisma-schema-wasm": "5.13.0-23.b9a39a7ee606c28e3455d0fd60e78c3ba82b1a2b", - "@prisma/schema-files-loader": "5.13.0", + "version": "5.16.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.16.1", + "@prisma/engines": "5.16.1", + "@prisma/fetch-engine": "5.16.1", + "@prisma/generator-helper": "5.16.1", + "@prisma/get-platform": "5.16.1", + "@prisma/prisma-schema-wasm": "5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303", + "@prisma/schema-files-loader": "5.16.1", "arg": "5.0.2", "prompts": "2.4.2" } }, "node_modules/@prisma/prisma-schema-wasm": { - "version": "5.13.0-23.b9a39a7ee606c28e3455d0fd60e78c3ba82b1a2b", - "resolved": "https://registry.npmjs.org/@prisma/prisma-schema-wasm/-/prisma-schema-wasm-5.13.0-23.b9a39a7ee606c28e3455d0fd60e78c3ba82b1a2b.tgz", - "integrity": "sha512-+IhHvuE1wKlyOpJgwAhGop1oqEt+1eixrCeikBIshRhdX6LwjmtRxVxVMlP5nS1yyughmpfkysIW4jZTa+Zjuw==", - "dev": true + "version": "5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303", + "dev": true, + "license": "Apache-2.0" }, "node_modules/@prisma/schema-files-loader": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@prisma/schema-files-loader/-/schema-files-loader-5.13.0.tgz", - "integrity": "sha512-6sVMoqobkWKsmzb98LfLiIt/aFRucWfkzSUBsqk7sc+h99xjynJt6aKtM2SSkyndFdWpRU0OiCHfQ9UlYUEJIw==", + "version": "5.16.1", "dev": true, + "license": "Apache-2.0", "dependencies": { + "@prisma/prisma-schema-wasm": "5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303", "fs-extra": "11.1.1" } }, "node_modules/@prisma/schema-files-loader/node_modules/fs-extra": { "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -4961,93 +4805,35 @@ "node": ">=14.14" } }, - "node_modules/@prisma/schema-files-loader/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@prisma/schema-files-loader/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@rushstack/eslint-patch": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", - "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==" + "version": "1.10.3", + "license": "MIT" }, "node_modules/@scure/base": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.6.tgz", - "integrity": "sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==", + "version": "1.1.7", + "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@scure/bip32": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.3.tgz", - "integrity": "sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==", - "dependencies": { - "@noble/curves": "~1.3.0", - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32/node_modules/@noble/curves": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", - "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", + "version": "1.4.0", + "license": "MIT", "dependencies": { - "@noble/hashes": "1.3.3" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32/node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", - "engines": { - "node": ">= 16" + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@scure/bip39": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.2.tgz", - "integrity": "sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==", + "version": "1.3.0", + "license": "MIT", "dependencies": { - "@noble/hashes": "~1.3.2", - "@scure/base": "~1.1.4" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip39/node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", - "engines": { - "node": ">= 16" + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -5057,6 +4843,8 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -5071,12 +4859,16 @@ "node_modules/@sentry/core/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD", + "peer": true }, "node_modules/@sentry/hub": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", @@ -5089,12 +4881,16 @@ "node_modules/@sentry/hub/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD", + "peer": true }, "node_modules/@sentry/minimal": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sentry/hub": "5.30.0", "@sentry/types": "5.30.0", @@ -5107,12 +4903,16 @@ "node_modules/@sentry/minimal/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD", + "peer": true }, "node_modules/@sentry/node": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sentry/core": "5.30.0", "@sentry/hub": "5.30.0", @@ -5132,6 +4932,8 @@ "version": "0.4.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "license": "MIT", + "peer": true, "engines": { "node": ">= 0.6" } @@ -5139,12 +4941,16 @@ "node_modules/@sentry/node/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD", + "peer": true }, "node_modules/@sentry/tracing": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "license": "MIT", + "peer": true, "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -5159,12 +4965,16 @@ "node_modules/@sentry/tracing/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD", + "peer": true }, "node_modules/@sentry/types": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=6" } @@ -5173,6 +4983,8 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sentry/types": "5.30.0", "tslib": "^1.9.3" @@ -5184,28 +4996,27 @@ "node_modules/@sentry/utils/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD", + "peer": true }, "node_modules/@sinclair/typebox": { "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sinonjs/commons": { "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } @@ -5214,6 +5025,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.5.tgz", "integrity": "sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==", + "license": "MIT", "peer": true, "dependencies": { "antlr4ts": "^0.5.0-alpha.4" @@ -5221,26 +5033,22 @@ }, "node_modules/@stablelib/aead": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", - "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" + "license": "MIT" }, "node_modules/@stablelib/binary": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "license": "MIT", "dependencies": { "@stablelib/int": "^1.0.1" } }, "node_modules/@stablelib/bytes": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", - "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" + "license": "MIT" }, "node_modules/@stablelib/chacha": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", - "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", + "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" @@ -5248,8 +5056,7 @@ }, "node_modules/@stablelib/chacha20poly1305": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", - "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", + "license": "MIT", "dependencies": { "@stablelib/aead": "^1.0.1", "@stablelib/binary": "^1.0.1", @@ -5261,13 +5068,11 @@ }, "node_modules/@stablelib/constant-time": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", - "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" + "license": "MIT" }, "node_modules/@stablelib/ed25519": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", - "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", + "license": "MIT", "dependencies": { "@stablelib/random": "^1.0.2", "@stablelib/sha512": "^1.0.1", @@ -5276,26 +5081,22 @@ }, "node_modules/@stablelib/hash": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", - "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" + "license": "MIT" }, "node_modules/@stablelib/int": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + "license": "MIT" }, "node_modules/@stablelib/keyagreement": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", - "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", + "license": "MIT", "dependencies": { "@stablelib/bytes": "^1.0.1" } }, "node_modules/@stablelib/poly1305": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", - "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", + "license": "MIT", "dependencies": { "@stablelib/constant-time": "^1.0.1", "@stablelib/wipe": "^1.0.1" @@ -5303,8 +5104,7 @@ }, "node_modules/@stablelib/random": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", - "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" @@ -5312,8 +5112,7 @@ }, "node_modules/@stablelib/sha256": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", - "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", + "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/hash": "^1.0.1", @@ -5322,8 +5121,7 @@ }, "node_modules/@stablelib/sha512": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", - "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", + "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/hash": "^1.0.1", @@ -5332,13 +5130,11 @@ }, "node_modules/@stablelib/wipe": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + "license": "MIT" }, "node_modules/@stablelib/x25519": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", - "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", + "license": "MIT", "dependencies": { "@stablelib/keyagreement": "^1.0.1", "@stablelib/random": "^1.0.2", @@ -5347,8 +5143,7 @@ }, "node_modules/@stablelib/xchacha20": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/xchacha20/-/xchacha20-1.0.1.tgz", - "integrity": "sha512-1YkiZnFF4veUwBVhDnDYwo6EHeKzQK4FnLiO7ezCl/zu64uG0bCCAUROJaBkaLH+5BEsO3W7BTXTguMbSLlWSw==", + "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/chacha": "^1.0.1", @@ -5357,8 +5152,7 @@ }, "node_modules/@stablelib/xchacha20poly1305": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/xchacha20poly1305/-/xchacha20poly1305-1.0.1.tgz", - "integrity": "sha512-B1Abj0sMJ8h3HNmGnJ7vHBrAvxuNka6cJJoZ1ILN7iuacXp7sUYcgOVEOTLWj+rtQMpspY9tXSCRLPmN1mQNWg==", + "license": "MIT", "dependencies": { "@stablelib/aead": "^1.0.1", "@stablelib/chacha20poly1305": "^1.0.1", @@ -5369,62 +5163,67 @@ }, "node_modules/@tsconfig/node10": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==" + "license": "MIT" }, "node_modules/@tsconfig/node12": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + "license": "MIT" }, "node_modules/@tsconfig/node14": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + "license": "MIT" }, "node_modules/@tsconfig/node16": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + "license": "MIT" }, - "node_modules/@typechain/ethers-v5": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.1.tgz", - "integrity": "sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A==", + "node_modules/@typechain/ethers-v6": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v6/-/ethers-v6-0.5.1.tgz", + "integrity": "sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA==", + "license": "MIT", "peer": true, "dependencies": { "lodash": "^4.17.15", "ts-essentials": "^7.0.1" }, "peerDependencies": { - "@ethersproject/abi": "^5.0.0", - "@ethersproject/providers": "^5.0.0", - "ethers": "^5.1.3", - "typechain": "^8.1.1", - "typescript": ">=4.3.0" + "ethers": "6.x", + "typechain": "^8.3.2", + "typescript": ">=4.7.0" + } + }, + "node_modules/@typechain/ethers-v6/node_modules/ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "typescript": ">=3.7.0" } }, "node_modules/@typechain/hardhat": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-6.1.6.tgz", - "integrity": "sha512-BiVnegSs+ZHVymyidtK472syodx1sXYlYJJixZfRstHVGYTi8V1O7QG4nsjyb0PC/LORcq7sfBUcHto1y6UgJA==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-9.1.0.tgz", + "integrity": "sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA==", + "license": "MIT", "peer": true, "dependencies": { "fs-extra": "^9.1.0" }, "peerDependencies": { - "@ethersproject/abi": "^5.4.7", - "@ethersproject/providers": "^5.4.7", - "@typechain/ethers-v5": "^10.2.1", - "ethers": "^5.4.7", + "@typechain/ethers-v6": "^0.5.1", + "ethers": "^6.1.0", "hardhat": "^2.9.9", - "typechain": "^8.1.1" + "typechain": "^8.3.2" } }, "node_modules/@typechain/hardhat/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "peer": true, "dependencies": { "at-least-node": "^1.0.0", @@ -5436,32 +5235,10 @@ "node": ">=10" } }, - "node_modules/@typechain/hardhat/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "peer": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@typechain/hardhat/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "peer": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@types/babel__core": { "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -5472,69 +5249,65 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "version": "7.20.6", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/bcrypt": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz", - "integrity": "sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/bn.js": { "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", - "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/body-parser": { "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dev": true, + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/chai": { - "version": "4.3.15", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.15.tgz", - "integrity": "sha512-PYVSvyeZqy9++MoSegq88PxoPndWDDLGbJmE/OZnzUk3D4cCRTmA4N6EX3g0GgLVA+vtys7bj4luhkVCglGTkQ==", + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", + "license": "MIT", "peer": true }, "node_modules/@types/chai-as-promised": { "version": "7.1.8", "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", + "license": "MIT", "peer": true, "dependencies": { "@types/chai": "*" @@ -5542,14 +5315,14 @@ }, "node_modules/@types/circomlibjs": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@types/circomlibjs/-/circomlibjs-0.1.6.tgz", - "integrity": "sha512-yF174bPDaiKgejlZzCSqKwZaqXhlxMcVEHrAtstFohwP05OjtvHXOdxO6HQeTg8WwIdgMg7MJb1WyWZdUCGlPQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "license": "MIT", "peer": true, "dependencies": { "@types/node": "*" @@ -5557,58 +5330,51 @@ }, "node_modules/@types/connect": { "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/cookiejar": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", - "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/cron": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/cron/-/cron-2.4.0.tgz", - "integrity": "sha512-5bBaAkqvSFBX8JMi/xCofNzG5E594TNsApMz68dLd/sQYz/HGQqgcxGHTRjOvD4G3Y+YF1Oo3S7QdCvKt1KAJQ==", "deprecated": "This is a stub types definition. cron provides its own type definitions, so you do not need this installed.", "dev": true, + "license": "MIT", "dependencies": { "cron": "*" } }, "node_modules/@types/crypto-js": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz", - "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/ed2curve": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@types/ed2curve/-/ed2curve-0.2.4.tgz", - "integrity": "sha512-1m9IX8qypOa0K1NfdMsMxB3gjhKyXbr5Yl9FzzwWQjLSDFGLkvRvSfla1NYqzIt72ocIALMXsF+twRlzr1ov/g==", "dev": true, + "license": "MIT", "dependencies": { "tweetnacl": "^1.0.0" } }, "node_modules/@types/elliptic": { "version": "6.4.18", - "resolved": "https://registry.npmjs.org/@types/elliptic/-/elliptic-6.4.18.tgz", - "integrity": "sha512-UseG6H5vjRiNpQvrhy4VF/JXdA3V/Fp5amvveaL+fs28BZ6xIKJBPnUPRlEaZpysD9MbpfaLi8lbl7PGUAkpWw==", "dev": true, + "license": "MIT", "dependencies": { "@types/bn.js": "*" } }, "node_modules/@types/eslint": { "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -5616,9 +5382,8 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dev": true, + "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -5626,15 +5391,13 @@ }, "node_modules/@types/estree": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/express": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -5643,10 +5406,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz", - "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==", + "version": "4.19.5", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -5658,6 +5420,7 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "license": "MIT", "peer": true, "dependencies": { "@types/node": "*" @@ -5667,6 +5430,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "license": "MIT", "peer": true, "dependencies": { "@types/minimatch": "*", @@ -5675,48 +5439,42 @@ }, "node_modules/@types/graceful-fs": { "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/http-errors": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { "version": "28.1.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.4.tgz", - "integrity": "sha512-telv6G5N7zRJiLcI3Rs3o+ipZ28EnE+7EvF0pSrt2pZOMnAVI/f+6/LucDxOvcBcTeTL3JMF744BbVQAVBUQRA==", "dev": true, + "license": "MIT", "dependencies": { "jest-matcher-utils": "^28.0.0", "pretty-format": "^28.0.0" @@ -5724,18 +5482,15 @@ }, "node_modules/@types/json-schema": { "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "license": "MIT" }, "node_modules/@types/jsonwebtoken": { "version": "8.5.8", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", - "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -5743,61 +5498,61 @@ "node_modules/@types/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "license": "MIT", + "peer": true }, "node_modules/@types/luxon": { "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.8.tgz", - "integrity": "sha512-jYvz8UMLDgy3a5SkGJne8H7VA7zPV2Lwohjx0V8V31+SqAjNmurWMkk9cQhfvlcnXWudBpK9xPM1n4rljOcHYQ==" + "license": "MIT" }, "node_modules/@types/methods": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", - "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "license": "MIT", "peer": true }, "node_modules/@types/mocha": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", - "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", + "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", + "license": "MIT", "peer": true }, "node_modules/@types/node": { - "version": "16.18.96", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.96.tgz", - "integrity": "sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==" + "version": "20.14.9", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/parse-json": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + "license": "MIT" }, "node_modules/@types/passport": { "version": "1.0.16", - "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.16.tgz", - "integrity": "sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A==", "dev": true, + "license": "MIT", "dependencies": { "@types/express": "*" } }, "node_modules/@types/passport-jwt": { "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.13.tgz", - "integrity": "sha512-fjHaC6Bv8EpMMqzTnHP32SXlZGaNfBPC/Po5dmRGYi2Ky7ljXPbGnOy+SxZqa6iZvFgVhoJ1915Re3m93zmcfA==", "dev": true, + "license": "MIT", "dependencies": { "@types/express": "*", "@types/jsonwebtoken": "*", @@ -5806,9 +5561,8 @@ }, "node_modules/@types/passport-strategy": { "version": "0.2.38", - "resolved": "https://registry.npmjs.org/@types/passport-strategy/-/passport-strategy-0.2.38.tgz", - "integrity": "sha512-GC6eMqqojOooq993Tmnmp7AUTbbQSgilyvpCYQjT+H6JfG/g6RGc7nXEniZlp0zyKJ0WUdOiZWLBZft9Yug1uA==", "dev": true, + "license": "MIT", "dependencies": { "@types/express": "*", "@types/passport": "*" @@ -5818,44 +5572,41 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/prettier": { "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + "license": "MIT" }, "node_modules/@types/qs": { "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/secp256k1": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/semver": { "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "license": "MIT" }, "node_modules/@types/send": { "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", "dev": true, + "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -5863,9 +5614,8 @@ }, "node_modules/@types/serve-static": { "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", "dev": true, + "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", @@ -5874,15 +5624,13 @@ }, "node_modules/@types/stack-utils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/superagent": { - "version": "8.1.6", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.6.tgz", - "integrity": "sha512-yzBOv+6meEHSzV2NThYYOA6RtqvPr3Hbob9ZLp3i07SH27CrYVfm8CrF7ydTmidtelsFiKx2I4gZAiAOamGgvQ==", + "version": "8.1.7", "dev": true, + "license": "MIT", "dependencies": { "@types/cookiejar": "^2.1.5", "@types/methods": "^1.1.4", @@ -5891,37 +5639,32 @@ }, "node_modules/@types/supertest": { "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz", - "integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==", "dev": true, + "license": "MIT", "dependencies": { "@types/superagent": "*" } }, "node_modules/@types/uuid": { "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" + "license": "MIT" }, "node_modules/@types/yargs": { "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -5951,40 +5694,9 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/@typescript-eslint/experimental-utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", - "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "5.62.0" }, @@ -6001,8 +5713,7 @@ }, "node_modules/@typescript-eslint/parser": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -6027,8 +5738,7 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -6043,8 +5753,7 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -6069,8 +5778,7 @@ }, "node_modules/@typescript-eslint/types": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -6081,8 +5789,7 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -6105,40 +5812,9 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/@typescript-eslint/utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -6160,40 +5836,9 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -6208,29 +5853,25 @@ }, "node_modules/@ucast/core": { "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@ucast/core/-/core-1.10.2.tgz", - "integrity": "sha512-ons5CwXZ/51wrUPfoduC+cO7AS1/wRb0ybpQJ9RrssossDxVy4t49QxWoWgfBDvVKsz9VXzBk9z0wqTdZ+Cq8g==" + "license": "Apache-2.0" }, "node_modules/@ucast/js": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@ucast/js/-/js-3.0.4.tgz", - "integrity": "sha512-TgG1aIaCMdcaEyckOZKQozn1hazE0w90SVdlpIJ/er8xVumE11gYAtSbw/LBeUnA4fFnFWTcw3t6reqseeH/4Q==", + "license": "Apache-2.0", "dependencies": { "@ucast/core": "^1.0.0" } }, "node_modules/@ucast/mongo": { "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@ucast/mongo/-/mongo-2.4.3.tgz", - "integrity": "sha512-XcI8LclrHWP83H+7H2anGCEeDq0n+12FU2mXCTz6/Tva9/9ddK/iacvvhCyW6cijAAOILmt0tWplRyRhVyZLsA==", + "license": "Apache-2.0", "dependencies": { "@ucast/core": "^1.4.1" } }, "node_modules/@ucast/mongo2js": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@ucast/mongo2js/-/mongo2js-1.3.4.tgz", - "integrity": "sha512-ahazOr1HtelA5AC1KZ9x0UwPMqqimvfmtSm/PRRSeKKeE5G2SCqTgwiNzO7i9jS8zA3dzXpKVPpXMkcYLnyItA==", + "license": "Apache-2.0", "dependencies": { "@ucast/core": "^1.6.1", "@ucast/js": "^3.0.0", @@ -6239,14 +5880,12 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + "license": "ISC" }, "node_modules/@webassemblyjs/ast": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -6254,27 +5893,23 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -6283,15 +5918,13 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -6301,33 +5934,29 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -6341,9 +5970,8 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -6354,9 +5982,8 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -6366,9 +5993,8 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -6380,9 +6006,8 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, + "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" @@ -6390,31 +6015,28 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/@zk-kit/incremental-merkle-tree": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@zk-kit/incremental-merkle-tree/-/incremental-merkle-tree-1.1.0.tgz", - "integrity": "sha512-WnNR/GQse3lX8zOHMU8zwhgX8u3qPoul8w4GjJ0WDHq+VGJimo7EGheRZ/ILeBQabnlzAerdv3vBqYBehBeoKA==" + "license": "MIT" }, "node_modules/abbrev": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==", + "license": "ISC", "peer": true }, "node_modules/accepts": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -6424,9 +6046,8 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.0", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -6436,25 +6057,34 @@ }, "node_modules/acorn-import-assertions": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "dev": true, + "license": "MIT", + "peer": true, "peerDependencies": { "acorn": "^8" } }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "version": "8.3.3", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { "node": ">=0.4.0" } @@ -6463,19 +6093,22 @@ "version": "0.4.16", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "license": "MIT", + "peer": true, "engines": { "node": ">=0.3.0" } }, "node_modules/aes-js": { "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" + "license": "MIT" }, "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "peer": true, "dependencies": { "debug": "4" }, @@ -6487,6 +6120,8 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "peer": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -6497,8 +6132,7 @@ }, "node_modules/ajv": { "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -6512,9 +6146,8 @@ }, "node_modules/ajv-formats": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -6531,7 +6164,9 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "license": "BSD-3-Clause OR MIT", "optional": true, + "peer": true, "engines": { "node": ">=0.4.2" } @@ -6540,22 +6175,22 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "peer": true, "dependencies": { "string-width": "^4.1.0" } }, "node_modules/ansi-colors": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -6568,8 +6203,7 @@ }, "node_modules/ansi-escapes/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -6579,16 +6213,14 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -6603,12 +6235,12 @@ "version": "0.5.0-alpha.4", "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -6619,32 +6251,29 @@ }, "node_modules/append-field": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" + "license": "MIT" }, "node_modules/arg": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "license": "Python-2.0" }, "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "version": "5.1.3", + "license": "Apache-2.0", "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" } }, "node_modules/array-back": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -6652,8 +6281,7 @@ }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "is-array-buffer": "^3.0.4" @@ -6667,13 +6295,11 @@ }, "node_modules/array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "license": "MIT" }, "node_modules/array-includes": { "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -6691,8 +6317,7 @@ }, "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -6701,6 +6326,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -6708,8 +6334,7 @@ }, "node_modules/array.prototype.findlast": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -6727,8 +6352,7 @@ }, "node_modules/array.prototype.findlastindex": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -6746,8 +6370,7 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -6763,8 +6386,7 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -6780,8 +6402,7 @@ }, "node_modules/array.prototype.toreversed": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -6790,21 +6411,22 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "version": "1.1.4", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", @@ -6824,13 +6446,13 @@ }, "node_modules/asap": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "license": "MIT" }, "node_modules/assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "license": "MIT", "peer": true, "engines": { "node": "*" @@ -6838,13 +6460,13 @@ }, "node_modules/ast-types-flow": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + "license": "MIT" }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -6852,18 +6474,17 @@ }, "node_modules/async": { "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + "license": "MIT" }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "license": "MIT" }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "peer": true, "engines": { "node": ">= 4.0.0" @@ -6871,8 +6492,7 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -6884,17 +6504,17 @@ } }, "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "version": "4.9.1", + "license": "MPL-2.0", "engines": { "node": ">=4" } }, "node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "license": "MIT", "peer": true, "dependencies": { "follow-redirects": "^1.15.6", @@ -6903,23 +6523,20 @@ } }, "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "version": "3.1.1", + "license": "Apache-2.0", "dependencies": { - "dequal": "^2.0.3" + "deep-equal": "^2.0.5" } }, "node_modules/b4a": { "version": "1.6.6", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", - "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==" + "license": "Apache-2.0" }, "node_modules/babel-jest": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", "dev": true, + "license": "MIT", "dependencies": { "@jest/transform": "^28.1.3", "@types/babel__core": "^7.1.14", @@ -6938,9 +6555,8 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -6954,9 +6570,8 @@ }, "node_modules/babel-plugin-jest-hoist": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -6969,8 +6584,7 @@ }, "node_modules/babel-plugin-macros": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", @@ -6983,8 +6597,7 @@ }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.6.2", @@ -6994,10 +6607,16 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.1", "core-js-compat": "^3.36.1" @@ -7008,8 +6627,7 @@ }, "node_modules/babel-plugin-polyfill-regenerator": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.2" }, @@ -7019,14 +6637,12 @@ }, "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + "license": "MIT" }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -7047,9 +6663,8 @@ }, "node_modules/babel-preset-jest": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^28.1.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -7063,8 +6678,7 @@ }, "node_modules/babel-preset-react-app": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-proposal-class-properties": "^7.16.0", @@ -7086,21 +6700,19 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "license": "MIT" }, "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/base64-js": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ { @@ -7115,17 +6727,16 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + "version": "2.0.0", + "license": "MIT" }, "node_modules/bfj": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", - "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", "dependencies": { "bluebird": "^3.7.2", "check-types": "^11.2.3", @@ -7139,16 +6750,14 @@ }, "node_modules/bignumber.js": { "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "license": "MIT", "engines": { "node": "*" } }, "node_modules/binary-extensions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -7158,9 +6767,8 @@ }, "node_modules/bl": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -7169,9 +6777,8 @@ }, "node_modules/blake-hash": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/blake-hash/-/blake-hash-2.0.0.tgz", - "integrity": "sha512-Igj8YowDu1PRkRsxZA7NVkdFNxH5rKv5cpLxQ0CVXSIA77pVYwCPRQJ2sMew/oneUpfuYRyjG6r8SmmmnbZb1w==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-addon-api": "^3.0.0", "node-gyp-build": "^4.2.2", @@ -7183,8 +6790,7 @@ }, "node_modules/blake2b": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.4.tgz", - "integrity": "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A==", + "license": "ISC", "dependencies": { "blake2b-wasm": "^2.4.0", "nanoassert": "^2.0.0" @@ -7192,8 +6798,7 @@ }, "node_modules/blake2b-wasm": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz", - "integrity": "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==", + "license": "MIT", "dependencies": { "b4a": "^1.0.1", "nanoassert": "^2.0.0" @@ -7202,22 +6807,20 @@ "node_modules/blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "license": "MIT" }, "node_modules/bluebird": { "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "license": "MIT" }, "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + "version": "4.12.0", + "license": "MIT" }, "node_modules/body-parser": { "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -7239,21 +6842,21 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/boxen": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "license": "MIT", + "peer": true, "dependencies": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", @@ -7273,19 +6876,17 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -7293,18 +6894,20 @@ }, "node_modules/brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + "license": "MIT" }, "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "license": "ISC", + "peer": true }, "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -7315,9 +6918,7 @@ } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.23.1", "funding": [ { "type": "opencollective", @@ -7332,11 +6933,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.0.16" }, "bin": { "browserslist": "cli.js" @@ -7347,9 +6949,8 @@ }, "node_modules/bs-logger": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "2.x" }, @@ -7361,6 +6962,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", "dependencies": { "base-x": "^3.0.2" } @@ -7369,6 +6971,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "license": "MIT", "dependencies": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -7377,26 +6980,22 @@ }, "node_modules/bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, "node_modules/bson": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.6.0.tgz", - "integrity": "sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA==", + "version": "6.8.0", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=16.20.1" } }, "node_modules/buffer": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -7412,6 +7011,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -7419,28 +7019,24 @@ }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "license": "BSD-3-Clause" }, "node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "license": "MIT" }, "node_modules/buffer-reverse": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", - "integrity": "sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==" + "license": "MIT" }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "license": "MIT" }, "node_modules/busboy": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { "streamsearch": "^1.1.0" }, @@ -7450,16 +7046,14 @@ }, "node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/call-bind": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -7476,16 +7070,14 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -7494,9 +7086,7 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001615", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001615.tgz", - "integrity": "sha512-1IpazM5G3r38meiae0bHRnPhz+CBQ3ZLqbQMtrg+AsTPKAXgW38JNsXkyZ+v8waCsDmPq87lmfun5Q2AGysNEQ==", + "version": "1.0.30001639", "funding": [ { "type": "opencollective", @@ -7510,23 +7100,25 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/canonicalize": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", - "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" + "license": "Apache-2.0" }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "license": "Apache-2.0", "peer": true }, "node_modules/cbor": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "license": "MIT", "peer": true, "dependencies": { "nofilter": "^3.1.0" @@ -7539,6 +7131,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "license": "MIT", "peer": true, "dependencies": { "assertion-error": "^1.1.0", @@ -7554,21 +7147,21 @@ } }, "node_modules/chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", + "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", + "license": "WTFPL", "peer": true, "dependencies": { "check-error": "^1.0.2" }, "peerDependencies": { - "chai": ">= 2.1.2 < 5" + "chai": ">= 2.1.2 < 6" } }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -7582,23 +7175,22 @@ }, "node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/chardet": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "license": "BSD-3-Clause", "peer": true, "engines": { "node": "*" @@ -7608,6 +7200,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "license": "MIT", "peer": true, "dependencies": { "get-func-name": "^2.0.2" @@ -7618,19 +7211,17 @@ }, "node_modules/check-types": { "version": "11.2.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", - "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" + "license": "MIT" }, "node_modules/chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -7648,10 +7239,9 @@ } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0" } @@ -7659,12 +7249,13 @@ "node_modules/ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "license": "MIT", + "peer": true }, "node_modules/cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -7672,8 +7263,7 @@ }, "node_modules/circom_runtime": { "version": "0.1.22", - "resolved": "https://registry.npmjs.org/circom_runtime/-/circom_runtime-0.1.22.tgz", - "integrity": "sha512-V/XYZWBhbZY8SotkaGH4FbiDYAZ8a1Md++MBiKPDOuWS/NIJB+Q+XIiTC8zKMgoDaa9cd2OiTvsC9J6te7twNg==", + "license": "Apache-2.0", "dependencies": { "ffjavascript": "0.2.57" }, @@ -7683,8 +7273,7 @@ }, "node_modules/circom_runtime/node_modules/ffjavascript": { "version": "0.2.57", - "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.2.57.tgz", - "integrity": "sha512-V+vxZ/zPNcthrWmqfe/1YGgqdkTamJeXiED0tsk7B84g40DKlrTdx47IqZuiygqAVG6zMw4qYuvXftIJWsmfKQ==", + "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16", "wasmcurves": "0.2.0", @@ -7693,21 +7282,18 @@ }, "node_modules/circom_runtime/node_modules/wasmcurves": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/wasmcurves/-/wasmcurves-0.2.0.tgz", - "integrity": "sha512-3e2rbxdujOwaod657gxgmdhZNn+i1qKdHO3Y/bK+8E7bV8ttV/fu5FO4/WLBACF375cK0QDLOP+65Na63qYuWA==", + "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16" } }, "node_modules/circomlib": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/circomlib/-/circomlib-2.0.5.tgz", - "integrity": "sha512-O7NQ8OS+J4eshBuoy36z/TwQU0YHw8W3zxZcs4hVwpEll3e4hDm3mgkIPqItN8FDeLEKZFK3YeT/+k8TiLF3/A==" + "license": "GPL-3.0" }, "node_modules/circomlibjs": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/circomlibjs/-/circomlibjs-0.1.7.tgz", - "integrity": "sha512-GRAUoAlKAsiiTa+PA725G9RmEmJJRc8tRFxw/zKktUxlQISGznT4hH4ESvW8FNTsrGg/nNd06sGP/Wlx0LUHVg==", + "license": "GPL-3.0", "dependencies": { "blake-hash": "^2.0.0", "blake2b": "^2.1.3", @@ -7717,8 +7303,6 @@ }, "node_modules/circomlibjs/node_modules/ethers": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", "funding": [ { "type": "individual", @@ -7729,6 +7313,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", @@ -7764,19 +7349,16 @@ }, "node_modules/cjs-module-lexer": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/class-transformer": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", - "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==" + "license": "MIT" }, "node_modules/class-validator": { "version": "0.13.2", - "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz", - "integrity": "sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==", + "license": "MIT", "dependencies": { "libphonenumber-js": "^1.9.43", "validator": "^13.7.0" @@ -7786,6 +7368,8 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -7794,6 +7378,8 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "license": "MIT", + "peer": true, "engines": { "node": ">=6" }, @@ -7803,9 +7389,8 @@ }, "node_modules/cli-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, + "license": "MIT", "dependencies": { "restore-cursor": "^3.1.0" }, @@ -7815,9 +7400,8 @@ }, "node_modules/cli-spinners": { "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -7827,9 +7411,8 @@ }, "node_modules/cli-table3": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", "dev": true, + "license": "MIT", "dependencies": { "string-width": "^4.2.0" }, @@ -7842,18 +7425,16 @@ }, "node_modules/cli-width": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, + "license": "ISC", "engines": { "node": ">= 10" } }, "node_modules/cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -7865,18 +7446,16 @@ }, "node_modules/clone": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -7884,14 +7463,12 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -7901,21 +7478,18 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "license": "MIT" }, "node_modules/colors": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "license": "MIT", "engines": { "node": ">=0.1.90" } }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -7926,12 +7500,15 @@ "node_modules/command-exists": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "license": "MIT", + "peer": true }, "node_modules/command-line-args": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "license": "MIT", "peer": true, "dependencies": { "array-back": "^3.1.0", @@ -7947,6 +7524,7 @@ "version": "6.1.3", "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "license": "MIT", "peer": true, "dependencies": { "array-back": "^4.0.2", @@ -7962,6 +7540,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^1.9.0" @@ -7974,6 +7553,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -7983,6 +7563,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^3.2.1", @@ -7997,6 +7578,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "1.1.3" @@ -8006,12 +7588,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT", "peer": true }, "node_modules/command-line-usage/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.0" @@ -8021,6 +7605,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -8030,6 +7615,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^3.0.0" @@ -8042,6 +7628,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -8049,34 +7636,30 @@ }, "node_modules/commander": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/component-emitter": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "license": "MIT" }, "node_modules/concat-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "engines": [ "node >= 0.8" ], + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -8086,13 +7669,11 @@ }, "node_modules/concat-stream/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "license": "MIT" }, "node_modules/concat-stream/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8105,31 +7686,26 @@ }, "node_modules/concat-stream/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "license": "MIT" }, "node_modules/concat-stream/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/confusing-browser-globals": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + "license": "MIT" }, "node_modules/consola": { "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + "license": "MIT" }, "node_modules/content-disposition": { "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -8139,40 +7715,34 @@ }, "node_modules/content-type": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "license": "MIT" }, "node_modules/cookie": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "license": "MIT" }, "node_modules/cookiejar": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/core-js-compat": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", - "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", + "version": "3.37.1", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0" }, @@ -8183,13 +7753,11 @@ }, "node_modules/core-util-is": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "license": "MIT" }, "node_modules/cors": { "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", "dependencies": { "object-assign": "^4", "vary": "^1" @@ -8200,8 +7768,7 @@ }, "node_modules/cosmiconfig": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -8215,8 +7782,7 @@ }, "node_modules/create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -8229,6 +7795,7 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -8240,13 +7807,11 @@ }, "node_modules/create-require": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + "license": "MIT" }, "node_modules/cron": { "version": "2.4.3", - "resolved": "https://registry.npmjs.org/cron/-/cron-2.4.3.tgz", - "integrity": "sha512-YBvExkQYF7w0PxyeFLRyr817YVDhGxaCi5/uRRMqa4aWD3IFKRd+uNbpW1VWMdqQy8PZ7CElc+accXJcauPKzQ==", + "license": "MIT", "dependencies": { "@types/luxon": "~3.3.0", "luxon": "~3.3.0" @@ -8254,8 +7819,7 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -8269,6 +7833,7 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "license": "BSD-3-Clause", "peer": true, "engines": { "node": "*" @@ -8276,18 +7841,15 @@ }, "node_modules/crypto-js": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", - "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + "license": "MIT" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "license": "BSD-2-Clause" }, "node_modules/data-view-buffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -8302,8 +7864,7 @@ }, "node_modules/data-view-byte-length": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -8318,8 +7879,7 @@ }, "node_modules/data-view-byte-offset": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -8339,9 +7899,8 @@ "peer": true }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -8358,6 +7917,8 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -8367,14 +7928,14 @@ }, "node_modules/dedent": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "license": "MIT", "peer": true, "dependencies": { "type-detect": "^4.0.0" @@ -8383,10 +7944,41 @@ "node": ">=6" } }, + "node_modules/deep-equal": { + "version": "2.2.3", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", "peer": true, "engines": { "node": ">=4.0.0" @@ -8394,23 +7986,20 @@ }, "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/defaults": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, + "license": "MIT", "dependencies": { "clone": "^1.0.2" }, @@ -8420,8 +8009,7 @@ }, "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -8436,8 +8024,7 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -8452,32 +8039,21 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/depd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -8485,18 +8061,16 @@ }, "node_modules/detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/dezalgo": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "dev": true, + "license": "ISC", "dependencies": { "asap": "^2.0.0", "wrappy": "1" @@ -8504,8 +8078,7 @@ }, "node_modules/did-jwt": { "version": "6.11.6", - "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-6.11.6.tgz", - "integrity": "sha512-OfbWknRxJuUqH6Lk0x+H1FsuelGugLbBDEwsoJnicFOntIG/A4y19fn0a8RLxaQbWQ5gXg0yDq5E2huSBiiXzw==", + "license": "Apache-2.0", "dependencies": { "@stablelib/ed25519": "^1.0.2", "@stablelib/random": "^1.0.1", @@ -8521,29 +8094,24 @@ "uint8arrays": "^3.0.0" } }, - "node_modules/did-jwt/node_modules/bech32": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz", - "integrity": "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==" - }, "node_modules/did-resolver": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/did-resolver/-/did-resolver-4.1.0.tgz", - "integrity": "sha512-S6fWHvCXkZg2IhS4RcVHxwuyVejPR7c+a4Go0xbQ9ps5kILa8viiYQgrM4gfTyeTjJ0ekgJH9gk/BawTpmkbZA==" + "license": "Apache-2.0" }, "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=0.3.1" } }, "node_modules/diff-sequences": { "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", "dev": true, + "license": "MIT", "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } @@ -8562,8 +8130,7 @@ }, "node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -8573,8 +8140,7 @@ }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -8584,8 +8150,7 @@ }, "node_modules/dotenv": { "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "license": "BSD-2-Clause", "engines": { "node": ">=12" }, @@ -8595,29 +8160,25 @@ }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/ed2curve": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.3.0.tgz", - "integrity": "sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ==", + "license": "Unlicense", "dependencies": { "tweetnacl": "1.x.x" } }, "node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "license": "MIT" }, "node_modules/ejs": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -8629,14 +8190,12 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.754", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.754.tgz", - "integrity": "sha512-7Kr5jUdns5rL/M9wFFmMZAgFDuL2YOnanFH4OI4iFzUqyh3XOL7nAGbSlSMZdzKMIyyTpNSbqZsWG9odwLeKvA==" + "version": "1.4.815", + "license": "ISC" }, "node_modules/elliptic": { "version": "6.5.5", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", - "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -8647,16 +8206,10 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, "node_modules/emittery": { "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -8666,31 +8219,27 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "license": "MIT" }, "node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/end-of-stream": { "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, + "license": "MIT", "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.17.0", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -8703,6 +8252,8 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "license": "MIT", + "peer": true, "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" @@ -8715,22 +8266,22 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "peer": true, "engines": { "node": ">=6" } }, "node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -8788,8 +8339,7 @@ }, "node_modules/es-define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -8799,16 +8349,32 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-iterator-helpers": { "version": "1.0.19", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", - "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -8830,15 +8396,13 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.2.tgz", - "integrity": "sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==", - "dev": true + "version": "1.5.4", + "dev": true, + "license": "MIT" }, "node_modules/es-object-atoms": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -8848,8 +8412,7 @@ }, "node_modules/es-set-tostringtag": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", @@ -8861,16 +8424,14 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "license": "MIT", "dependencies": { "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -8885,21 +8446,18 @@ }, "node_modules/escalade": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -8908,12 +8466,11 @@ } }, "node_modules/escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", + "version": "1.14.3", + "license": "BSD-2-Clause", "dependencies": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", + "esprima": "^4.0.1", + "estraverse": "^4.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1" }, @@ -8922,36 +8479,33 @@ "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=0.12.0" + "node": ">=4.0" }, "optionalDependencies": { - "source-map": "~0.2.0" + "source-map": "~0.6.1" } }, "node_modules/escodegen/node_modules/esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "version": "4.0.1", + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/escodegen/node_modules/estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", + "version": "4.3.0", + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, "node_modules/escodegen/node_modules/levn": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -8962,8 +8516,7 @@ }, "node_modules/escodegen/node_modules/optionator": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -8978,28 +8531,21 @@ }, "node_modules/escodegen/node_modules/prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "engines": { "node": ">= 0.8.0" } }, "node_modules/escodegen/node_modules/source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", + "version": "0.6.1", + "license": "BSD-3-Clause", "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, "node_modules/escodegen/node_modules/type-check": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -9009,8 +8555,7 @@ }, "node_modules/eslint": { "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -9063,9 +8608,8 @@ }, "node_modules/eslint-config-prettier": { "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -9075,8 +8619,7 @@ }, "node_modules/eslint-config-react-app": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", @@ -9102,8 +8645,7 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -9112,16 +8654,14 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -9136,16 +8676,14 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-flowtype": { "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "license": "BSD-3-Clause", "dependencies": { "lodash": "^4.17.21", "string-natural-compare": "^3.0.1" @@ -9161,8 +8699,7 @@ }, "node_modules/eslint-plugin-import": { "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -9191,16 +8728,14 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -9210,8 +8745,7 @@ }, "node_modules/eslint-plugin-import/node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -9219,18 +8753,23 @@ "json5": "lib/cli.js" } }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-import/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -9240,8 +8779,7 @@ }, "node_modules/eslint-plugin-jest": { "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "license": "MIT", "dependencies": { "@typescript-eslint/experimental-utils": "^5.0.0" }, @@ -9262,26 +8800,25 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "version": "6.9.0", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", + "axe-core": "^4.9.1", + "axobject-query": "~3.1.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" }, "engines": { "node": ">=4.0" @@ -9292,9 +8829,8 @@ }, "node_modules/eslint-plugin-prettier": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, + "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0" }, @@ -9312,28 +8848,27 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "version": "7.34.3", + "license": "MIT", "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", + "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.hasown": "^1.1.4", + "object.values": "^1.2.0", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" + "string.prototype.matchall": "^4.0.11" }, "engines": { "node": ">=4" @@ -9344,8 +8879,7 @@ }, "node_modules/eslint-plugin-react-hooks": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -9355,8 +8889,7 @@ }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -9366,8 +8899,7 @@ }, "node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -9380,10 +8912,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-testing-library": { "version": "5.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", - "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^5.58.0" }, @@ -9397,8 +8935,7 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -9409,16 +8946,14 @@ }, "node_modules/eslint-scope/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -9428,8 +8963,7 @@ }, "node_modules/eslint/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -9443,8 +8977,7 @@ }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -9458,8 +8991,7 @@ }, "node_modules/eslint/node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -9469,13 +9001,11 @@ }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "license": "MIT" }, "node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -9490,8 +9020,6 @@ }, "node_modules/esprima": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -9502,8 +9030,7 @@ }, "node_modules/esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -9513,8 +9040,7 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -9524,24 +9050,21 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -9550,6 +9073,7 @@ "version": "0.2.27", "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz", "integrity": "sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==", + "license": "MIT", "peer": true, "dependencies": { "@solidity-parser/parser": "^0.14.0", @@ -9585,6 +9109,7 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "peer": true }, "node_modules/eth-gas-reporter/node_modules/@scure/bip32": { @@ -9597,6 +9122,7 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "peer": true, "dependencies": { "@noble/hashes": "~1.2.0", @@ -9614,6 +9140,7 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "peer": true, "dependencies": { "@noble/hashes": "~1.2.0", @@ -9624,6 +9151,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -9633,6 +9161,7 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "license": "MIT", "peer": true, "dependencies": { "object-assign": "^4.1.0", @@ -9649,6 +9178,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "license": "MIT", "peer": true, "dependencies": { "@noble/hashes": "1.2.0", @@ -9671,6 +9201,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "peer": true, "dependencies": { "@ethersproject/abi": "5.7.0", @@ -9709,6 +9240,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -9718,6 +9250,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "license": "MIT", "peer": true, "dependencies": { "is-fullwidth-code-point": "^2.0.0", @@ -9731,6 +9264,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^3.0.0" @@ -9741,49 +9275,27 @@ }, "node_modules/ethereum-bloom-filters": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.1.0.tgz", - "integrity": "sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==", + "license": "MIT", "dependencies": { "@noble/hashes": "^1.4.0" } }, "node_modules/ethereum-cryptography": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.1.3.tgz", - "integrity": "sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==", - "dependencies": { - "@noble/curves": "1.3.0", - "@noble/hashes": "1.3.3", - "@scure/bip32": "1.3.3", - "@scure/bip39": "1.2.2" - } - }, - "node_modules/ethereum-cryptography/node_modules/@noble/curves": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", - "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", + "version": "2.2.0", + "license": "MIT", "dependencies": { - "@noble/hashes": "1.3.3" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ethereum-cryptography/node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "@noble/curves": "1.4.0", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" } }, "node_modules/ethereumjs-abi": { "version": "0.6.8", "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "license": "MIT", + "peer": true, "dependencies": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -9793,19 +9305,18 @@ "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "license": "MIT", + "peer": true, "dependencies": { "@types/node": "*" } }, - "node_modules/ethereumjs-abi/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, "node_modules/ethereumjs-abi/node_modules/ethereum-cryptography": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", + "peer": true, "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -9828,6 +9339,8 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "license": "MPL-2.0", + "peer": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -9842,6 +9355,7 @@ "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "license": "MPL-2.0", "dependencies": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -9853,10 +9367,17 @@ "node": ">=10.0.0" } }, + "node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "license": "MIT" + }, "node_modules/ethereumjs-util/node_modules/ethereum-cryptography": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -9876,9 +9397,7 @@ } }, "node_modules/ethers": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.12.1.tgz", - "integrity": "sha512-j6wcVoZf06nqEcBbDWkKg8Fp895SS96dSnTCjiXT+8vt2o02raTn4Lo9ERUuIVU5bAjoPYeA+7ytQFexFmLuVw==", + "version": "6.13.1", "funding": [ { "type": "individual", @@ -9889,6 +9408,7 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], + "license": "MIT", "dependencies": { "@adraffy/ens-normalize": "1.10.1", "@noble/curves": "1.2.0", @@ -9896,7 +9416,7 @@ "@types/node": "18.15.13", "aes-js": "4.0.0-beta.5", "tslib": "2.4.0", - "ws": "8.5.0" + "ws": "8.17.1" }, "engines": { "node": ">=14.0.0" @@ -9904,8 +9424,7 @@ }, "node_modules/ethers/node_modules/@noble/curves": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "license": "MIT", "dependencies": { "@noble/hashes": "1.3.2" }, @@ -9915,8 +9434,7 @@ }, "node_modules/ethers/node_modules/@noble/hashes": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "license": "MIT", "engines": { "node": ">= 16" }, @@ -9926,38 +9444,15 @@ }, "node_modules/ethers/node_modules/@types/node": { "version": "18.15.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", - "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" + "license": "MIT" }, "node_modules/ethers/node_modules/tslib": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/ethers/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } + "license": "0BSD" }, "node_modules/ethjs-unit": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "license": "MIT", "dependencies": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" @@ -9969,13 +9464,14 @@ }, "node_modules/ethjs-unit/node_modules/bn.js": { "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" + "license": "MIT" }, "node_modules/ethjs-util": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "license": "MIT", + "peer": true, "dependencies": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -9987,8 +9483,7 @@ }, "node_modules/ethr-did": { "version": "3.0.21", - "resolved": "https://registry.npmjs.org/ethr-did/-/ethr-did-3.0.21.tgz", - "integrity": "sha512-2ojxqkGlujuhwtN5bSqESekfkpleOO+Nd3nwMyJmU4nB0K1fKe9+psL11VEh4AJ29+Rol+3gS4f/GjTCe3SF/Q==", + "license": "Apache-2.0", "dependencies": { "did-jwt": "^8.0.0", "did-resolver": "^4.1.0", @@ -9997,9 +9492,8 @@ } }, "node_modules/ethr-did-resolver": { - "version": "10.1.5", - "resolved": "https://registry.npmjs.org/ethr-did-resolver/-/ethr-did-resolver-10.1.5.tgz", - "integrity": "sha512-wVCKhF6qQo2IewH9ui4lRBixbvT/A6szZFQoJkfvjP6EU/3MSb4KOP5QNpM37zmFU/rQGjHNt7bF13fNcmZ6wQ==", + "version": "10.1.9", + "license": "Apache-2.0", "dependencies": { "did-resolver": "^4.1.0", "ethers": "^6.8.1" @@ -10007,8 +9501,7 @@ }, "node_modules/ethr-did/node_modules/did-jwt": { "version": "8.0.4", - "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-8.0.4.tgz", - "integrity": "sha512-KPtG7H+8GgKGMiDqFvOdNy5BBN3hpA+8xV7VygEnpst5oPIqjvcH3rTtnPF55a8bOxIzE2PudKGIXIQhekv7WA==", + "license": "Apache-2.0", "dependencies": { "@noble/ciphers": "^0.5.0", "@noble/curves": "^1.0.0", @@ -10021,11 +9514,18 @@ "uint8arrays": "3.1.1" } }, + "node_modules/ethr-did/node_modules/ethr-did-resolver": { + "version": "10.1.5", + "license": "Apache-2.0", + "dependencies": { + "did-resolver": "^4.1.0", + "ethers": "^6.8.1" + } + }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -10034,6 +9534,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -10041,8 +9542,7 @@ }, "node_modules/ew-precise-proofs-js": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ew-precise-proofs-js/-/ew-precise-proofs-js-1.2.0.tgz", - "integrity": "sha512-n/y60a+1pynzaH9l7qBf/+8/M2+BU9PSgcAQnoSNCPw0LeNX4LD0ql8J5i03ohtq1rj2HC9wRuZsFyr63370Dg==", + "license": "MIT", "dependencies": { "colors": "1.4.0", "ethers": "5.0.7", @@ -10052,8 +9552,7 @@ }, "node_modules/ew-precise-proofs-js/node_modules/ethers": { "version": "5.0.7", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.0.7.tgz", - "integrity": "sha512-1Zu9s+z4BgsDAZcGIYACJdWBB6mVtCCmUonj68Njul7STcSdgwOyj0sCAxCUr2Nsmsamckr4E12q3ecvZPGAUw==", + "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.0.0", "@ethersproject/abstract-provider": "^5.0.0", @@ -10088,9 +9587,8 @@ }, "node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -10111,8 +9609,6 @@ }, "node_modules/exit": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -10120,9 +9616,8 @@ }, "node_modules/expect": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", "dev": true, + "license": "MIT", "dependencies": { "@jest/expect-utils": "^28.1.3", "jest-get-type": "^28.0.2", @@ -10136,8 +9631,7 @@ }, "node_modules/express": { "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -10177,8 +9671,7 @@ }, "node_modules/express/node_modules/body-parser": { "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -10200,26 +9693,22 @@ }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/express/node_modules/path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "license": "MIT" }, "node_modules/express/node_modules/raw-body": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -10232,9 +9721,8 @@ }, "node_modules/external-editor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, + "license": "MIT", "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -10246,19 +9734,16 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "license": "MIT" }, "node_modules/fast-diff": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/fast-glob": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -10272,45 +9757,38 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "license": "MIT" }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + "license": "MIT" }, "node_modules/fastfile": { "version": "0.0.20", - "resolved": "https://registry.npmjs.org/fastfile/-/fastfile-0.0.20.tgz", - "integrity": "sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA==" + "license": "GPL-3.0" }, "node_modules/fastq": { "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, "node_modules/ffjavascript": { "version": "0.2.63", - "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.2.63.tgz", - "integrity": "sha512-dBgdsfGks58b66JnUZeZpGxdMIDQ4QsD3VYlRJyFVrKQHb2kJy4R2gufx5oetrTxXPT+aEjg0dOvOLg1N0on4A==", + "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16", "wasmcurves": "0.2.2", @@ -10319,9 +9797,8 @@ }, "node_modules/figures": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -10334,17 +9811,15 @@ }, "node_modules/figures/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -10354,24 +9829,21 @@ }, "node_modules/filelist": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } }, "node_modules/filelist/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/filelist/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -10380,9 +9852,8 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -10392,8 +9863,7 @@ }, "node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -10409,21 +9879,20 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/find-replace": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "license": "MIT", "peer": true, "dependencies": { "array-back": "^3.0.1" @@ -10434,8 +9903,7 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -10449,21 +9917,21 @@ }, "node_modules/fixed-merkle-tree": { "version": "0.7.3", - "resolved": "https://registry.npmjs.org/fixed-merkle-tree/-/fixed-merkle-tree-0.7.3.tgz", - "integrity": "sha512-b50ZBpDfp/Nru120IdeS0IyqbVjOien1OSdWMDdcxS9uVHLV668xndNkEnn9t1WFOvc5aw1owl6l4N8mP5mkKg==" + "license": "ISC" }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "license": "BSD-3-Clause", + "peer": true, "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -10475,8 +9943,7 @@ }, "node_modules/flatted": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" + "license": "ISC" }, "node_modules/follow-redirects": { "version": "1.15.6", @@ -10488,6 +9955,8 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", + "peer": true, "engines": { "node": ">=4.0" }, @@ -10499,17 +9968,15 @@ }, "node_modules/for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/fork-ts-checker-webpack-plugin": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz", - "integrity": "sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.7", "chalk": "^4.1.2", @@ -10533,78 +10000,9 @@ "webpack": "^5.11.0" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -10616,9 +10014,8 @@ }, "node_modules/formidable": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", "dev": true, + "license": "MIT", "dependencies": { "dezalgo": "^1.0.4", "hexoid": "^1.0.0", @@ -10631,8 +10028,7 @@ }, "node_modules/forwarded": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -10640,51 +10036,48 @@ "node_modules/fp-ts": { "version": "1.19.3", "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", + "license": "MIT", + "peer": true }, "node_modules/fresh": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "version": "10.1.0", + "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=12" } }, "node_modules/fs-monkey": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", - "dev": true + "dev": true, + "license": "Unlicense" }, "node_modules/fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "license": "MIT", "peer": true }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -10695,16 +10088,14 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/function.prototype.name": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -10720,24 +10111,21 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -10746,6 +10134,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "license": "MIT", "peer": true, "engines": { "node": "*" @@ -10753,8 +10142,7 @@ }, "node_modules/get-intrinsic": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -10771,9 +10159,8 @@ }, "node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -10782,6 +10169,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -10789,9 +10177,8 @@ }, "node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -10801,8 +10188,7 @@ }, "node_modules/get-symbol-description": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", @@ -10819,6 +10205,7 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", + "license": "ISC", "peer": true, "dependencies": { "chalk": "^2.4.2", @@ -10832,6 +10219,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^1.9.0" @@ -10844,6 +10232,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^3.2.1", @@ -10858,6 +10247,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "1.1.3" @@ -10867,12 +10257,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT", "peer": true }, "node_modules/ghost-testrpc/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.0" @@ -10882,6 +10274,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -10891,6 +10284,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^3.0.0" @@ -10901,8 +10295,7 @@ }, "node_modules/glob": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10920,8 +10313,7 @@ }, "node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -10931,14 +10323,14 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", "peer": true, "dependencies": { "global-prefix": "^3.0.0" @@ -10951,6 +10343,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", "peer": true, "dependencies": { "ini": "^1.3.5", @@ -10965,6 +10358,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "peer": true, "dependencies": { "isexe": "^2.0.0" @@ -10975,8 +10369,7 @@ }, "node_modules/globals": { "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -10989,8 +10382,7 @@ }, "node_modules/globalthis": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -11004,8 +10396,7 @@ }, "node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -11023,8 +10414,7 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -11034,18 +10424,17 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + "license": "MIT" }, "node_modules/handlebars": { "version": "4.7.8", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "license": "MIT", "peer": true, "dependencies": { "minimist": "^1.2.5", @@ -11067,19 +10456,22 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/hardhat": { - "version": "2.22.3", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.22.3.tgz", - "integrity": "sha512-k8JV2ECWNchD6ahkg2BR5wKVxY0OiKot7fuxiIpRK0frRqyOljcR2vKwgWSLw6YIeDcNNA4xybj7Og7NSxr2hA==", + "version": "2.22.6", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.22.6.tgz", + "integrity": "sha512-abFEnd9QACwEtSvZZGSmzvw7N3zhQN1cDKz5SLHAupfG24qTHofCjqvD5kT5Wwsq5XOL0ON1Mq5rr4v0XX5ciw==", + "license": "MIT", + "peer": true, "dependencies": { "@ethersproject/abi": "^5.1.2", "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/edr": "^0.3.5", + "@nomicfoundation/edr": "^0.4.1", "@nomicfoundation/ethereumjs-common": "4.0.4", "@nomicfoundation/ethereumjs-tx": "5.0.4", "@nomicfoundation/ethereumjs-util": "9.0.4", @@ -11113,7 +10505,7 @@ "raw-body": "^2.4.1", "resolve": "1.17.0", "semver": "^6.3.0", - "solc": "0.7.3", + "solc": "0.8.26", "source-map-support": "^0.5.13", "stacktrace-parser": "^0.1.10", "tsort": "0.0.1", @@ -11141,6 +10533,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz", "integrity": "sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==", + "license": "MIT", "peer": true, "dependencies": { "array-uniq": "1.0.3", @@ -11160,7 +10553,9 @@ "type": "individual", "url": "https://paulmillr.com/funding/" } - ] + ], + "license": "MIT", + "peer": true }, "node_modules/hardhat/node_modules/@scure/bip32": { "version": "1.1.5", @@ -11172,6 +10567,8 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", + "peer": true, "dependencies": { "@noble/hashes": "~1.2.0", "@noble/secp256k1": "~1.7.0", @@ -11188,6 +10585,8 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", + "peer": true, "dependencies": { "@noble/hashes": "~1.2.0", "@scure/base": "~1.1.0" @@ -11197,6 +10596,8 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -11208,6 +10609,8 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -11221,6 +10624,8 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "peer": true, "dependencies": { "color-name": "1.1.3" } @@ -11228,12 +10633,16 @@ "node_modules/hardhat/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT", + "peer": true }, "node_modules/hardhat/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "peer": true, "engines": { "node": ">=0.8.0" } @@ -11242,6 +10651,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "license": "MIT", + "peer": true, "dependencies": { "@noble/hashes": "1.2.0", "@noble/secp256k1": "1.7.1", @@ -11253,6 +10664,8 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "license": "MIT", + "peer": true, "dependencies": { "locate-path": "^2.0.0" }, @@ -11260,18 +10673,47 @@ "node": ">=4" } }, + "node_modules/hardhat/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/hardhat/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "peer": true, "engines": { "node": ">=4" } }, + "node_modules/hardhat/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/hardhat/node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "license": "MIT", + "peer": true, "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -11284,6 +10726,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "license": "MIT", + "peer": true, "dependencies": { "p-try": "^1.0.0" }, @@ -11295,6 +10739,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "license": "MIT", + "peer": true, "dependencies": { "p-limit": "^1.1.0" }, @@ -11306,6 +10752,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "license": "MIT", + "peer": true, "engines": { "node": ">=4" } @@ -11314,6 +10762,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "peer": true, "engines": { "node": ">=4" } @@ -11322,6 +10772,8 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "license": "MIT", + "peer": true, "dependencies": { "path-parse": "^1.0.6" }, @@ -11329,10 +10781,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hardhat/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/hardhat/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -11340,34 +10804,65 @@ "node": ">=4" } }, + "node_modules/hardhat/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/hardhat/node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "peer": true, "bin": { "uuid": "dist/bin/uuid" } }, + "node_modules/hardhat/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -11377,8 +10872,7 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11388,8 +10882,7 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11399,8 +10892,7 @@ }, "node_modules/has-tostringtag": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -11413,8 +10905,7 @@ }, "node_modules/hash-base": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -11426,8 +10917,7 @@ }, "node_modules/hash.js": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -11435,8 +10925,7 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -11448,6 +10937,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "peer": true, "bin": { "he": "bin/he" } @@ -11456,21 +10947,20 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "license": "MIT", "peer": true }, "node_modules/hexoid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -11479,22 +10969,21 @@ }, "node_modules/hoopy": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", "engines": { "node": ">= 6.0.0" } }, "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/http-basic": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "license": "MIT", "peer": true, "dependencies": { "caseless": "^0.12.0", @@ -11508,8 +10997,7 @@ }, "node_modules/http-errors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -11525,6 +11013,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "license": "MIT", "peer": true, "dependencies": { "@types/node": "^10.0.3" @@ -11534,12 +11023,15 @@ "version": "10.17.60", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "license": "MIT", "peer": true }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "peer": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -11550,17 +11042,15 @@ }, "node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -11570,8 +11060,6 @@ }, "node_modules/ieee754": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { @@ -11586,25 +11074,37 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "license": "MIT", "engines": { "node": ">= 4" } }, + "node_modules/immer": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.2.tgz", + "integrity": "sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA==", + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/immutable": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", - "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==" + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "license": "MIT", + "peer": true }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -11618,9 +11118,8 @@ }, "node_modules/import-local": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -11637,8 +11136,7 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -11647,14 +11145,15 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -11662,20 +11161,19 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC", "peer": true }, "node_modules/inquirer": { "version": "8.2.5", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", - "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", @@ -11697,10 +11195,17 @@ "node": ">=12.0.0" } }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "7.8.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/internal-slot": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.0", @@ -11712,8 +11217,7 @@ }, "node_modules/interpret": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -11722,22 +11226,36 @@ "version": "1.10.4", "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "license": "MIT", + "peer": true, "dependencies": { "fp-ts": "^1.0.0" } }, "node_modules/ipaddr.js": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { "node": ">= 0.10" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" @@ -11751,13 +11269,11 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "license": "MIT" }, "node_modules/is-async-function": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -11770,8 +11286,7 @@ }, "node_modules/is-bigint": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -11781,8 +11296,7 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -11792,8 +11306,7 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -11807,8 +11320,7 @@ }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11817,11 +11329,13 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.14.0", + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11829,8 +11343,7 @@ }, "node_modules/is-data-view": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "license": "MIT", "dependencies": { "is-typed-array": "^1.1.13" }, @@ -11843,8 +11356,7 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -11857,16 +11369,14 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-finalizationregistry": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -11876,25 +11386,22 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-generator-function": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -11907,8 +11414,7 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -11918,8 +11424,7 @@ }, "node_modules/is-hex-prefixed": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "license": "MIT", "engines": { "node": ">=6.5.0", "npm": ">=3" @@ -11927,17 +11432,15 @@ }, "node_modules/is-interactive": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-map": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11947,8 +11450,7 @@ }, "node_modules/is-negative-zero": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11958,16 +11460,14 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -11980,8 +11480,7 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11990,14 +11489,15 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, "node_modules/is-regex": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -12011,8 +11511,7 @@ }, "node_modules/is-set": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -12022,8 +11521,7 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7" }, @@ -12036,9 +11534,8 @@ }, "node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -12048,8 +11545,7 @@ }, "node_modules/is-string": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -12062,8 +11558,7 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -12076,8 +11571,7 @@ }, "node_modules/is-typed-array": { "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.14" }, @@ -12090,8 +11584,7 @@ }, "node_modules/is-unicode-supported": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -12101,8 +11594,7 @@ }, "node_modules/is-weakmap": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -12112,8 +11604,7 @@ }, "node_modules/is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -12123,8 +11614,7 @@ }, "node_modules/is-weakset": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4" @@ -12138,28 +11628,24 @@ }, "node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "license": "ISC" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -12171,11 +11657,18 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -12187,9 +11680,8 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -12201,18 +11693,16 @@ }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-reports": { "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -12223,16 +11713,14 @@ }, "node_modules/iterare": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "license": "ISC", "engines": { "node": ">=6" } }, "node_modules/iterator.prototype": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", @@ -12242,9 +11730,8 @@ } }, "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "version": "10.9.1", + "license": "Apache-2.0", "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", @@ -12260,9 +11747,8 @@ }, "node_modules/jest": { "version": "28.1.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.2.tgz", - "integrity": "sha512-Tuf05DwLeCh2cfWCQbcz9UxldoDyiR1E9Igaei5khjonKncYdc6LDfynKCEWozK0oLE3GD+xKAo2u8x/0s6GOg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^28.1.2", "@jest/types": "^28.1.1", @@ -12286,9 +11772,8 @@ }, "node_modules/jest-changed-files": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^5.0.0", "p-limit": "^3.1.0" @@ -12299,9 +11784,8 @@ }, "node_modules/jest-circus": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^28.1.3", "@jest/expect": "^28.1.3", @@ -12329,9 +11813,8 @@ }, "node_modules/jest-cli": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^28.1.3", "@jest/test-result": "^28.1.3", @@ -12363,9 +11846,8 @@ }, "node_modules/jest-config": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^28.1.3", @@ -12408,8 +11890,6 @@ }, "node_modules/jest-config/node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -12417,15 +11897,15 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-diff": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^28.1.1", @@ -12438,9 +11918,8 @@ }, "node_modules/jest-docblock": { "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", "dev": true, + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -12450,9 +11929,8 @@ }, "node_modules/jest-each": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "chalk": "^4.0.0", @@ -12466,9 +11944,8 @@ }, "node_modules/jest-environment-node": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^28.1.3", "@jest/fake-timers": "^28.1.3", @@ -12483,18 +11960,16 @@ }, "node_modules/jest-get-type": { "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-haste-map": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/graceful-fs": "^4.1.3", @@ -12517,9 +11992,8 @@ }, "node_modules/jest-leak-detector": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^28.0.2", "pretty-format": "^28.1.3" @@ -12530,9 +12004,8 @@ }, "node_modules/jest-matcher-utils": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^28.1.3", @@ -12545,9 +12018,8 @@ }, "node_modules/jest-message-util": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^28.1.3", @@ -12565,9 +12037,8 @@ }, "node_modules/jest-mock": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*" @@ -12578,9 +12049,8 @@ }, "node_modules/jest-mock-extended": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/jest-mock-extended/-/jest-mock-extended-3.0.7.tgz", - "integrity": "sha512-7lsKdLFcW9B9l5NzZ66S/yTQ9k8rFtnwYdCNuRU/81fqDWicNDVhitTSPnrGmNeNm0xyw0JHexEOShrIKRCIRQ==", "dev": true, + "license": "MIT", "dependencies": { "ts-essentials": "^10.0.0" }, @@ -12589,25 +12059,10 @@ "typescript": "^3.0.0 || ^4.0.0 || ^5.0.0" } }, - "node_modules/jest-mock-extended/node_modules/ts-essentials": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-10.0.0.tgz", - "integrity": "sha512-77FHNJEyysF9+1s4G6eejuA1lxw7uMchT3ZPy3CIbh7GIunffpshtM8pTe5G6N5dpOzNevqRHew859ceLWVBfw==", - "dev": true, - "peerDependencies": { - "typescript": ">=4.5.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -12622,18 +12077,16 @@ }, "node_modules/jest-regex-util": { "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", "dev": true, + "license": "MIT", "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, "node_modules/jest-resolve": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -12651,9 +12104,8 @@ }, "node_modules/jest-resolve-dependencies": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", "dev": true, + "license": "MIT", "dependencies": { "jest-regex-util": "^28.0.2", "jest-snapshot": "^28.1.3" @@ -12664,9 +12116,8 @@ }, "node_modules/jest-runner": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^28.1.3", "@jest/environment": "^28.1.3", @@ -12696,18 +12147,16 @@ }, "node_modules/jest-runner/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/jest-runner/node_modules/source-map-support": { "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -12715,9 +12164,8 @@ }, "node_modules/jest-runtime": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^28.1.3", "@jest/fake-timers": "^28.1.3", @@ -12748,9 +12196,8 @@ }, "node_modules/jest-snapshot": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -12780,44 +12227,10 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/jest-util": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -12832,8 +12245,6 @@ }, "node_modules/jest-util/node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -12841,15 +12252,15 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-validate": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "camelcase": "^6.2.0", @@ -12864,9 +12275,8 @@ }, "node_modules/jest-watcher": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^28.1.3", "@jest/types": "^28.1.3", @@ -12883,9 +12293,8 @@ }, "node_modules/jest-worker": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -12897,9 +12306,8 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12911,27 +12319,23 @@ } }, "node_modules/jose": { - "version": "4.15.5", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.5.tgz", - "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==", + "version": "4.15.7", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" } }, "node_modules/js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -12941,8 +12345,7 @@ }, "node_modules/jsesc": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -12952,28 +12355,30 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "license": "ISC", + "peer": true }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -12983,22 +12388,22 @@ }, "node_modules/jsonc-parser": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/jsonpath": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", - "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "license": "MIT", "dependencies": { "esprima": "1.2.2", "static-eval": "2.0.2", @@ -13009,6 +12414,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", + "license": "MIT", "peer": true, "engines": { "node": "*" @@ -13016,8 +12422,7 @@ }, "node_modules/jsonwebtoken": { "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "license": "MIT", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -13037,16 +12442,14 @@ }, "node_modules/jsonwebtoken/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/jsx-ast-utils": { "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -13059,8 +12462,7 @@ }, "node_modules/jwa": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "license": "MIT", "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -13069,8 +12471,7 @@ }, "node_modules/jws": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -13078,9 +12479,8 @@ }, "node_modules/keccak": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", - "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -13092,13 +12492,11 @@ }, "node_modules/keccak/node_modules/node-addon-api": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "license": "MIT" }, "node_modules/keyv": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -13107,37 +12505,26 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", - "optionalDependencies": { - "graceful-fs": "^4.1.9" - } - }, "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + "version": "0.3.23", + "license": "CC0-1.0" }, "node_modules/language-tags": { "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "license": "MIT", "dependencies": { "language-subtag-registry": "^0.3.20" }, @@ -13147,17 +12534,15 @@ }, "node_modules/leven": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -13167,28 +12552,24 @@ } }, "node_modules/libphonenumber-js": { - "version": "1.10.61", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.61.tgz", - "integrity": "sha512-TsQsyzDttDvvzWNkbp/i0fVbzTGJIG0mUu/uNalIaRQEYeJxVQ/FPg+EJgSqfSXezREjM0V3RZ8cLVsKYhhw0Q==" + "version": "1.11.4", + "license": "MIT" }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "license": "MIT" }, "node_modules/loader-runner": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.11.5" } }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -13201,82 +12582,80 @@ }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "license": "MIT" }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT", + "peer": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "license": "MIT", "peer": true }, "node_modules/lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "license": "MIT" }, "node_modules/lodash.includes": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "license": "MIT" }, "node_modules/lodash.isboolean": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "license": "MIT" }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true + "license": "MIT", + "peer": true }, "node_modules/lodash.isinteger": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "license": "MIT" }, "node_modules/lodash.isnumber": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "license": "MIT" }, "node_modules/lodash.once": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "license": "MIT" }, "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "license": "MIT", "peer": true }, "node_modules/log-symbols": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -13290,13 +12669,11 @@ }, "node_modules/logplease": { "version": "1.2.15", - "resolved": "https://registry.npmjs.org/logplease/-/logplease-1.2.15.tgz", - "integrity": "sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA==" + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -13308,6 +12685,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "license": "MIT", "peer": true, "dependencies": { "get-func-name": "^2.0.1" @@ -13316,29 +12694,28 @@ "node_modules/lru_map": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", + "license": "MIT", + "peer": true }, "node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/luxon": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz", - "integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==", + "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/macos-release": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", - "integrity": "sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -13348,9 +12725,8 @@ }, "node_modules/magic-string": { "version": "0.30.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", - "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.13" }, @@ -13360,9 +12736,8 @@ }, "node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -13373,49 +12748,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "license": "ISC" }, "node_modules/makeerror": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } @@ -13424,12 +12764,12 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", + "license": "MIT", "peer": true }, "node_modules/md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -13438,17 +12778,15 @@ }, "node_modules/media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/memfs": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, + "license": "Unlicense", "dependencies": { "fs-monkey": "^1.0.4" }, @@ -13460,33 +12798,30 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "peer": true, "engines": { "node": ">= 0.10.0" } }, "node_modules/merge-descriptors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "license": "MIT" }, "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/merkletreejs": { "version": "0.3.11", - "resolved": "https://registry.npmjs.org/merkletreejs/-/merkletreejs-0.3.11.tgz", - "integrity": "sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==", + "license": "MIT", "dependencies": { "bignumber.js": "^9.0.1", "buffer-reverse": "^1.0.1", @@ -13500,23 +12835,20 @@ }, "node_modules/methods": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/micro-ftch": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", - "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==" + "license": "MIT" }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -13525,8 +12857,7 @@ }, "node_modules/mime": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -13536,16 +12867,14 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -13555,27 +12884,23 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "license": "MIT" }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -13585,25 +12910,22 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "dev": true, + "license": "ISC", "engines": { "node": ">=8" } }, "node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -13615,35 +12937,39 @@ "version": "0.38.5", "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "license": "MIT", + "peer": true, "dependencies": { "obliterator": "^2.0.0" } }, "node_modules/mocha": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", - "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", + "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", + "license": "MIT", + "peer": true, "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -13653,18 +12979,12 @@ "node": ">= 14.0.0" } }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "engines": { - "node": ">=6" - } - }, "node_modules/mocha/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "peer": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -13673,6 +12993,8 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "peer": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -13683,6 +13005,9 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -13698,9 +13023,11 @@ } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "peer": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -13711,12 +13038,16 @@ "node_modules/mocha/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13731,6 +13062,8 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", + "peer": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -13745,22 +13078,22 @@ } }, "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "peer": true, "engines": { "node": ">=10" } }, "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "license": "MIT" }, "node_modules/multer": { "version": "1.4.4-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4-lts.1.tgz", - "integrity": "sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==", + "license": "MIT", "dependencies": { "append-field": "^1.0.0", "busboy": "^1.0.0", @@ -13776,9 +13109,7 @@ }, "node_modules/multibase": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", - "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", - "deprecated": "This module has been superseded by the multiformats module", + "license": "MIT", "dependencies": { "@multiformats/base-x": "^4.0.1" }, @@ -13789,24 +13120,20 @@ }, "node_modules/multiformats": { "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + "license": "(Apache-2.0 AND MIT)" }, "node_modules/mute-stream": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/nanoassert": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", - "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==" + "license": "ISC" }, "node_modules/nats": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/nats/-/nats-2.23.0.tgz", - "integrity": "sha512-9auYOyV968XGSzGrMZiBgov6wtW66QlLpzh83Rpy6hPrhq7vD1s/UbxJXhzyGhAXm2H0VBxZwpwl9LB1QPhflQ==", + "version": "2.27.0", + "license": "Apache-2.0", "dependencies": { "nkeys.js": "1.1.0" }, @@ -13816,31 +13143,46 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "license": "MIT" }, "node_modules/natural-compare-lite": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + "license": "MIT" + }, + "node_modules/ndjson": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ndjson/-/ndjson-2.0.0.tgz", + "integrity": "sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.5", + "readable-stream": "^3.6.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "ndjson": "cli.js" + }, + "engines": { + "node": ">=10" + } }, "node_modules/negotiator": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/neo-async": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "license": "MIT" }, "node_modules/nkeys.js": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/nkeys.js/-/nkeys.js-1.1.0.tgz", - "integrity": "sha512-tB/a0shZL5UZWSwsoeyqfTszONTt4k2YS0tuQioMOD180+MbombYVgzDUYHlx+gejYK6rgf08n/2Df99WY0Sxg==", + "license": "Apache-2.0", "dependencies": { "tweetnacl": "1.0.3" }, @@ -13850,27 +13192,23 @@ }, "node_modules/node-abort-controller": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-addon-api": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + "license": "MIT" }, "node_modules/node-emoji": { "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "license": "MIT", "dependencies": { "lodash": "^4.17.21" } }, "node_modules/node-fetch": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -13888,8 +13226,7 @@ }, "node_modules/node-gyp-build": { "version": "4.8.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", - "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", + "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -13898,19 +13235,18 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "license": "MIT" }, "node_modules/nofilter": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "license": "MIT", "peer": true, "engines": { "node": ">=12.19" @@ -13920,6 +13256,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "license": "ISC", "peer": true, "dependencies": { "abbrev": "1" @@ -13930,17 +13267,15 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -13950,8 +13285,7 @@ }, "node_modules/number-to-bn": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "license": "MIT", "dependencies": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -13963,37 +13297,49 @@ }, "node_modules/number-to-bn/node_modules/bn.js": { "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" + "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -14009,8 +13355,7 @@ }, "node_modules/object.entries": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -14022,8 +13367,7 @@ }, "node_modules/object.fromentries": { "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -14039,8 +13383,7 @@ }, "node_modules/object.groupby": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -14052,8 +13395,7 @@ }, "node_modules/object.hasown": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "es-abstract": "^1.23.2", @@ -14068,8 +13410,7 @@ }, "node_modules/object.values": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -14085,12 +13426,13 @@ "node_modules/obliterator": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", - "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==", + "license": "MIT", + "peer": true }, "node_modules/on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -14100,17 +13442,15 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -14123,8 +13463,7 @@ }, "node_modules/optionator": { "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -14139,9 +13478,8 @@ }, "node_modules/ora": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, + "license": "MIT", "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -14164,13 +13502,13 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz", "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==", + "license": "MIT", "peer": true }, "node_modules/os-name": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", - "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", "dev": true, + "license": "MIT", "dependencies": { "macos-release": "^2.5.0", "windows-release": "^4.0.0" @@ -14184,16 +13522,14 @@ }, "node_modules/os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -14206,8 +13542,7 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -14222,6 +13557,8 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "peer": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -14234,17 +13571,15 @@ }, "node_modules/p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -14260,8 +13595,7 @@ }, "node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -14277,16 +13611,14 @@ }, "node_modules/parseurl": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/passport": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.6.0.tgz", - "integrity": "sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==", + "license": "MIT", "dependencies": { "passport-strategy": "1.x.x", "pause": "0.0.1", @@ -14302,8 +13634,7 @@ }, "node_modules/passport-jwt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.1.tgz", - "integrity": "sha512-UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ==", + "license": "MIT", "dependencies": { "jsonwebtoken": "^9.0.0", "passport-strategy": "^1.0.0" @@ -14311,8 +13642,7 @@ }, "node_modules/passport-jwt/node_modules/jsonwebtoken": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -14330,116 +13660,75 @@ "npm": ">=6" } }, - "node_modules/passport-jwt/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/passport-jwt/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/passport-jwt/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/passport-strategy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", "engines": { "node": ">= 0.4.0" } }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "version": "1.11.1", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "version": "10.3.0", "dev": true, + "license": "ISC", "engines": { "node": "14 || >=16.14" } }, "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.2", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/path-to-regexp": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==" + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -14448,20 +13737,20 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "license": "MIT", "peer": true, "engines": { "node": "*" } }, "node_modules/pause": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" + "version": "0.0.1" }, "node_modules/pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "license": "MIT", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -14474,14 +13763,12 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.1", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -14493,6 +13780,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -14500,18 +13788,16 @@ }, "node_modules/pirates": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -14521,9 +13807,8 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -14534,9 +13819,8 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -14546,9 +13830,8 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -14561,9 +13844,8 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -14573,33 +13855,29 @@ }, "node_modules/pluralize": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/possible-typed-array-names": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -14612,9 +13890,8 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, + "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -14624,9 +13901,8 @@ }, "node_modules/pretty-format": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "ansi-regex": "^5.0.1", @@ -14639,9 +13915,8 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -14650,13 +13925,12 @@ } }, "node_modules/prisma": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.13.0.tgz", - "integrity": "sha512-kGtcJaElNRAdAGsCNykFSZ7dBKpL14Cbs+VaQ8cECxQlRPDjBlMHNFYeYt0SKovAVy2Y65JXQwB3A5+zIQwnTg==", + "version": "5.16.1", "devOptional": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "@prisma/engines": "5.13.0" + "@prisma/engines": "5.16.1" }, "bin": { "prisma": "build/index.js" @@ -14667,22 +13941,20 @@ }, "node_modules/prisma-extension-bark": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/prisma-extension-bark/-/prisma-extension-bark-0.1.1.tgz", - "integrity": "sha512-S9fIHdfHHV1utCa5s9xm0Qvc2aLr32EFL4v6EGlH0l8vnbFD9Sbs22nMyXF7gI8ihpHkdGEjep2Xocr0yv+fwg==", + "license": "MIT", "peerDependencies": { "@prisma/client": ">=5.0.0" } }, "node_modules/prismock": { - "version": "1.30.3", - "resolved": "https://registry.npmjs.org/prismock/-/prismock-1.30.3.tgz", - "integrity": "sha512-S20Wl1hx4ezEBPhzQN5jXHCXR0afA6u0GjyeGnLfOET24hGtvup0idtf52g404kXqZR9Lid1PF5jm3WPc35C5A==", + "version": "1.31.3", "dev": true, + "license": "MIT", "dependencies": { "@paralleldrive/cuid2": "2.2.2", - "@prisma/generator-helper": "5.13.0", - "@prisma/internals": "5.13.0", - "bson": "6.6.0" + "@prisma/generator-helper": "5.16.1", + "@prisma/internals": "5.16.1", + "bson": "6.8.0" }, "peerDependencies": { "@prisma/client": "*" @@ -14690,13 +13962,13 @@ }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "license": "MIT" }, "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", "peer": true, "dependencies": { "asap": "~2.0.6" @@ -14704,9 +13976,7 @@ }, "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -14717,8 +13987,7 @@ }, "node_modules/prop-types": { "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -14727,13 +13996,11 @@ }, "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "license": "MIT" }, "node_modules/proxy-addr": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -14746,13 +14013,13 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT", "peer": true }, "node_modules/pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -14760,16 +14027,14 @@ }, "node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/qs": { "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -14782,8 +14047,6 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ { "type": "github", @@ -14797,12 +14060,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/r1csfile": { "version": "0.0.45", - "resolved": "https://registry.npmjs.org/r1csfile/-/r1csfile-0.0.45.tgz", - "integrity": "sha512-YKIp4D441aZ6OoI9y+bfAyb2j4Cl+OFq/iiX6pPWDrL4ZO968h0dq0w07i65edvrTt7/G43mTnl0qEuLXyp/Yw==", + "license": "GPL-3.0", "dependencies": { "@iden3/bigarray": "0.0.2", "@iden3/binfileutils": "0.0.11", @@ -14812,8 +14075,7 @@ }, "node_modules/r1csfile/node_modules/ffjavascript": { "version": "0.2.57", - "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.2.57.tgz", - "integrity": "sha512-V+vxZ/zPNcthrWmqfe/1YGgqdkTamJeXiED0tsk7B84g40DKlrTdx47IqZuiygqAVG6zMw4qYuvXftIJWsmfKQ==", + "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16", "wasmcurves": "0.2.0", @@ -14822,32 +14084,28 @@ }, "node_modules/r1csfile/node_modules/wasmcurves": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/wasmcurves/-/wasmcurves-0.2.0.tgz", - "integrity": "sha512-3e2rbxdujOwaod657gxgmdhZNn+i1qKdHO3Y/bK+8E7bV8ttV/fu5FO4/WLBACF375cK0QDLOP+65Na63qYuWA==", + "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16" } }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/range-parser": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -14860,14 +14118,12 @@ }, "node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -14879,8 +14135,7 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -14890,8 +14145,6 @@ }, "node_modules/rechoir": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dependencies": { "resolve": "^1.1.6" }, @@ -14903,6 +14156,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", "peer": true, "dependencies": { "minimatch": "^3.0.5" @@ -14915,6 +14169,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -14922,13 +14177,11 @@ }, "node_modules/reflect-metadata": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + "license": "Apache-2.0" }, "node_modules/reflect.getprototypeof": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -14947,13 +14200,11 @@ }, "node_modules/regenerate": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -14963,21 +14214,18 @@ }, "node_modules/regenerator-runtime": { "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "license": "MIT" }, "node_modules/regenerator-transform": { "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "define-properties": "^1.2.1", @@ -14993,8 +14241,7 @@ }, "node_modules/regexpu-core": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "license": "MIT", "dependencies": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", @@ -15009,8 +14256,7 @@ }, "node_modules/regjsparser": { "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "license": "BSD-2-Clause", "dependencies": { "jsesc": "~0.5.0" }, @@ -15020,8 +14266,6 @@ }, "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "bin": { "jsesc": "bin/jsesc" } @@ -15030,6 +14274,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", + "license": "MIT", "peer": true, "dependencies": { "req-from": "^2.0.0" @@ -15042,6 +14287,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", + "license": "MIT", "peer": true, "dependencies": { "resolve-from": "^3.0.0" @@ -15054,6 +14300,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -15061,24 +14308,21 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -15093,9 +14337,8 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -15105,35 +14348,31 @@ }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/resolve.exports": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/restore-cursor": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, + "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -15144,8 +14383,7 @@ }, "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -15153,8 +14391,7 @@ }, "node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -15167,8 +14404,7 @@ }, "node_modules/ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -15176,8 +14412,7 @@ }, "node_modules/rlp": { "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "license": "MPL-2.0", "dependencies": { "bn.js": "^5.2.0" }, @@ -15185,19 +14420,20 @@ "rlp": "bin/rlp" } }, + "node_modules/rlp/node_modules/bn.js": { + "version": "5.2.1", + "license": "MIT" + }, "node_modules/run-async": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { "type": "github", @@ -15212,22 +14448,25 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "version": "7.2.0", + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.1.0" + "tslib": "~2.1.0" } }, + "node_modules/rxjs/node_modules/tslib": { + "version": "2.1.0", + "license": "0BSD" + }, "node_modules/safe-array-concat": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -15243,8 +14482,6 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -15258,12 +14495,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -15278,13 +14515,13 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "license": "MIT" }, "node_modules/sc-istanbul": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "abbrev": "1.0.x", @@ -15310,6 +14547,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", "peer": true, "dependencies": { "sprintf-js": "~1.0.2" @@ -15319,12 +14557,37 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", + "license": "MIT", "peer": true }, + "node_modules/sc-istanbul/node_modules/escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.12.0" + }, + "optionalDependencies": { + "source-map": "~0.2.0" + } + }, "node_modules/sc-istanbul/node_modules/esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "license": "BSD-2-Clause", "peer": true, "bin": { "esparse": "bin/esparse.js", @@ -15334,10 +14597,21 @@ "node": ">=0.10.0" } }, + "node_modules/sc-istanbul/node_modules/estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sc-istanbul/node_modules/glob": { "version": "5.0.15", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "peer": true, "dependencies": { "inflight": "^1.0.4", @@ -15354,6 +14628,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -15363,6 +14638,7 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", "peer": true, "dependencies": { "argparse": "^1.0.7", @@ -15376,6 +14652,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", "peer": true, "bin": { "esparse": "bin/esparse.js", @@ -15385,16 +14662,72 @@ "node": ">=4" } }, + "node_modules/sc-istanbul/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", + "peer": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/sc-istanbul/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", + "peer": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/sc-istanbul/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/sc-istanbul/node_modules/resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "license": "MIT", "peer": true }, + "node_modules/sc-istanbul/node_modules/source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", + "optional": true, + "peer": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/sc-istanbul/node_modules/supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^1.0.0" @@ -15403,10 +14736,24 @@ "node": ">=0.8.0" } }, + "node_modules/sc-istanbul/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", + "peer": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/sc-istanbul/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "peer": true, "dependencies": { "isexe": "^2.0.0" @@ -15417,9 +14764,8 @@ }, "node_modules/schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -15435,9 +14781,8 @@ }, "node_modules/schema-utils/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -15451,29 +14796,27 @@ }, "node_modules/schema-utils/node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/scrypt-js": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + "license": "MIT" }, "node_modules/secp256k1": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "elliptic": "^6.5.4", "node-addon-api": "^2.0.0", @@ -15486,20 +14829,22 @@ "node_modules/secp256k1/node_modules/node-addon-api": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "license": "MIT" }, "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "version": "7.6.2", + "license": "ISC", "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/send": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -15521,34 +14866,30 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "license": "MIT" }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "license": "MIT" }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/serve-static": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -15561,8 +14902,7 @@ }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -15577,8 +14917,7 @@ }, "node_modules/set-function-name": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -15592,17 +14931,16 @@ "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" }, "node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "license": "ISC" }, "node_modules/sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -15615,6 +14953,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "charenc": ">= 0.0.1", @@ -15626,8 +14965,7 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -15637,16 +14975,14 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shelljs": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "license": "BSD-3-Clause", "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -15661,8 +14997,7 @@ }, "node_modules/side-channel": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -15678,20 +15013,16 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -15700,6 +15031,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.0.0", @@ -15715,8 +15047,7 @@ }, "node_modules/snarkjs": { "version": "0.6.11", - "resolved": "https://registry.npmjs.org/snarkjs/-/snarkjs-0.6.11.tgz", - "integrity": "sha512-pYDcrSKmUMMJtYxSQTMNG/MtuGvUWPSk9gZzADeIiHp8vJmFdCscMFa/YtemPAkne4v6Awm5HAhqbfNPyoqjug==", + "license": "GPL-3.0", "dependencies": { "@iden3/binfileutils": "0.0.11", "bfj": "^7.0.2", @@ -15735,8 +15066,7 @@ }, "node_modules/snarkjs/node_modules/ffjavascript": { "version": "0.2.57", - "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.2.57.tgz", - "integrity": "sha512-V+vxZ/zPNcthrWmqfe/1YGgqdkTamJeXiED0tsk7B84g40DKlrTdx47IqZuiygqAVG6zMw4qYuvXftIJWsmfKQ==", + "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16", "wasmcurves": "0.2.0", @@ -15745,74 +15075,49 @@ }, "node_modules/snarkjs/node_modules/wasmcurves": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/wasmcurves/-/wasmcurves-0.2.0.tgz", - "integrity": "sha512-3e2rbxdujOwaod657gxgmdhZNn+i1qKdHO3Y/bK+8E7bV8ttV/fu5FO4/WLBACF375cK0QDLOP+65Na63qYuWA==", + "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16" } }, "node_modules/solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "version": "0.8.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", + "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", + "license": "MIT", + "peer": true, "dependencies": { "command-exists": "^1.2.8", - "commander": "3.0.2", + "commander": "^8.1.0", "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", "js-sha3": "0.8.0", "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", "semver": "^5.5.0", "tmp": "0.0.33" }, "bin": { - "solcjs": "solcjs" + "solcjs": "solc.js" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.0.0" } }, "node_modules/solc/node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/solc/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 12" } }, "node_modules/solc/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "peer": true, "bin": { "semver": "bin/semver" } @@ -15821,6 +15126,7 @@ "version": "0.8.12", "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.12.tgz", "integrity": "sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==", + "license": "ISC", "peer": true, "dependencies": { "@ethersproject/abi": "^5.0.9", @@ -15854,12 +15160,14 @@ "version": "0.18.0", "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.18.0.tgz", "integrity": "sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==", + "license": "MIT", "peer": true }, "node_modules/solidity-coverage/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^1.9.0" @@ -15872,6 +15180,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^3.2.1", @@ -15886,6 +15195,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "1.1.3" @@ -15895,12 +15205,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT", "peer": true }, "node_modules/solidity-coverage/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.0" @@ -15910,6 +15222,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "license": "MIT", "peer": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -15924,6 +15237,7 @@ "version": "10.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "license": "MIT", "peer": true, "dependencies": { "@types/glob": "^7.1.1", @@ -15943,42 +15257,27 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "peer": true, "engines": { "node": ">=4" } }, - "node_modules/solidity-coverage/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/solidity-coverage/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/solidity-coverage/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, "node_modules/solidity-coverage/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^3.0.0" @@ -15987,25 +15286,27 @@ "node": ">=4" } }, - "node_modules/solidity-coverage/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "peer": true + "node_modules/solidity-coverage/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } }, "node_modules/source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -16013,22 +15314,29 @@ }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "license": "ISC", + "peer": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "license": "BSD-3-Clause" }, "node_modules/stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -16038,9 +15346,8 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -16049,6 +15356,8 @@ "version": "0.1.10", "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "license": "MIT", + "peer": true, "dependencies": { "type-fest": "^0.7.1" }, @@ -16060,38 +15369,45 @@ "version": "0.7.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { "node": ">=8" } }, "node_modules/static-eval": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "license": "MIT", "dependencies": { "escodegen": "^1.8.1" } }, "node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/streamsearch": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { "node": ">=10.0.0" } }, "node_modules/string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -16100,13 +15416,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", + "license": "WTFPL OR MIT", "peer": true }, "node_modules/string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -16117,13 +15433,11 @@ }, "node_modules/string-natural-compare": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + "license": "MIT" }, "node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -16135,13 +15449,19 @@ }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "license": "MIT" + }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } }, "node_modules/string.prototype.matchall": { "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16165,8 +15485,7 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16182,8 +15501,7 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16195,8 +15513,7 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16211,8 +15528,7 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -16222,26 +15538,23 @@ }, "node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-hex-prefix": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "license": "MIT", "dependencies": { "is-hex-prefixed": "1.0.0" }, @@ -16252,8 +15565,7 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -16263,10 +15575,8 @@ }, "node_modules/superagent": { "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", - "deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net", "dev": true, + "license": "MIT", "dependencies": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.4", @@ -16283,23 +15593,10 @@ "node": ">=6.4.0 <13 || >=14" } }, - "node_modules/superagent/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/superagent/node_modules/mime": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -16307,32 +15604,10 @@ "node": ">=4.0.0" } }, - "node_modules/superagent/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/superagent/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/supertest": { "version": "6.3.4", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", - "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", "dev": true, + "license": "MIT", "dependencies": { "methods": "^1.1.2", "superagent": "^8.1.2" @@ -16343,8 +15618,7 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16354,9 +15628,8 @@ }, "node_modules/supports-hyperlinks": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -16367,8 +15640,7 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -16378,14 +15650,12 @@ }, "node_modules/swagger-ui-dist": { "version": "5.11.2", - "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.11.2.tgz", - "integrity": "sha512-jQG0cRgJNMZ7aCoiFofnoojeSaa/+KgWaDlfgs8QN+BXoGMpxeMVY5OEnjq4OlNvF3yjftO8c9GRAgcHlO+u7A==" + "license": "Apache-2.0" }, "node_modules/symbol-observable": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } @@ -16394,6 +15664,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "license": "MIT", "peer": true, "dependencies": { "http-response-object": "^3.0.1", @@ -16408,6 +15679,7 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "license": "MIT", "peer": true, "dependencies": { "get-port": "^3.1.0" @@ -16417,6 +15689,7 @@ "version": "6.8.2", "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "ajv": "^8.0.1", @@ -16433,6 +15706,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "license": "MIT", "peer": true, "dependencies": { "array-back": "^4.0.1", @@ -16448,6 +15722,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -16457,6 +15732,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -16464,18 +15740,16 @@ }, "node_modules/tapable": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/terminal-link": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" @@ -16488,10 +15762,9 @@ } }, "node_modules/terser": { - "version": "5.31.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz", - "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==", + "version": "5.31.1", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -16507,9 +15780,8 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -16541,9 +15813,8 @@ }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -16553,20 +15824,10 @@ "node": ">= 10.13.0" } }, - "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16579,15 +15840,13 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -16599,13 +15858,13 @@ }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "license": "MIT" }, "node_modules/then-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "license": "MIT", "peer": true, "dependencies": { "@types/concat-stream": "^1.6.0", @@ -16628,12 +15887,14 @@ "version": "8.10.66", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "license": "MIT", "peer": true }, "node_modules/then-request/node_modules/form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "license": "MIT", "peer": true, "dependencies": { "asynckit": "^0.4.0", @@ -16646,14 +15907,22 @@ }, "node_modules/through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "3" + } }, "node_modules/tmp": { "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -16663,22 +15932,19 @@ }, "node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -16688,43 +15954,39 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/tr46": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "license": "MIT" }, "node_modules/tree-kill": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true, + "license": "MIT", "bin": { "tree-kill": "cli.js" } }, "node_modules/treeify": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", - "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", + "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/tryer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + "license": "MIT" }, "node_modules/ts-command-line-args": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz", "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==", + "license": "ISC", "peer": true, "dependencies": { "chalk": "^4.1.0", @@ -16737,19 +15999,22 @@ } }, "node_modules/ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "peer": true, + "version": "10.0.1", + "dev": true, + "license": "MIT", "peerDependencies": { - "typescript": ">=3.7.0" + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/ts-jest": { "version": "28.0.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.5.tgz", - "integrity": "sha512-Sx9FyP9pCY7pUzQpy4FgRZf2bhHY3za576HMKJFs+OnQ9jS96Du5vNsDKkyedQkik+sEabbKAnCliv9BEsHZgQ==", "dev": true, + "license": "MIT", "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", @@ -16784,44 +16049,10 @@ } } }, - "node_modules/ts-jest/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/ts-loader": { "version": "9.5.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", - "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", @@ -16837,43 +16068,9 @@ "webpack": "^5.0.0" } }, - "node_modules/ts-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/ts-node": { "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -16914,22 +16111,19 @@ }, "node_modules/ts-node/node_modules/arg": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "license": "MIT" }, "node_modules/ts-node/node_modules/diff": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/tsconfig-paths": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.0.0.tgz", - "integrity": "sha512-SLBg2GBKlR6bVtMgJJlud/o3waplKtL7skmLkExomIiaAtLGtVsoXIqP3SYdjbcH9lq/KVv7pMZeCBpLYOit6Q==", "dev": true, + "license": "MIT", "dependencies": { "json5": "^2.2.1", "minimist": "^1.2.6", @@ -16938,9 +16132,8 @@ }, "node_modules/tsconfig-paths-webpack-plugin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.1.tgz", - "integrity": "sha512-m5//KzLoKmqu2MVix+dgLKq70MnFi8YL8sdzQZ6DblmCdfuq/y3OqvJd5vMndg2KEVCOeNz8Es4WVZhYInteLw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.7.0", @@ -16952,18 +16145,16 @@ }, "node_modules/tsconfig-paths-webpack-plugin/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tsconfig-paths-webpack-plugin/node_modules/tsconfig-paths": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, + "license": "MIT", "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", @@ -16975,22 +16166,19 @@ }, "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tslib": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + "license": "0BSD" }, "node_modules/tslog": { "version": "3.3.4", - "resolved": "https://registry.npmjs.org/tslog/-/tslog-3.3.4.tgz", - "integrity": "sha512-N0HHuHE0e/o75ALfkioFObknHR5dVchUad4F0XyFf3gXJYB++DewEzwGI/uIOM216E5a43ovnRNEeQIq9qgm4Q==", + "license": "MIT", "dependencies": { "source-map-support": "^0.5.21" }, @@ -17001,12 +16189,13 @@ "node_modules/tsort": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==", + "license": "MIT", + "peer": true }, "node_modules/tsutils": { "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -17019,14 +16208,12 @@ }, "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "license": "0BSD" }, "node_modules/ttypescript": { "version": "1.5.15", - "resolved": "https://registry.npmjs.org/ttypescript/-/ttypescript-1.5.15.tgz", - "integrity": "sha512-48ykDNHzFnPMnv4hYX1P8Q84TvCZyL1QlFxeuxsuZ48X2+ameBgPenvmCkHJtoOSxpoWTWi8NcgNrRnVDOmfSg==", "dev": true, + "license": "MIT", "dependencies": { "resolve": ">=1.9.0" }, @@ -17041,18 +16228,18 @@ }, "node_modules/tweetnacl": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + "license": "Unlicense" }, "node_modules/tweetnacl-util": { "version": "0.15.1", "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", + "license": "Unlicense", + "peer": true }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -17062,16 +16249,14 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -17081,8 +16266,7 @@ }, "node_modules/type-is": { "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -17095,6 +16279,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz", "integrity": "sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==", + "license": "MIT", "peer": true, "dependencies": { "@types/prettier": "^2.1.1", @@ -17115,10 +16300,27 @@ "typescript": ">=4.3.0" } }, + "node_modules/typechain/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/typechain/node_modules/glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -17135,10 +16337,21 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/typechain/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/typechain/node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", "peer": true, "bin": { "mkdirp": "bin/cmd.js" @@ -17147,10 +16360,29 @@ "node": ">=10" } }, + "node_modules/typechain/node_modules/ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "typescript": ">=3.7.0" + } + }, + "node_modules/typechain/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -17162,8 +16394,7 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -17180,8 +16411,7 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -17199,8 +16429,7 @@ }, "node_modules/typed-array-length": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -17218,13 +16447,11 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + "license": "MIT" }, "node_modules/typescript": { "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -17237,15 +16464,17 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" } }, "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.0.tgz", + "integrity": "sha512-wNKHUY2hYYkf6oSFfhwwiHo4WCHzHmzcXsqXYTN9ja3iApYIFbb2U6ics9hBcYLHcYGQoAlwnZlTrf3oF+BL/Q==", + "license": "BSD-2-Clause", "optional": true, "peer": true, "bin": { @@ -17257,8 +16486,7 @@ }, "node_modules/uid": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", - "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "license": "MIT", "dependencies": { "@lukeed/csprng": "^1.0.0" }, @@ -17268,16 +16496,14 @@ }, "node_modules/uint8arrays": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "license": "MIT", "dependencies": { "multiformats": "^9.4.2" } }, "node_modules/unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -17290,13 +16516,14 @@ }, "node_modules/underscore": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + "license": "MIT" }, "node_modules/undici": { "version": "5.28.4", "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "license": "MIT", + "peer": true, "dependencies": { "@fastify/busboy": "^2.0.0" }, @@ -17304,18 +16531,20 @@ "node": ">=14.0" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "license": "MIT" + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -17326,40 +16555,34 @@ }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "2.0.1", + "license": "MIT", "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/update-browserslist-db": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.14.tgz", - "integrity": "sha512-JixKH8GR2pWYshIPUg/NujK3JO7JiqEEUiNArE86NQyrgUuZeTlZQN3xuS/yiV5Kb48ev9K6RqNkaJjXsdg7Jw==", + "version": "1.0.16", "funding": [ { "type": "opencollective", @@ -17374,9 +16597,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.1.2", - "picocolors": "^1.0.0" + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -17387,42 +16611,36 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/utf8": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + "license": "MIT" }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/uuidv4": { "version": "6.2.13", - "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz", - "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==", + "license": "MIT", "dependencies": { "@types/uuid": "8.3.4", "uuid": "8.3.2" @@ -17430,22 +16648,19 @@ }, "node_modules/uuidv4/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + "license": "MIT" }, "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "version": "9.3.0", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -17456,48 +16671,42 @@ } }, "node_modules/validator": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", - "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", + "version": "13.12.0", + "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/vary": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, "node_modules/wasmbuilder": { "version": "0.0.16", - "resolved": "https://registry.npmjs.org/wasmbuilder/-/wasmbuilder-0.0.16.tgz", - "integrity": "sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA==" + "license": "GPL-3.0" }, "node_modules/wasmcurves": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/wasmcurves/-/wasmcurves-0.2.2.tgz", - "integrity": "sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ==", + "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16" } }, "node_modules/watchpack": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -17508,22 +16717,19 @@ }, "node_modules/wcwidth": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, + "license": "MIT", "dependencies": { "defaults": "^1.0.3" } }, "node_modules/web-worker": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" + "license": "Apache-2.0" }, "node_modules/web3-utils": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.1.tgz", - "integrity": "sha512-fef0EsqMGJUgiHPdX+KN9okVWshbIumyJPmR+btnD1HgvoXijKEkuKBv0OmUqjbeqmLKP2/N9EiXKJel5+E1Dw==", + "license": "LGPL-3.0", "dependencies": { "bn.js": "^4.11.9", "ethereum-bloom-filters": "^1.0.6", @@ -17537,21 +16743,14 @@ "node": ">=8.0.0" } }, - "node_modules/web3-utils/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, "node_modules/webidl-conversions": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "license": "BSD-2-Clause" }, "node_modules/webpack": { - "version": "5.91.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", - "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", + "version": "5.92.1", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -17560,10 +16759,10 @@ "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -17597,26 +16796,23 @@ }, "node_modules/webpack-node-externals": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/webpack-sources": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/whatwg-url": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -17624,8 +16820,7 @@ }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -17638,8 +16833,7 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -17653,8 +16847,7 @@ }, "node_modules/which-builtin-type": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "license": "MIT", "dependencies": { "function.prototype.name": "^1.1.5", "has-tostringtag": "^1.0.0", @@ -17678,8 +16871,7 @@ }, "node_modules/which-collection": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -17695,8 +16887,7 @@ }, "node_modules/which-typed-array": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -17715,6 +16906,8 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "license": "MIT", + "peer": true, "dependencies": { "string-width": "^4.0.0" }, @@ -17724,9 +16917,8 @@ }, "node_modules/windows-release": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", - "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^4.0.2" }, @@ -17739,9 +16931,8 @@ }, "node_modules/windows-release/node_modules/execa": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", @@ -17762,9 +16953,8 @@ }, "node_modules/windows-release/node_modules/get-stream": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -17777,17 +16967,15 @@ }, "node_modules/windows-release/node_modules/human-signals": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8.12.0" } }, "node_modules/word-wrap": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -17796,12 +16984,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "license": "MIT", "peer": true }, "node_modules/wordwrapjs": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "license": "MIT", "peer": true, "dependencies": { "reduce-flatten": "^2.0.0", @@ -17815,20 +17005,22 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" } }, "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "license": "Apache-2.0", + "peer": true }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -17843,14 +17035,12 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -17860,15 +17050,14 @@ } }, "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "8.17.1", + "license": "MIT", "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -17881,38 +17070,33 @@ }, "node_modules/xtend": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", "engines": { "node": ">=0.4" } }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", "engines": { "node": ">= 6" } }, "node_modules/yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -17928,9 +17112,8 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -17939,6 +17122,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "license": "MIT", + "peer": true, "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -17951,16 +17136,14 @@ }, "node_modules/yn": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/examples/bri-3/package.json b/examples/bri-3/package.json index cd44f97c9..89132085c 100644 --- a/examples/bri-3/package.json +++ b/examples/bri-3/package.json @@ -41,7 +41,8 @@ "@nestjs/schedule": "^3.0.1", "@nestjs/swagger": "^7.3.1", "@noble/curves": "^1.2.0", - "@nomicfoundation/hardhat-toolbox": "^2.0.2", + "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@openzeppelin/contracts": "^5.0.2", "@personaelabs/spartan-ecdsa": "^2.1.4", "@prisma/client": "^5.2.0", "circomlib": "^2.0.5", @@ -58,7 +59,6 @@ "ethr-did-resolver": "^10.1.0", "ew-precise-proofs-js": "^1.2.0", "fixed-merkle-tree": "^0.7.3", - "hardhat": "^2.17.2", "jose": "^4.13.1", "logplease": "^1.2.15", "merkletreejs": "^0.3.9", @@ -68,7 +68,7 @@ "prisma-extension-bark": "^0.1.1", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", - "rxjs": "^7.2.0", + "rxjs": "7.2.0", "snarkjs": "^0.6.11", "tslog": "^3.3.4", "uuidv4": "^6.2.13" @@ -77,7 +77,6 @@ "@nestjs/cli": "^9.0.0", "@nestjs/schematics": "^9.0.0", "@nestjs/testing": "^9.0.0", - "@nomicfoundation/hardhat-ethers": "^3.0.5", "@types/bcrypt": "^5.0.0", "@types/circomlibjs": "^0.1.4", "@types/cron": "^2.0.1", @@ -86,16 +85,15 @@ "@types/elliptic": "^6.4.14", "@types/express": "^4.17.13", "@types/jest": "28.1.4", - "@types/node": "^16.11.62", "@types/passport-jwt": "^3.0.7", "@types/supertest": "^2.0.11", "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0", + "@typescript-eslint/eslint-plugin": "^5.10.2", + "@typescript-eslint/parser": "^5.10.2", "eslint": "^8.0.1", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", - "ethers": "^6.12.0", + "ethers": "^6.13.1", "jest": "28.1.2", "jest-mock-extended": "^3.0.3", "prettier": "^2.3.2", diff --git a/examples/bri-3/prisma/migrations/20240722130942_add_workflow_id_and_workstep_id_to_transaction/migration.sql b/examples/bri-3/prisma/migrations/20240722130942_add_workflow_id_and_workstep_id_to_transaction/migration.sql new file mode 100644 index 000000000..201507807 --- /dev/null +++ b/examples/bri-3/prisma/migrations/20240722130942_add_workflow_id_and_workstep_id_to_transaction/migration.sql @@ -0,0 +1,12 @@ +/* + Warnings: + + - Added the required column `workflowId` to the `Transaction` table without a default value. This is not possible if the table is not empty. + - Added the required column `workstepId` to the `Transaction` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "Transaction" ADD COLUMN "workflowId" TEXT NOT NULL, +ADD COLUMN "workstepId" TEXT NOT NULL, +ALTER COLUMN "workflowInstanceId" DROP NOT NULL, +ALTER COLUMN "workstepInstanceId" DROP NOT NULL; diff --git a/examples/bri-3/prisma/migrations/20240726160456_add_verifier_address_to_workstep/migration.sql b/examples/bri-3/prisma/migrations/20240726160456_add_verifier_address_to_workstep/migration.sql new file mode 100644 index 000000000..e8e0c24af --- /dev/null +++ b/examples/bri-3/prisma/migrations/20240726160456_add_verifier_address_to_workstep/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - Added the required column `verifierContractAddress` to the `Workstep` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "Workstep" ADD COLUMN "verifierContractAddress" TEXT NOT NULL; diff --git a/examples/bri-3/prisma/schema.prisma b/examples/bri-3/prisma/schema.prisma index 9d21cc2ad..c28525523 100644 --- a/examples/bri-3/prisma/schema.prisma +++ b/examples/bri-3/prisma/schema.prisma @@ -73,6 +73,7 @@ model Workstep { circuitInputsTranslationSchema Json? workflow Workflow[] workgroup Workgroup @relation(fields: [workgroupId], references: [id]) + verifierContractAddress String } model Workflow { @@ -100,8 +101,10 @@ model Workgroup { model Transaction { id String @id nonce Int - workflowInstanceId String - workstepInstanceId String + workflowId String + workflowInstanceId String? + workstepId String + workstepInstanceId String? fromBpiSubjectAccountId String fromBpiSubjectAccount BpiSubjectAccount @relation(fields: [fromBpiSubjectAccountId], references: [id], name: "fromBpiSubjectAccount_fk") toBpiSubjectAccountId String diff --git a/examples/bri-3/src/app.module.ts b/examples/bri-3/src/app.module.ts index b3b4e5cc0..619065460 100644 --- a/examples/bri-3/src/app.module.ts +++ b/examples/bri-3/src/app.module.ts @@ -6,6 +6,7 @@ import { AuthModule } from './bri/auth/auth.module'; import { DidJwtAuthGuard } from './bri/auth/guards/didJwt.guard'; import { AuthzModule } from './bri/authz/authz.module'; import { AuthzGuard } from './bri/authz/guards/authz.guard'; +import { CcsmModule } from './bri/ccsm/ccsm.module'; import { CommunicationModule } from './bri/communication/communication.module'; import { SubjectModule } from './bri/identity/bpiSubjects/subjects.module'; import { IdentityModule } from './bri/identity/identity.module'; @@ -37,6 +38,7 @@ import { PrismaService } from './shared/prisma/prisma.service'; SubjectModule, MerkleModule, StateModule, + CcsmModule, ], providers: [ PrismaService, diff --git a/examples/bri-3/src/bri/auth/agent/auth.agent.ts b/examples/bri-3/src/bri/auth/agent/auth.agent.ts index 2e0598424..24b07f946 100644 --- a/examples/bri-3/src/bri/auth/agent/auth.agent.ts +++ b/examples/bri-3/src/bri/auth/agent/auth.agent.ts @@ -130,7 +130,7 @@ export class AuthAgent { }; const serviceDid = - `did:ethr:${process.env.DID_NETWORK}:${process.env.DID_BPI_OPERATOR_PUBLIC_KEY}` as string; + `did:ethr:sepolia:${process.env.DID_BPI_OPERATOR_PUBLIC_KEY}` as string; const privateKey = process.env.DID_BPI_OPERATOR_PRIVATE_KEY as string; const serviceSigner = ES256KSigner(hexToBytes(privateKey)); diff --git a/examples/bri-3/src/bri/ccsm/agents/ccsmStorage.agent.ts b/examples/bri-3/src/bri/ccsm/agents/ccsmStorage.agent.ts new file mode 100644 index 000000000..bffd475b0 --- /dev/null +++ b/examples/bri-3/src/bri/ccsm/agents/ccsmStorage.agent.ts @@ -0,0 +1,17 @@ +import { Inject, Injectable } from '@nestjs/common'; +import { ICcsmService } from '../services/ccsm.interface'; + +@Injectable() +export class CcsmStorageAgent { + constructor( + @Inject('ICcsmService') + private readonly ccsmService: ICcsmService, + ) {} + + async storeAnchorHashOnCcsm( + workstepInstanceId: string, + anchorHash: string, + ): Promise { + await this.ccsmService.storeAnchorHash(workstepInstanceId, anchorHash); + } +} diff --git a/examples/bri-3/src/bri/ccsm/ccsm.module.ts b/examples/bri-3/src/bri/ccsm/ccsm.module.ts new file mode 100644 index 000000000..78603ac1a --- /dev/null +++ b/examples/bri-3/src/bri/ccsm/ccsm.module.ts @@ -0,0 +1,15 @@ +import { Module } from '@nestjs/common'; +import { CcsmStorageAgent } from './agents/ccsmStorage.agent'; +import { EthereumService } from './services/ethereum.service'; + +@Module({ + providers: [ + CcsmStorageAgent, + { + provide: 'ICcsmService', + useClass: EthereumService, + }, + ], + exports: [CcsmStorageAgent, 'ICcsmService'], +}) +export class CcsmModule {} diff --git a/examples/bri-3/src/bri/ccsm/services/ccsm.interface.ts b/examples/bri-3/src/bri/ccsm/services/ccsm.interface.ts new file mode 100644 index 000000000..7119d32ac --- /dev/null +++ b/examples/bri-3/src/bri/ccsm/services/ccsm.interface.ts @@ -0,0 +1,16 @@ +import { Witness } from '../../zeroKnowledgeProof/models/witness'; + +export interface ICcsmService { + storeAnchorHash( + workstepInstanceId: string, + anchorHash: string, + ): Promise; + + getAnchorHash(workstepInstanceId: string): Promise; + + verifyProof( + verifierAddress: string, + pathToAbi: string, + witness: Witness, + ): Promise; +} diff --git a/examples/bri-3/src/bri/ccsm/services/ethereum.service.ts b/examples/bri-3/src/bri/ccsm/services/ethereum.service.ts new file mode 100644 index 000000000..7ff31cfa1 --- /dev/null +++ b/examples/bri-3/src/bri/ccsm/services/ethereum.service.ts @@ -0,0 +1,150 @@ +import { Injectable, InternalServerErrorException } from '@nestjs/common'; +import 'dotenv/config'; +import { + BaseWallet, + Contract, + ethers, + InfuraProvider, + JsonRpcProvider, + Provider, + SigningKey, +} from 'ethers'; +import * as CcsmBpiStateAnchor from '../../../../ccsmArtifacts/contracts/CcsmBpiStateAnchor.sol/CcsmBpiStateAnchor.json'; +import { internalBpiSubjectEcdsaPrivateKey } from '../../../shared/testing/constants'; +import { Witness } from '../../zeroKnowledgeProof/models/witness'; +import { ICcsmService } from './ccsm.interface'; +import * as fs from 'fs'; + +@Injectable() +export class EthereumService implements ICcsmService { + private provider: Provider; + private wallet: BaseWallet; + + constructor() { + const network = process.env.CCSM_NETWORK; + + if (network === 'localhost') { + this.provider = new JsonRpcProvider('http://127.0.0.1:8545'); + } else { + this.provider = new InfuraProvider( + network, + process.env.INFURA_PROVIDER_API_KEY, + ); + } + + const signingKey = new SigningKey(internalBpiSubjectEcdsaPrivateKey); + this.wallet = new BaseWallet(signingKey, this.provider); + } + + public async storeAnchorHash( + workstepInstanceId: string, + anchorHash: string, + ): Promise { + const ccsmContract = await this.connectToCcsmBpiStateAnchorContract(); + try { + const tx = await ccsmContract.setAnchorHash( + workstepInstanceId, + anchorHash, + ); + await tx.wait(); + } catch (error) { + throw new InternalServerErrorException( + `Error while trying to store anchor hash on chain : ${error}`, + ); + } + } + + public async getAnchorHash(workstepInstanceId: string): Promise { + const ccsmContract = await this.connectToCcsmBpiStateAnchorContract(); + const anchorHash = await ccsmContract.getAnchorHash(workstepInstanceId); + return anchorHash; + } + + public async verifyProof( + verifierAddress: string, + pathToAbi: string, + witness: Witness, + ): Promise { + let verifierAbi = ''; + try { + const abiRaw = fs.readFileSync(pathToAbi, 'utf8'); + verifierAbi = JSON.parse(abiRaw); + } catch (error) { + if (error.code === 'ENOENT') { + throw new Error( + 'Workstep verifier contract ABI does not exist on path:' + pathToAbi, + ); + } else { + throw new Error('Error while reading verifier contract ABI:' + error); + } + } + + const verifierContract = new ethers.Contract( + verifierAddress, + verifierAbi['abi'], + this.wallet, + ); + + const proofElements = [ + ...witness.proof.value['A'].slice(0, 2), + ...witness.proof.value['B'].slice(0, 2), + ...witness.proof.value['C'].slice(0, 2), + ...witness.proof.value['Z'].slice(0, 2), + ...witness.proof.value['T1'].slice(0, 2), + ...witness.proof.value['T2'].slice(0, 2), + ...witness.proof.value['T3'].slice(0, 2), + ...witness.proof.value['Wxi'].slice(0, 2), + ...witness.proof.value['Wxiw'].slice(0, 2), + witness.proof.value['eval_a'], + witness.proof.value['eval_b'], + witness.proof.value['eval_c'], + witness.proof.value['eval_s1'], + witness.proof.value['eval_s2'], + witness.proof.value['eval_zw'], + witness.proof.value['eval_r'], + ]; + + const proofHex = '0x' + proofElements.map(this.formatHexString).join(''); + + const pubInputs = witness.publicInputs!.map((input) => BigInt(input)); + + try { + return await verifierContract.verifyProof(proofHex, pubInputs); + } catch (error) { + throw new InternalServerErrorException( + `Error while trying to verify proof on chain : ${error}`, + ); + } + } + + private async connectToCcsmBpiStateAnchorContract(): Promise { + const ccsmContractAddress = + process.env.CCSM_BPI_STATE_ANCHOR_CONTRACT_ADDRESS!; + + const ccsmBpiStateAnchorContract = new ethers.Contract( + ccsmContractAddress, + CcsmBpiStateAnchor.abi, + this.wallet, + ); + + return ccsmBpiStateAnchorContract; + } + + private formatHexString(value: string | number | bigint): string { + let hexValue: string; + if (typeof value === 'string' && value.startsWith('0x')) { + // If it's already a hex string, just pad it + hexValue = value; + } else { + // Otherwise, convert to BigInt first + try { + const bigIntValue = BigInt(value); + hexValue = '0x' + bigIntValue.toString(16).padStart(64, '0'); + } catch (error) { + console.error('Error converting value to BigInt:', value); + throw error; + } + } + return hexValue.slice(2); // Remove '0x' prefix + } +} diff --git a/examples/bri-3/src/bri/identity/bpiSubjects/services/did.service.ts b/examples/bri-3/src/bri/identity/bpiSubjects/services/did.service.ts index 3048b39ac..78586376e 100644 --- a/examples/bri-3/src/bri/identity/bpiSubjects/services/did.service.ts +++ b/examples/bri-3/src/bri/identity/bpiSubjects/services/did.service.ts @@ -5,14 +5,18 @@ import { getResolver } from 'ethr-did-resolver'; import 'dotenv/config'; export class DidService { + // TODO: Hardcoded sepolia everywhere for DID resolution + // This should be taken from the CCSM_NETWORK env value and + // the service refactored to connect to locahost as well, + // with previous deployment of a did registry to local node. async createKeypair(): Promise { - const keypair = EthrDID.createKeyPair(process.env.DID_NETWORK); + const keypair = EthrDID.createKeyPair('sepolia'); return keypair; } async createProvider(): Promise { const provider = new InfuraProvider( - process.env.DID_NETWORK, + 'sepolia', process.env.INFURA_PROVIDER_API_KEY, ); return provider; @@ -22,7 +26,7 @@ export class DidService { const did = new EthrDID({ identifier: process.env.DID_BPI_OPERATOR_PUBLIC_KEY as string, provider, - chainNameOrId: process.env.DID_NETWORK, + chainNameOrId: 'sepolia', registry: process.env.DID_REGISTRY, }); return did; @@ -31,10 +35,10 @@ export class DidService { async getDidResolver(provider): Promise { const didResolver = new Resolver({ ...getResolver({ - name: process.env.DID_NETWORK, + name: 'sepolia', provider: provider, registry: process.env.DID_REGISTRY, - chainId: process.env.DID_NETWORK, + chainId: 'sepolia', }), }); diff --git a/examples/bri-3/src/bri/merkleTree/models/bpiMerkleTree.ts b/examples/bri-3/src/bri/merkleTree/models/bpiMerkleTree.ts index b6752f2a2..e407c21c7 100644 --- a/examples/bri-3/src/bri/merkleTree/models/bpiMerkleTree.ts +++ b/examples/bri-3/src/bri/merkleTree/models/bpiMerkleTree.ts @@ -24,13 +24,17 @@ export class BpiMerkleTree { public addLeaf(leaf: string): void { const bufferLeaf = Buffer.from(leaf, 'utf-8'); - this.tree.addLeaf(bufferLeaf, true); + this.tree.addLeaf(bufferLeaf, false); } public getLeafIndex(leaf: string): number { return this.tree.getLeafIndex(Buffer.from(leaf, 'utf-8')); } + public getLeaf(index: number): string { + return this.tree.getLeaf(index).toString(); + } + public getRoot(): string { return this.tree.getRoot().toString(); } diff --git a/examples/bri-3/src/bri/state/agents/state.agent.ts b/examples/bri-3/src/bri/state/agents/state.agent.ts index aaa594123..35927bf87 100644 --- a/examples/bri-3/src/bri/state/agents/state.agent.ts +++ b/examples/bri-3/src/bri/state/agents/state.agent.ts @@ -9,15 +9,6 @@ import { Witness } from '../../zeroKnowledgeProof/models/witness'; import { StateTreeLeafValueContent } from '../models/stateTreeLeafValueContent'; import { LEAF_STATE_VALUE_NOT_FOUND_ERR_MESSAGE } from '../bpiAccounts/api/err.messages'; -// TODO: #741 We should follow this approach everywhere for storage -// https://www.prisma.io/docs/guides/performance-and-optimization/prisma-client-transactions-guide#scenario-pre-computed-ids-and-the-transaction-api -// We precompute Ids, collect all storage actions from the relevant storage agents -// and then execute a single prisma transaction at the end of the command handler -// Best way to achieve this is to have a provider called i.e dbContext, which is scoped as REQUEST -// that is injected in every agent and serves as the place where we collect all the db actions created by storage agents which are invoked by -// by regular agents. This dbContext is in the end passed to prisma.transaction call, so that db actions are executed in order -// as part of a single transaction. - // TODO: #742 MIL5 - Introduce unit tests once https://github.com/demonsters/prisma-mock implemented @Injectable() export class StateAgent { diff --git a/examples/bri-3/src/bri/state/state.module.ts b/examples/bri-3/src/bri/state/state.module.ts index 8d5147408..a0d40f133 100644 --- a/examples/bri-3/src/bri/state/state.module.ts +++ b/examples/bri-3/src/bri/state/state.module.ts @@ -1,12 +1,18 @@ import { Module } from '@nestjs/common'; import { CqrsModule } from '@nestjs/cqrs'; -import { AccountModule } from './bpiAccounts/accounts.module'; import { MerkleModule } from '../merkleTree/merkle.module'; import { StateAgent } from './agents/state.agent'; +import { StateController } from './api/state.controller'; +import { AccountModule } from './bpiAccounts/accounts.module'; +import { GetStateTreeLeafValueContentQueryHandler } from './capabilities/getStateContent/getStateTreeLeafValueContentQuery.handler'; +import { StateProfile } from './state.profile'; + +export const QueryHandlers = [GetStateTreeLeafValueContentQueryHandler]; @Module({ imports: [CqrsModule, MerkleModule, AccountModule], - providers: [StateAgent], + controllers: [StateController], + providers: [...QueryHandlers, StateAgent, StateProfile], exports: [StateAgent], }) export class StateModule {} diff --git a/examples/bri-3/src/bri/transactions/agents/transactionStorage.agent.ts b/examples/bri-3/src/bri/transactions/agents/transactionStorage.agent.ts index 5cf9ef2a6..c4f7d0e07 100644 --- a/examples/bri-3/src/bri/transactions/agents/transactionStorage.agent.ts +++ b/examples/bri-3/src/bri/transactions/agents/transactionStorage.agent.ts @@ -96,8 +96,8 @@ export class TransactionStorageAgent { data: { id: transaction.id, nonce: transaction.nonce, - workflowInstanceId: transaction.workflowInstanceId, - workstepInstanceId: transaction.workstepInstanceId, + workflowId: transaction.workflowId, + workstepId: transaction.workstepId, fromBpiSubjectAccountId: transaction.fromBpiSubjectAccountId, toBpiSubjectAccountId: transaction.toBpiSubjectAccountId, payload: transaction.payload, @@ -131,7 +131,9 @@ export class TransactionStorageAgent { return this.mapper.map(newTransactionModel, Transaction); } - async updateTransaction(transaction: Transaction): Promise { + async updateTransactionPayload( + transaction: Transaction, + ): Promise { const updatedTransactionModel = await this.prisma.transaction.update({ where: { id: transaction.id }, data: { @@ -143,15 +145,15 @@ export class TransactionStorageAgent { return this.mapper.map(updatedTransactionModel, Transaction); } - async updateTransactionStatus( - transaction: Transaction, - ): Promise { + async updateTransaction(transaction: Transaction): Promise { const updatedTransaction = await this.prisma.transaction.update({ where: { id: transaction.id, }, data: { status: transaction.status, + workflowInstanceId: transaction.workflowInstanceId, + workstepInstanceId: transaction.workstepInstanceId, }, }); diff --git a/examples/bri-3/src/bri/transactions/agents/transactions.agent.spec.ts b/examples/bri-3/src/bri/transactions/agents/transactions.agent.spec.ts index 8565f199f..2f1cb47c3 100644 --- a/examples/bri-3/src/bri/transactions/agents/transactions.agent.spec.ts +++ b/examples/bri-3/src/bri/transactions/agents/transactions.agent.spec.ts @@ -1,35 +1,36 @@ -import { AuthAgent } from '../../auth/agent/auth.agent'; -import { BpiSubjectAccount as BpiSubjectAccountPrismaModel } from '../../identity/bpiSubjectAccounts/models/bpiSubjectAccount'; -import { WorkflowStorageAgent } from '../../workgroup/workflows/agents/workflowsStorage.agent'; -import { WorkstepStorageAgent } from '../../workgroup/worksteps/agents/workstepsStorage.agent'; -import { Transaction } from '../models/transaction'; -import { TransactionStatus } from '../models/transactionStatus.enum'; -import { TransactionStorageAgent } from './transactionStorage.agent'; -import { TransactionAgent } from './transactions.agent'; -import { MerkleTreeService } from '../../merkleTree/services/merkleTree.service'; +import { classes } from '@automapper/classes'; +import { AutomapperModule } from '@automapper/nestjs'; +import { NotFoundException } from '@nestjs/common'; +import { Test, TestingModule } from '@nestjs/testing'; import { + BpiAccount, BpiSubject, BpiSubjectAccount, + PrismaClient, + PublicKeyType, Workflow, Workgroup, Workstep, - BpiAccount, - PrismaClient, - PublicKeyType, } from '../../../../__mocks__/@prisma/client'; -import { Test, TestingModule } from '@nestjs/testing'; -import { SnarkjsCircuitService } from '../../zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service'; +import { AuthModule } from '../../../bri/auth/auth.module'; +import { LoggingModule } from '../../../shared/logging/logging.module'; import { PrismaMapper } from '../../../shared/prisma/prisma.mapper'; import { PrismaService } from '../../../shared/prisma/prisma.service'; +import { AuthAgent } from '../../auth/agent/auth.agent'; +import { CcsmModule } from '../../ccsm/ccsm.module'; +import { BpiSubjectAccount as BpiSubjectAccountPrismaModel } from '../../identity/bpiSubjectAccounts/models/bpiSubjectAccount'; import { BpiSubjectStorageAgent } from '../../identity/bpiSubjects/agents/bpiSubjectsStorage.agent'; -import { LoggingModule } from '../../../shared/logging/logging.module'; -import { NotFoundException } from '@nestjs/common'; -import { NOT_FOUND_ERR_MESSAGE as WORKSTEP_NOT_FOUND_ERR_MESSAGE } from '../../workgroup/worksteps/api/err.messages'; +import { MerkleTreeService } from '../../merkleTree/services/merkleTree.service'; +import { WorkflowStorageAgent } from '../../workgroup/workflows/agents/workflowsStorage.agent'; import { NOT_FOUND_ERR_MESSAGE as WORKFLOW_NOT_FOUND_ERR_MESSAGE } from '../../workgroup/workflows/api/err.messages'; -import { AuthModule } from '../../../bri/auth/auth.module'; -import { AutomapperModule } from '@automapper/nestjs'; -import { classes } from '@automapper/classes'; -import { uuid } from 'uuidv4'; +import { WorkstepStorageAgent } from '../../workgroup/worksteps/agents/workstepsStorage.agent'; +import { NOT_FOUND_ERR_MESSAGE as WORKSTEP_NOT_FOUND_ERR_MESSAGE } from '../../workgroup/worksteps/api/err.messages'; +import { CircuitInputsParserService } from '../../zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service'; +import { SnarkjsCircuitService } from '../../zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service'; +import { Transaction } from '../models/transaction'; +import { TransactionStatus } from '../models/transactionStatus.enum'; +import { TransactionAgent } from './transactions.agent'; +import { TransactionStorageAgent } from './transactionStorage.agent'; let agent: TransactionAgent; let authAgent: AuthAgent; @@ -52,6 +53,7 @@ beforeEach(async () => { AutomapperModule.forRoot({ strategyInitializer: classes(), }), + CcsmModule, ], providers: [ TransactionAgent, @@ -66,6 +68,7 @@ beforeEach(async () => { provide: 'ICircuitService', useClass: SnarkjsCircuitService, }, + CircuitInputsParserService, ], }) .overrideProvider(PrismaService) @@ -189,6 +192,7 @@ beforeEach(async () => { securityPolicy: '', privacyPolicy: '', workgroupId: workgroup.id, + verifierContractAddress: '', }, }); diff --git a/examples/bri-3/src/bri/transactions/agents/transactions.agent.ts b/examples/bri-3/src/bri/transactions/agents/transactions.agent.ts index f70efccc9..f8165e166 100644 --- a/examples/bri-3/src/bri/transactions/agents/transactions.agent.ts +++ b/examples/bri-3/src/bri/transactions/agents/transactions.agent.ts @@ -7,21 +7,26 @@ import { import { Transaction } from '../models/transaction'; import { TransactionStatus } from '../models/transactionStatus.enum'; +import MerkleTree from 'merkletreejs'; +import { Witness } from 'src/bri/zeroKnowledgeProof/models/witness'; import { AuthAgent } from '../../auth/agent/auth.agent'; import { BpiSubjectAccount } from '../../identity/bpiSubjectAccounts/models/bpiSubjectAccount'; +import { PublicKeyType } from '../../identity/bpiSubjects/models/publicKey'; import { MerkleTreeService } from '../../merkleTree/services/merkleTree.service'; import { WorkflowStorageAgent } from '../../workgroup/workflows/agents/workflowsStorage.agent'; import { WorkstepStorageAgent } from '../../workgroup/worksteps/agents/workstepsStorage.agent'; import { Workstep } from '../../workgroup/worksteps/models/workstep'; +import { CircuitInputsParserService } from '../../zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service'; import { ICircuitService } from '../../zeroKnowledgeProof/services/circuit/circuitService.interface'; +import { computeEddsaSigPublicInputs } from '../../zeroKnowledgeProof/services/circuit/snarkjs/utils/computePublicInputs'; import { DELETE_WRONG_STATUS_ERR_MESSAGE, NOT_FOUND_ERR_MESSAGE, UPDATE_WRONG_STATUS_ERR_MESSAGE, } from '../api/err.messages'; -import { TransactionStorageAgent } from './transactionStorage.agent'; import { TransactionResult } from '../models/transactionResult'; -import { PublicKeyType } from '../../identity/bpiSubjects/models/publicKey'; +import { TransactionStorageAgent } from './transactionStorage.agent'; +import { ICcsmService } from '../../ccsm/services/ccsm.interface'; @Injectable() export class TransactionAgent { @@ -33,6 +38,9 @@ export class TransactionAgent { private merkleTreeService: MerkleTreeService, @Inject('ICircuitService') private readonly circuitService: ICircuitService, + private circuitInputsParserService: CircuitInputsParserService, + @Inject('ICcsmService') + private readonly ccsmService: ICcsmService, ) {} public throwIfCreateTransactionInputInvalid() { @@ -48,8 +56,8 @@ export class TransactionAgent { public createNewTransaction( id: string, nonce: number, - workflowInstanceId: string, - workstepInstanceId: string, + workflowId: string, + workstepId: string, fromBpiSubjectAccount: BpiSubjectAccount, toBpiSubjectAccount: BpiSubjectAccount, payload: string, @@ -58,8 +66,8 @@ export class TransactionAgent { return new Transaction( id, nonce, - workflowInstanceId, - workstepInstanceId, + workflowId, + workstepId, fromBpiSubjectAccount, toBpiSubjectAccount, payload, @@ -126,7 +134,7 @@ export class TransactionAgent { ): Promise { // TODO: Log each validation err for now const workflow = await this.workflowStorageAgent.getWorkflowById( - tx.workflowInstanceId, + tx.workflowId, ); if (!workflow) { @@ -134,7 +142,7 @@ export class TransactionAgent { } const workstep = await this.workstepStorageAgent.getWorkstepById( - tx.workstepInstanceId, + tx.workstepId, ); if (!workstep) { @@ -179,24 +187,25 @@ export class TransactionAgent { ): Promise { const txResult = new TransactionResult(); - const merkelizedPayload = this.merkleTreeService.merkelizePayload( + txResult.merkelizedPayload = this.merkleTreeService.merkelizePayload( JSON.parse(tx.payload), `${process.env.MERKLE_TREE_HASH_ALGH}`, ); - txResult.merkelizedPayload = merkelizedPayload; const { - snakeCaseWorkstepName, circuitProvingKeyPath, circuitVerificatioKeyPath, circuitPath, circuitWitnessCalculatorPath, circuitWitnessFilePath, + verifierContractAbiFilePath, } = this.constructCircuitPathsFromWorkstepName(workstep.name); txResult.witness = await this.circuitService.createWitness( - { tx, merkelizedPayload }, - snakeCaseWorkstepName, + await this.prepareCircuitInputs( + tx, + workstep.circuitInputsTranslationSchema, + ), circuitPath, circuitProvingKeyPath, circuitVerificatioKeyPath, @@ -204,33 +213,27 @@ export class TransactionAgent { circuitWitnessFilePath, ); - const hashFn = this.merkleTreeService.createHashFunction( - `${process.env.MERKLE_TREE_HASH_ALGH}`, - ); - - const merkelizedInvoiceRoot = merkelizedPayload.getRoot().toString('hex'); - const witnessHash = hashFn(JSON.stringify(txResult.witness)).toString( - 'hex', + txResult.verifiedOnChain = await this.ccsmService.verifyProof( + workstep.verifierContractAddress, + verifierContractAbiFilePath, + txResult.witness, ); - txResult.hash = hashFn(`${merkelizedInvoiceRoot}${witnessHash}`).toString( - 'hex', + txResult.hash = this.constructTxHash( + txResult.merkelizedPayload, + txResult.witness, ); return txResult; } - // TODO: #744 Only for the purposes of temporary convention - // to connect worksteps with circuits on the file system. - // Format is: /_. - // Will be ditched completely as part of milestone 5. private constructCircuitPathsFromWorkstepName(name: string): { - snakeCaseWorkstepName: string; circuitProvingKeyPath: string; circuitVerificatioKeyPath: string; circuitPath: string; circuitWitnessCalculatorPath: string; circuitWitnessFilePath: string; + verifierContractAbiFilePath: string; } { const snakeCaseWorkstepName = this.convertStringToSnakeCase(name); @@ -269,20 +272,27 @@ export class TransactionAgent { process.env.SNARKJS_CIRCUITS_PATH + snakeCaseWorkstepName + '/witness.txt'; + + const verifierContractAbiFilePath = + process.env.SNARKJS_CIRCUITS_PATH + + snakeCaseWorkstepName + + '/' + + snakeCaseWorkstepName + + 'Verifier.sol' + + '/' + + snakeCaseWorkstepName + + 'Verifier.json'; return { - snakeCaseWorkstepName, circuitProvingKeyPath, circuitVerificatioKeyPath, circuitPath, circuitWitnessCalculatorPath, circuitWitnessFilePath, + verifierContractAbiFilePath, }; } - // TODO: #744 ChatGPT generated only for the purposes of temporary convention - // to connect worksteps with circuits on the file system. private convertStringToSnakeCase(name: string): string { - // Remove any leading or trailing spaces name = name.trim(); // Replace spaces, hyphens, and underscores with a single underscore @@ -299,4 +309,55 @@ export class TransactionAgent { return name; } + + private async prepareCircuitInputs( + tx: Transaction, + circuitInputsTranslationSchema: string, + ): Promise { + const payloadAsCircuitInputs = await this.preparePayloadAsCircuitInputs( + tx.payload, + circuitInputsTranslationSchema, + ); + + return Object.assign( + payloadAsCircuitInputs, + await computeEddsaSigPublicInputs(tx), + ); + } + + private async preparePayloadAsCircuitInputs( + txPayload: string, + workstepTranslationSchema: string, + ): Promise { + const mapping: CircuitInputsMapping = JSON.parse(workstepTranslationSchema); + + if (!mapping) { + throw new Error(`Broken mapping`); + } + + const parsedInputs = + this.circuitInputsParserService.applyMappingToJSONPayload( + txPayload, + mapping, + ); + if (!parsedInputs) { + throw new Error(`Failed to parse inputs`); + } + + return parsedInputs; + } + + private constructTxHash( + merkelizedPayload: MerkleTree, + witness: Witness, + ): string { + const hashFn = this.merkleTreeService.createHashFunction( + `${process.env.MERKLE_TREE_HASH_ALGH}`, + ); + + const merkelizedInvoiceRoot = merkelizedPayload.getRoot().toString('hex'); + const witnessHash = hashFn(JSON.stringify(witness)).toString('hex'); + + return hashFn(`${merkelizedInvoiceRoot}${witnessHash}`).toString('hex'); + } } diff --git a/examples/bri-3/src/bri/transactions/api/dtos/request/createTransaction.dto.spec.ts b/examples/bri-3/src/bri/transactions/api/dtos/request/createTransaction.dto.spec.ts index 495415286..9cfa06a9b 100644 --- a/examples/bri-3/src/bri/transactions/api/dtos/request/createTransaction.dto.spec.ts +++ b/examples/bri-3/src/bri/transactions/api/dtos/request/createTransaction.dto.spec.ts @@ -8,8 +8,8 @@ describe('CreateTransactionDto', () => { // Arrange const dto = { nonce: 123, - workflowInstanceId: '123', - workstepInstanceId: '123', + workflowId: '123', + workstepId: '123', fromSubjectAccountId: '123', toSubjectAccountId: '123', payload: '123', @@ -33,8 +33,8 @@ describe('CreateTransactionDto', () => { const dto = { id: '123', nonce: 123, - workflowInstanceId: '123', - workstepInstanceId: '123', + workflowId: '123', + workstepId: '123', fromSubjectAccountId: '123', toSubjectAccountId: '123', payload: '123', diff --git a/examples/bri-3/src/bri/transactions/api/dtos/request/createTransaction.dto.ts b/examples/bri-3/src/bri/transactions/api/dtos/request/createTransaction.dto.ts index 1744b05b6..6e4a8e600 100644 --- a/examples/bri-3/src/bri/transactions/api/dtos/request/createTransaction.dto.ts +++ b/examples/bri-3/src/bri/transactions/api/dtos/request/createTransaction.dto.ts @@ -9,10 +9,10 @@ export class CreateTransactionDto { nonce: number; @IsNotEmpty() - workflowInstanceId: string; + workflowId: string; @IsNotEmpty() - workstepInstanceId: string; + workstepId: string; @IsNotEmpty() fromSubjectAccountId: string; diff --git a/examples/bri-3/src/bri/transactions/api/dtos/response/transaction.dto.ts b/examples/bri-3/src/bri/transactions/api/dtos/response/transaction.dto.ts index 44535fe9e..f3211e68b 100644 --- a/examples/bri-3/src/bri/transactions/api/dtos/response/transaction.dto.ts +++ b/examples/bri-3/src/bri/transactions/api/dtos/response/transaction.dto.ts @@ -8,9 +8,15 @@ export class TransactionDto { @AutoMap() nonce: number; + @AutoMap() + workflowId: string; + @AutoMap() workflowInstanceId: string; + @AutoMap() + workstepId: string; + @AutoMap() workstepInstanceId: string; diff --git a/examples/bri-3/src/bri/transactions/api/transactions.controller.spec.ts b/examples/bri-3/src/bri/transactions/api/transactions.controller.spec.ts index 01da6b495..36da7133b 100644 --- a/examples/bri-3/src/bri/transactions/api/transactions.controller.spec.ts +++ b/examples/bri-3/src/bri/transactions/api/transactions.controller.spec.ts @@ -6,17 +6,25 @@ import { Test, TestingModule } from '@nestjs/testing'; import { DeepMockProxy, mockDeep } from 'jest-mock-extended'; import { validate as uuidValidate, version as uuidVersion } from 'uuid'; import { uuid } from 'uuidv4'; +import { LoggingModule } from '../../../shared/logging/logging.module'; import { AuthAgent } from '../../auth/agent/auth.agent'; +import { CcsmModule } from '../../ccsm/ccsm.module'; import { BpiSubjectAccountAgent } from '../../identity/bpiSubjectAccounts/agents/bpiSubjectAccounts.agent'; import { BpiSubjectAccountStorageAgent } from '../../identity/bpiSubjectAccounts/agents/bpiSubjectAccountsStorage.agent'; import { BpiSubjectAccount } from '../../identity/bpiSubjectAccounts/models/bpiSubjectAccount'; import { BpiSubjectStorageAgent } from '../../identity/bpiSubjects/agents/bpiSubjectsStorage.agent'; import { BpiSubject } from '../../identity/bpiSubjects/models/bpiSubject'; +import { + PublicKey, + PublicKeyType, +} from '../../identity/bpiSubjects/models/publicKey'; +import { MerkleTreeService } from '../../merkleTree/services/merkleTree.service'; import { WorkflowStorageAgent } from '../../workgroup/workflows/agents/workflowsStorage.agent'; import { WorkstepStorageAgent } from '../../workgroup/worksteps/agents/workstepsStorage.agent'; +import { CircuitInputsParserService } from '../../zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service'; import { SnarkjsCircuitService } from '../../zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service'; -import { TransactionStorageAgent } from '../agents/transactionStorage.agent'; import { TransactionAgent } from '../agents/transactions.agent'; +import { TransactionStorageAgent } from '../agents/transactionStorage.agent'; import { CreateTransactionCommandHandler } from '../capabilities/createTransaction/createTransactionCommand.handler'; import { DeleteTransactionCommandHandler } from '../capabilities/deleteTransaction/deleteTransactionCommand.handler'; import { GetTransactionByIdQueryHandler } from '../capabilities/getTransactionById/getTransactionByIdQuery.handler'; @@ -28,11 +36,6 @@ import { CreateTransactionDto } from './dtos/request/createTransaction.dto'; import { UpdateTransactionDto } from './dtos/request/updateTransaction.dto'; import { NOT_FOUND_ERR_MESSAGE } from './err.messages'; import { TransactionController } from './transactions.controller'; -import { MerkleTreeService } from '../../merkleTree/services/merkleTree.service'; -import { - PublicKey, - PublicKeyType, -} from '../../identity/bpiSubjects/models/publicKey'; describe('TransactionController', () => { let controller: TransactionController; @@ -84,6 +87,8 @@ describe('TransactionController', () => { AutomapperModule.forRoot({ strategyInitializer: classes(), }), + LoggingModule, + CcsmModule, ], controllers: [TransactionController], providers: [ @@ -105,6 +110,7 @@ describe('TransactionController', () => { provide: 'ICircuitService', useClass: SnarkjsCircuitService, }, + CircuitInputsParserService, ], }) .overrideProvider(TransactionStorageAgent) @@ -206,8 +212,8 @@ describe('TransactionController', () => { const requestDto = { id: uuid(), nonce: 1, - workflowInstanceId: '42', - workstepInstanceId: '24', + workflowId: '42', + workstepId: '24', fromSubjectAccountId: fromBpiSubjectAccount.id, toSubjectAccountId: toBpiSubjectAccount.id, payload: 'payload1', @@ -217,8 +223,8 @@ describe('TransactionController', () => { const expectedTransaction = new Transaction( requestDto.id, requestDto.nonce, - requestDto.workflowInstanceId, - requestDto.workstepInstanceId, + requestDto.workflowId, + requestDto.workstepId, fromBpiSubjectAccount, toBpiSubjectAccount, requestDto.payload, @@ -247,7 +253,7 @@ describe('TransactionController', () => { signature: 'signature2', } as UpdateTransactionDto; - transactionStorageAgentMock.updateTransaction.mockRejectedValueOnce( + transactionStorageAgentMock.updateTransactionPayload.mockRejectedValueOnce( undefined, ); // Act and assert @@ -281,11 +287,13 @@ describe('TransactionController', () => { signature: 'signature2', } as UpdateTransactionDto; - transactionStorageAgentMock.updateTransaction.mockResolvedValueOnce({ - ...existingTransaction, - payload: updateRequestDto.payload, - signature: updateRequestDto.signature, - } as Transaction); + transactionStorageAgentMock.updateTransactionPayload.mockResolvedValueOnce( + { + ...existingTransaction, + payload: updateRequestDto.payload, + signature: updateRequestDto.signature, + } as Transaction, + ); // Act const updatedTransaction = await controller.updateTransaction( diff --git a/examples/bri-3/src/bri/transactions/api/transactions.controller.ts b/examples/bri-3/src/bri/transactions/api/transactions.controller.ts index 8bffd6f75..a4c03feca 100644 --- a/examples/bri-3/src/bri/transactions/api/transactions.controller.ts +++ b/examples/bri-3/src/bri/transactions/api/transactions.controller.ts @@ -39,8 +39,8 @@ export class TransactionController { new CreateTransactionCommand( requestDto.id, requestDto.nonce, - requestDto.workflowInstanceId, - requestDto.workstepInstanceId, + requestDto.workflowId, + requestDto.workstepId, requestDto.fromSubjectAccountId, requestDto.toSubjectAccountId, requestDto.payload, diff --git a/examples/bri-3/src/bri/transactions/capabilities/createTransaction/createTransaction.command.ts b/examples/bri-3/src/bri/transactions/capabilities/createTransaction/createTransaction.command.ts index 9453cdb48..58068a2ad 100644 --- a/examples/bri-3/src/bri/transactions/capabilities/createTransaction/createTransaction.command.ts +++ b/examples/bri-3/src/bri/transactions/capabilities/createTransaction/createTransaction.command.ts @@ -2,8 +2,8 @@ export class CreateTransactionCommand { constructor( public readonly id: string, public readonly nonce: number, - public readonly workflowInstanceId: string, - public readonly workstepInstanceId: string, + public readonly workflowId: string, + public readonly workstepId: string, public readonly fromSubjectAccountId: string, public readonly toSubjectAccountId: string, public readonly payload: string, diff --git a/examples/bri-3/src/bri/transactions/capabilities/createTransaction/createTransactionCommand.handler.ts b/examples/bri-3/src/bri/transactions/capabilities/createTransaction/createTransactionCommand.handler.ts index d8be1a0cd..c888eea35 100644 --- a/examples/bri-3/src/bri/transactions/capabilities/createTransaction/createTransactionCommand.handler.ts +++ b/examples/bri-3/src/bri/transactions/capabilities/createTransaction/createTransactionCommand.handler.ts @@ -28,8 +28,8 @@ export class CreateTransactionCommandHandler const newTransactionCandidate = this.agent.createNewTransaction( command.id, command.nonce, - command.workflowInstanceId, - command.workstepInstanceId, + command.workflowId, + command.workstepId, subjectAccounts[0], subjectAccounts[1], command.payload, diff --git a/examples/bri-3/src/bri/transactions/capabilities/updateTransaction/updateTransactionCommand.handler.ts b/examples/bri-3/src/bri/transactions/capabilities/updateTransaction/updateTransactionCommand.handler.ts index 022c86d18..1a2b55bef 100644 --- a/examples/bri-3/src/bri/transactions/capabilities/updateTransaction/updateTransactionCommand.handler.ts +++ b/examples/bri-3/src/bri/transactions/capabilities/updateTransaction/updateTransactionCommand.handler.ts @@ -29,7 +29,7 @@ export class UpdateTransactionCommandHandler command.signature, ); - const updatedTransaction = await this.storageAgent.updateTransaction( + const updatedTransaction = await this.storageAgent.updateTransactionPayload( transactionToUpdate, ); diff --git a/examples/bri-3/src/bri/transactions/models/transaction.ts b/examples/bri-3/src/bri/transactions/models/transaction.ts index 6302d39fd..38a42f6dc 100644 --- a/examples/bri-3/src/bri/transactions/models/transaction.ts +++ b/examples/bri-3/src/bri/transactions/models/transaction.ts @@ -2,6 +2,7 @@ import { TransactionStatus } from './transactionStatus.enum'; import { AutoMap } from '@automapper/classes'; import { BpiSubjectAccount } from '../../identity/bpiSubjectAccounts/models/bpiSubjectAccount'; import { InternalServerErrorException } from '@nestjs/common'; +import { v4 } from 'uuid'; export class Transaction { @AutoMap() @@ -13,9 +14,15 @@ export class Transaction { @AutoMap() workflowInstanceId: string; + @AutoMap() + workflowId: string; + @AutoMap() workstepInstanceId: string; + @AutoMap() + workstepId: string; + @AutoMap() fromBpiSubjectAccountId: string; @@ -40,8 +47,8 @@ export class Transaction { constructor( id: string, nonce: number, - workflowInstanceId: string, - workstepInstanceId: string, + workflowId: string, + workstepId: string, fromBpiSubjectAccount: BpiSubjectAccount, toBpiSubjectAccount: BpiSubjectAccount, payload: string, @@ -50,8 +57,8 @@ export class Transaction { ) { this.id = id; this.nonce = nonce; - this.workflowInstanceId = workflowInstanceId; - this.workstepInstanceId = workstepInstanceId; + this.workflowId = workflowId; + this.workstepId = workstepId; this.fromBpiSubjectAccount = fromBpiSubjectAccount; this.fromBpiSubjectAccountId = fromBpiSubjectAccount?.id; this.toBpiSubjectAccount = toBpiSubjectAccount; @@ -78,6 +85,8 @@ export class Transaction { } this.status = TransactionStatus.Processing; + this.workflowInstanceId = v4(); + this.workstepInstanceId = v4(); } public updateStatusToInvalid(): void { diff --git a/examples/bri-3/src/bri/transactions/models/transactionResult.ts b/examples/bri-3/src/bri/transactions/models/transactionResult.ts index 359ceb980..6acfb5952 100644 --- a/examples/bri-3/src/bri/transactions/models/transactionResult.ts +++ b/examples/bri-3/src/bri/transactions/models/transactionResult.ts @@ -5,4 +5,5 @@ export class TransactionResult { merkelizedPayload: MerkleTree; witness: Witness; hash: string; + verifiedOnChain: boolean; } diff --git a/examples/bri-3/src/bri/transactions/transactions.module.ts b/examples/bri-3/src/bri/transactions/transactions.module.ts index 4c45777d5..f9298cbdf 100644 --- a/examples/bri-3/src/bri/transactions/transactions.module.ts +++ b/examples/bri-3/src/bri/transactions/transactions.module.ts @@ -16,6 +16,7 @@ import { GetAllTransactionsQueryHandler } from './capabilities/getAllTransaction import { GetTransactionByIdQueryHandler } from './capabilities/getTransactionById/getTransactionByIdQuery.handler'; import { UpdateTransactionCommandHandler } from './capabilities/updateTransaction/updateTransactionCommand.handler'; import { TransactionsProfile } from './transactions.profile'; +import { CcsmModule } from '../ccsm/ccsm.module'; export const CommandHandlers = [ CreateTransactionCommandHandler, @@ -37,6 +38,7 @@ export const QueryHandlers = [ AuthModule, MerkleModule, ZeroKnowledgeProofModule, + CcsmModule, PrismaModule, ], controllers: [TransactionController], diff --git a/examples/bri-3/src/bri/vsm/capabilites/executeVsmCycle/executeVsmCycleCommand.handler.ts b/examples/bri-3/src/bri/vsm/capabilites/executeVsmCycle/executeVsmCycleCommand.handler.ts index 128bfea2b..85add4af9 100644 --- a/examples/bri-3/src/bri/vsm/capabilites/executeVsmCycle/executeVsmCycleCommand.handler.ts +++ b/examples/bri-3/src/bri/vsm/capabilites/executeVsmCycle/executeVsmCycleCommand.handler.ts @@ -7,7 +7,7 @@ import { WorkflowStorageAgent } from '../../../workgroup/workflows/agents/workfl import { WorkstepStorageAgent } from '../../../workgroup/worksteps/agents/workstepsStorage.agent'; import { ExecuteVsmCycleCommand } from './executeVsmCycle.command'; import { WorkstepExecutedEvent } from '../handleWorkstepEvents/workstepExecuted.event'; -import { CcsmStorageAgent } from '../../../zeroKnowledgeProof/agents/ccsmStorage.agent'; +import { CcsmStorageAgent } from '../../../ccsm/agents/ccsmStorage.agent'; @CommandHandler(ExecuteVsmCycleCommand) export class ExecuteVsmCycleCommandHandler @@ -33,23 +33,23 @@ export class ExecuteVsmCycleCommandHandler // TODO: When do we update the nonce on the BpiAccount? // Whenever a transaction is initiated executionCandidates.forEach(async (tx) => { tx.updateStatusToProcessing(); - await this.txStorageAgent.updateTransactionStatus(tx); + await this.txStorageAgent.updateTransaction(tx); if (!this.txAgent.validateTransactionForExecution(tx)) { this.eventBus.publish( new WorkstepExecutedEvent(tx, 'Validation Error'), ); tx.updateStatusToInvalid(); - await this.txStorageAgent.updateTransactionStatus(tx); + await this.txStorageAgent.updateTransaction(tx); return; } const workstep = await this.workstepStorageAgent.getWorkstepById( - tx.workstepInstanceId, + tx.workstepId, ); const workflow = await this.workflowStorageAgent.getWorkflowById( - tx.workflowInstanceId, + tx.workflowId, ); try { @@ -67,15 +67,17 @@ export class ExecuteVsmCycleCommandHandler stateTreeRoot, ); - //TODO - Implement deploy and store on CCSM - //await this.ccsmStorageAgent.storeAnchorHashOnCcsm(txResult.hash); + await this.ccsmStorageAgent.storeAnchorHashOnCcsm( + tx.workstepInstanceId, + txResult.hash, + ); tx.updateStatusToExecuted(); - this.txStorageAgent.updateTransactionStatus(tx); + this.txStorageAgent.updateTransaction(tx); } catch (error) { this.eventBus.publish(new WorkstepExecutedEvent(tx, error)); tx.updateStatusToAborted(); - this.txStorageAgent.updateTransactionStatus(tx); + this.txStorageAgent.updateTransaction(tx); return; } diff --git a/examples/bri-3/src/bri/vsm/vsm.module.ts b/examples/bri-3/src/bri/vsm/vsm.module.ts index 28b18ebc5..c9f738ff1 100644 --- a/examples/bri-3/src/bri/vsm/vsm.module.ts +++ b/examples/bri-3/src/bri/vsm/vsm.module.ts @@ -11,8 +11,8 @@ import { ExecuteVsmCycleCommandHandler } from './capabilites/executeVsmCycle/exe import { MessagingAgent } from '../communication/agents/messaging.agent'; import { WorkstepExecutedEventHandler } from './capabilites/handleWorkstepEvents/workstepExecutedEvent.handler'; import { NatsMessagingClient } from '../communication/messagingClients/natsMessagingClient'; -import { CcsmStorageAgent } from '../zeroKnowledgeProof/agents/ccsmStorage.agent'; -import { EthereumService } from '../zeroKnowledgeProof/services/blockchain/ethereum/ethereum.service'; +import { CcsmStorageAgent } from '../ccsm/agents/ccsmStorage.agent'; +import { EthereumService } from '../ccsm/services/ethereum.service'; export const CommandHandlers = [ ExecuteVsmCycleCommandHandler, @@ -42,7 +42,7 @@ export const QueryHandlers = []; useClass: NatsMessagingClient, }, { - provide: 'IBlockchainService', + provide: 'ICcsmService', useClass: EthereumService, }, ], diff --git a/examples/bri-3/src/bri/workgroup/worksteps/agents/worksteps.agent.ts b/examples/bri-3/src/bri/workgroup/worksteps/agents/worksteps.agent.ts index 33b690038..e1464fd02 100644 --- a/examples/bri-3/src/bri/workgroup/worksteps/agents/worksteps.agent.ts +++ b/examples/bri-3/src/bri/workgroup/worksteps/agents/worksteps.agent.ts @@ -24,6 +24,7 @@ export class WorkstepAgent { workgroupId: string, securityPolicy: string, privacyPolicy: string, + verifierContractAddress: string, ): Workstep { return new Workstep( v4(), @@ -33,6 +34,7 @@ export class WorkstepAgent { workgroupId, securityPolicy, privacyPolicy, + verifierContractAddress, ); } diff --git a/examples/bri-3/src/bri/workgroup/worksteps/api/dtos/request/createWorkstep.dto.ts b/examples/bri-3/src/bri/workgroup/worksteps/api/dtos/request/createWorkstep.dto.ts index b01286956..a0f7a58eb 100644 --- a/examples/bri-3/src/bri/workgroup/worksteps/api/dtos/request/createWorkstep.dto.ts +++ b/examples/bri-3/src/bri/workgroup/worksteps/api/dtos/request/createWorkstep.dto.ts @@ -14,4 +14,6 @@ export class CreateWorkstepDto { securityPolicy: string; privacyPolicy: string; + + verifierContractAddress: string; } diff --git a/examples/bri-3/src/bri/workgroup/worksteps/api/dtos/response/workstep.dto.ts b/examples/bri-3/src/bri/workgroup/worksteps/api/dtos/response/workstep.dto.ts index dc2c27c7e..8d1f7953c 100644 --- a/examples/bri-3/src/bri/workgroup/worksteps/api/dtos/response/workstep.dto.ts +++ b/examples/bri-3/src/bri/workgroup/worksteps/api/dtos/response/workstep.dto.ts @@ -24,4 +24,7 @@ export class WorkstepDto { @AutoMap() circuitInputsTranslationSchema: string; + + @AutoMap() + verifierContractAddress: string; } diff --git a/examples/bri-3/src/bri/workgroup/worksteps/api/worksteps.controller.spec.ts b/examples/bri-3/src/bri/workgroup/worksteps/api/worksteps.controller.spec.ts index a291dafc2..7496eaf39 100644 --- a/examples/bri-3/src/bri/workgroup/worksteps/api/worksteps.controller.spec.ts +++ b/examples/bri-3/src/bri/workgroup/worksteps/api/worksteps.controller.spec.ts @@ -35,6 +35,7 @@ describe('WorkstepController', () => { 'wgid', 'secPolicy', 'privPolicy', + 'verifierContractAddress', ); }; diff --git a/examples/bri-3/src/bri/workgroup/worksteps/api/worksteps.controller.ts b/examples/bri-3/src/bri/workgroup/worksteps/api/worksteps.controller.ts index 269007514..4e9a37cb4 100644 --- a/examples/bri-3/src/bri/workgroup/worksteps/api/worksteps.controller.ts +++ b/examples/bri-3/src/bri/workgroup/worksteps/api/worksteps.controller.ts @@ -50,6 +50,7 @@ export class WorkstepController { requestDto.workgroupId, requestDto.securityPolicy, requestDto.privacyPolicy, + requestDto.verifierContractAddress, ), ); } diff --git a/examples/bri-3/src/bri/workgroup/worksteps/capabilities/createWorkstep/createWorkstep.command.ts b/examples/bri-3/src/bri/workgroup/worksteps/capabilities/createWorkstep/createWorkstep.command.ts index da64a26df..6c76f58e0 100644 --- a/examples/bri-3/src/bri/workgroup/worksteps/capabilities/createWorkstep/createWorkstep.command.ts +++ b/examples/bri-3/src/bri/workgroup/worksteps/capabilities/createWorkstep/createWorkstep.command.ts @@ -6,5 +6,6 @@ export class CreateWorkstepCommand { public readonly workgroupId: string, public readonly securityPolicy: string, public readonly privacyPolicy: string, + public readonly verifierContractAddress: string, ) {} } diff --git a/examples/bri-3/src/bri/workgroup/worksteps/capabilities/createWorkstep/createWorkstepCommand.handler.ts b/examples/bri-3/src/bri/workgroup/worksteps/capabilities/createWorkstep/createWorkstepCommand.handler.ts index 2c5f48ab0..91dbc2a02 100644 --- a/examples/bri-3/src/bri/workgroup/worksteps/capabilities/createWorkstep/createWorkstepCommand.handler.ts +++ b/examples/bri-3/src/bri/workgroup/worksteps/capabilities/createWorkstep/createWorkstepCommand.handler.ts @@ -20,6 +20,7 @@ export class CreateWorkstepCommandHandler command.workgroupId, command.securityPolicy, command.privacyPolicy, + command.verifierContractAddress, ); const newWorkstep = await this.storageAgent.storeNewWorkstep( diff --git a/examples/bri-3/src/bri/workgroup/worksteps/models/workstep.ts b/examples/bri-3/src/bri/workgroup/worksteps/models/workstep.ts index 569e213bb..a880a3fa4 100644 --- a/examples/bri-3/src/bri/workgroup/worksteps/models/workstep.ts +++ b/examples/bri-3/src/bri/workgroup/worksteps/models/workstep.ts @@ -25,6 +25,9 @@ export class Workstep { @AutoMap() circuitInputsTranslationSchema: string; + @AutoMap() + verifierContractAddress: string; + constructor( id: string, name: string, @@ -33,6 +36,7 @@ export class Workstep { workgroupId: string, securityPolicy: string, privacyPolicy: string, + verifierContractAddress: string, ) { this.id = id; this.name = name; @@ -41,6 +45,7 @@ export class Workstep { this.workgroupId = workgroupId; this.securityPolicy = securityPolicy; this.privacyPolicy = privacyPolicy; + this.verifierContractAddress = verifierContractAddress; } public updateName(newName: string): void { @@ -67,7 +72,11 @@ export class Workstep { this.privacyPolicy = newPrivacyPolicy; } - public updateCircuitInputTranslationSchema(schema): void { + public updateCircuitInputTranslationSchema(schema: string): void { this.circuitInputsTranslationSchema = schema; } + + public updateVerifierContractAddress(verifierContractAddress: string): void { + this.verifierContractAddress = verifierContractAddress; + } } diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/agents/ccsmStorage.agent.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/agents/ccsmStorage.agent.ts deleted file mode 100644 index 20a125ead..000000000 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/agents/ccsmStorage.agent.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Inject, Injectable } from '@nestjs/common'; -import { IBlockchainService } from '../services/blockchain/blockchain.interface'; - -@Injectable() -export class CcsmStorageAgent { - constructor( - @Inject('IBlockchainService') - private readonly ccsmStorageAgent: IBlockchainService, - ) {} - - async storeAnchorHashOnCcsm(anchorHash: string): Promise { - await this.ccsmStorageAgent.storeAnchorHash('Ccsm', anchorHash); - } -} diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/blockchain.interface.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/blockchain.interface.ts deleted file mode 100644 index b245b7d79..000000000 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/blockchain.interface.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Contract } from 'ethers'; -export interface IBlockchainService { - deployContract(contractName: string): Promise; - connectToContract(contractName: string): Promise; - storeAnchorHash(contractName: string, anchorHash: string): Promise; -} diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/ethereum/contracts/Ccsm.sol b/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/ethereum/contracts/Ccsm.sol deleted file mode 100644 index 8787c3bfe..000000000 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/ethereum/contracts/Ccsm.sol +++ /dev/null @@ -1,16 +0,0 @@ -//SPDX-License-Identifier: UNLICENSED -pragma solidity 0.8.17; - -contract Ccsm { - mapping(string => bool) public anchorHashStore; - - function setAnchorHash(string calldata _anchorHash) external { - anchorHashStore[_anchorHash] = true; - } - - function getAnchorHash( - string calldata _anchorHash - ) external view returns (bool) { - return anchorHashStore[_anchorHash]; - } -} diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/ethereum/ethereum.service.spec.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/ethereum/ethereum.service.spec.ts deleted file mode 100644 index c77398c5a..000000000 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/ethereum/ethereum.service.spec.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { EthereumService } from './ethereum.service'; - -describe('Ethereum services', () => { - let ccsm: EthereumService; - - //REMOVE THIS - it('empty test', async () => { - expect('empty').toBe('empty'); - }); - - //NOTE: Commenting out the test as it requires compiled artifacts to run. RUN THIS. - // beforeAll(async () => { - // ccsm = new EthereumService(); - // await ccsm.deployContract('Ccsm'); - // }); - - // describe('storeAnchorHash', () => { - // it('should set anchor hash in the mapping and return true', async () => { - // //Arrange - // const anchorHash = 'anchorHash'; - - // //Act - // await ccsm.storeAnchorHash('Ccsm', anchorHash); - // const ccsmContract = await ccsm.connectToContract('Ccsm'); - - // //Assert - // expect(await ccsmContract.anchorHashStore('anchorHash')).toEqual(true); - // }); - // }); -}); diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/ethereum/ethereum.service.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/ethereum/ethereum.service.ts deleted file mode 100644 index 1bcc3f961..000000000 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/blockchain/ethereum/ethereum.service.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { readFile, writeFile } from 'fs/promises'; -import { Injectable, NotImplementedException } from '@nestjs/common'; -import { IBlockchainService } from '../blockchain.interface'; -import { Contract } from 'ethers'; - -@Injectable() -export class EthereumService implements IBlockchainService { - public async deployContract(contractName: string): Promise { - throw new NotImplementedException(); - // TODO: We need to use ethers js here for connection, not hardhat ethers - // const ccsmContract = await ethers.getContractFactory(contractName); - // const deployedCcsmContract = await ccsmContract.deploy(); - // await this.storeDeployedContractAddress(deployedCcsmContract.address); - } - - async connectToContract(contractName: string): Promise { - throw new NotImplementedException(); - // TODO: We need to use ethers js here for connection, not hardhat ethers - // const ccsmContractAddress = await this.getDeployedContractAddress(); - // return await ethers.getContractAt(contractName, ccsmContractAddress); - } - - public async storeAnchorHash( - contractName: string, - anchorHash: string, - ): Promise { - const ccsmContract = await this.connectToContract(contractName); - await ccsmContract.setAnchorHash(anchorHash); - } - - private async getDeployedContractAddress(): Promise { - return JSON.parse( - ( - await readFile( - './zeroKnowledgeArtifacts/blockchain/ethereum/artifacts/ccsmContractAddress.json', - ) - ).toString(), - ).contractAddress; - } - - private async storeDeployedContractAddress(contractAddress: string) { - const ccsmAddress = JSON.stringify({ - contractAddress: contractAddress, - }); - - await writeFile( - './zeroKnowledgeArtifacts/blockchain/ethereum/artifacts/ccsmContractAddress.json', - ccsmAddress, - ); - } -} diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service.spec.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service.spec.ts index de452a9af..0490323c6 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service.spec.ts +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service.spec.ts @@ -388,4 +388,66 @@ describe('CircuitInputsParserService', () => { // Assert expect(circuitInputs).toStrictEqual({ dascircuitinput: [387, 388, 389] }); }); + + it('Should generate a single circuit input param based on a object string property of an object array at root level', () => { + // Arrange + const payload = `{ + "supplierInvoiceIDs": [ + { "id": "INV123", "price" : 222 }, + { "id": "INV124", "price" : 223 }, + { "id": "INV125", "price" : 224 } + ] + }`; + + const schema = { + mapping: [ + { + circuitInput: 'dascircuitinput', + description: 'desc', + payloadJsonPath: 'supplierInvoiceIDs', + dataType: 'array', + arrayType: 'object', + arrayItemFieldName: 'id', + arrayItemFieldType: 'string', + } as CircuitInputMapping, + ], + } as CircuitInputsMapping; + + // Act + const circuitInputs = cips.applyMappingToJSONPayload(payload, schema); + + // Assert + expect(circuitInputs).toStrictEqual({ dascircuitinput: [387, 388, 389] }); + }); + + it('Should generate a single circuit input param based on a object integer property of an object array at root level', () => { + // Arrange + const payload = `{ + "supplierInvoiceIDs": [ + { "id": "1", "price" : 222 }, + { "id": "2", "price" : 223 }, + { "id": "3", "price" : 224 } + ] + }`; + + const schema = { + mapping: [ + { + circuitInput: 'dascircuitinput', + description: 'desc', + payloadJsonPath: 'supplierInvoiceIDs', + dataType: 'array', + arrayType: 'object', + arrayItemFieldName: 'price', + arrayItemFieldType: 'integer', + } as CircuitInputMapping, + ], + } as CircuitInputsMapping; + + // Act + const circuitInputs = cips.applyMappingToJSONPayload(payload, schema); + + // Assert + expect(circuitInputs).toStrictEqual({ dascircuitinput: [222, 223, 224] }); + }); }); diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service.ts index 63da30b5f..f226d4da0 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service.ts +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputParser.service.ts @@ -94,7 +94,24 @@ export class CircuitInputsParserService { } if (mapping.arrayType === 'object') { - // TODO + if (mapping.arrayItemFieldName && mapping.arrayItemFieldType) { + result[mapping.circuitInput] = value + ? value.map((item) => { + const fieldValue = item[mapping.arrayItemFieldName!]; + if (mapping.arrayItemFieldType === 'integer') { + return parseInt(fieldValue, 10); + } else if (mapping.arrayItemFieldType === 'string') { + return this.calculateStringCharCodeSum(fieldValue); + } + return fieldValue; + }) + : mapping.defaultValue; + } else { + this.logger.logError( + `Missing arrayItemFieldName or arrayItemFieldType for object array mapping ${mapping.circuitInput}`, + ); + return null; + } } break; default: diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputsMapping.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputsMapping.ts index ec0e1a510..1d9a50e35 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputsMapping.ts +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitInputsParser/circuitInputsMapping.ts @@ -9,4 +9,6 @@ type CircuitInputMapping = { dataType: string; defaultValue?: any; arrayType?: string; + arrayItemFieldName?: string; + arrayItemFieldType?: string; }; diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitService.interface.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitService.interface.ts index 6eb3b4446..b202280f4 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitService.interface.ts +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/circuitService.interface.ts @@ -1,14 +1,15 @@ import { Witness } from '../../models/witness'; +import { Transaction } from '../../../transactions/models/transaction'; export interface ICircuitService { createWitness( - inputs: object, - circuitName: string, + circuitInputs: object, pathToCircuit: string, pathToProvingKey: string, pathToVerificationKey: string, pathToWitnessCalculator?: string, pathToWitnessFile?: string, ): Promise; + verifyProofUsingWitness(witness: Witness): Promise; } diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service.spec.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service.spec.ts index d0fe6a374..21d41aad6 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service.spec.ts +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service.spec.ts @@ -18,17 +18,12 @@ import { } from '../../../../identity/bpiSubjects/models/publicKey'; jest.setTimeout(20000); +//NOTE: Skiping out the workstep1 as it requires compiled artifacts to run. describe.skip('SnarkjsService', () => { const snarkjs = new SnarkjsCircuitService(); - let inputs: any; + let tx: Transaction; let witness: Witness; - //REMOVE THIS TEST: Empty test - it('this is empty test', () => { - expect('test').toBe('test'); - }); - - //NOTE: Commenting out the workstep1 as it requires compiled artifacts to run. RUN THIS. beforeAll(async () => { const eddsa = await circomlib.buildEddsa(); const babyJub = await circomlib.buildBabyjub(); @@ -112,7 +107,7 @@ describe.skip('SnarkjsService', () => { const packedSignature = eddsa.packSignature(eddsaSignature); const signature = Buffer.from(packedSignature).toString('hex'); - const tx: Transaction = new Transaction( + tx = new Transaction( '123', 12, '123', @@ -123,8 +118,6 @@ describe.skip('SnarkjsService', () => { signature, TransactionStatus.Initialized, ); - - inputs = { tx }; }); it('creates witness for workstep1', async () => { @@ -141,8 +134,7 @@ describe.skip('SnarkjsService', () => { './zeroKnowledgeArtifacts/circuits/workstep1/witness.txt'; witness = await snarkjs.createWitness( - inputs, - circuitName, + 'TODO: circuitInputs' as unknown as object, pathToCircuit, pathToProvingKey, pathToVerificationKey, diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service.ts index 549c6f3be..951acfd31 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service.ts +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/snarkjs.service.ts @@ -2,10 +2,7 @@ import { Injectable, BadRequestException } from '@nestjs/common'; import { Witness } from '../../../models/witness'; import { Proof } from '../../../models/proof'; import { ICircuitService } from '../circuitService.interface'; -import { computeEddsaSigPublicInputs } from './utils/computePublicInputs'; import * as snarkjs from 'snarkjs'; -import { Transaction } from '../../../../transactions/models/transaction'; -import MerkleTree from 'merkletreejs'; import * as fs from 'fs'; @Injectable() @@ -21,11 +18,7 @@ export class SnarkjsCircuitService implements ICircuitService { } public async createWitness( - inputs: { - tx: Transaction; - merkelizedPayload: MerkleTree; - }, - circuitName: string, + circuitInputs: object, pathToCircuit: string, pathToProvingKey: string, pathToVerificationKey: string, @@ -34,10 +27,8 @@ export class SnarkjsCircuitService implements ICircuitService { ): Promise { this.witness = new Witness(); - const preparedInputs = await this.prepareInputs(inputs, circuitName); - const { proof, publicInputs } = await this.executeCircuit( - preparedInputs, + circuitInputs, pathToCircuit, pathToProvingKey, pathToWitnessCalculator, @@ -100,97 +91,4 @@ export class SnarkjsCircuitService implements ICircuitService { return { proof: newProof, publicInputs }; } - - private async prepareInputs( - inputs: { - tx: Transaction; - merkelizedPayload: MerkleTree; - }, - circuitName: string, - ): Promise { - return await this[circuitName](inputs); - } - - // TODO: Mil5 - How to parametrize this for different use-cases? - private async workstep1(inputs: { - tx: Transaction; - merkelizedPayload: MerkleTree; - }): Promise { - //1. Ecdsa signature - const { message, A, R8, S } = await computeEddsaSigPublicInputs(inputs.tx); - - //2. Items - const payload = JSON.parse(inputs.tx.payload); - - const itemPrices: number[] = []; - const itemAmount: number[] = []; - - payload.items.forEach((item: object) => { - itemPrices.push(item['price']); - itemAmount.push(item['amount']); - }); - - const preparedInputs = { - invoiceStatus: this.calculateStringCharCodeSum(payload.status), - invoiceAmount: payload.amount, - itemPrices, - itemAmount, - message, - A, - R8, - S, - }; - - return preparedInputs; - } - - private async workstep2(inputs: { - tx: Transaction; - merkelizedPayload: MerkleTree; - }): Promise { - //1. Eddsa signature - const { message, A, R8, S } = await computeEddsaSigPublicInputs(inputs.tx); - - const payload = JSON.parse(inputs.tx.payload); - - const preparedInputs = { - invoiceStatus: payload.status, - message, - A, - R8, - S, - }; - - return preparedInputs; - } - - private async workstep3(inputs: { - tx: Transaction; - merkelizedPayload: MerkleTree; - }): Promise { - //1. Eddsa signature - const { message, A, R8, S } = await computeEddsaSigPublicInputs(inputs.tx); - - const payload = JSON.parse(inputs.tx.payload); - - const preparedInputs = { - invoiceStatus: payload.status, - message, - A, - R8, - S, - }; - - return preparedInputs; - } - - private calculateStringCharCodeSum(status: string): number { - let sum = 0; - - for (let i = 0; i < status.length; i++) { - sum += status.charCodeAt(i); - } - - return sum; - } } diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/utils/computePublicInputs.spec.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/utils/computePublicInputs.spec.ts index 1932f6c58..0ed726667 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/utils/computePublicInputs.spec.ts +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/utils/computePublicInputs.spec.ts @@ -1,7 +1,8 @@ import { computeEffectiveEcdsaSigPublicInputs } from './computePublicInputs'; import * as ethers from 'ethers'; -describe('Compute public inputs utils', () => { +// TODO: Resource heavy, cannot be part of the general unit test suite +describe.skip('Compute public inputs utils', () => { it('should calculate public key x and y coordinates ', async () => { //Generate key pair const wallet = ethers.Wallet.createRandom(); diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/workstep2.circom b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/workstep2.circom index 386109f0d..fe1613387 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/workstep2.circom +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/workstep2.circom @@ -1,7 +1,7 @@ pragma circom 2.1.5; include "../../../../../../node_modules/circomlib/circuits/comparators.circom"; -include "./utils/ecdsaSignatureVerifier.circom"; +include "../../../../../../node_modules/circomlib/circuits/eddsa.circom"; include "./utils/arithmeticOperators.circom"; template Workstep2(){ diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/workstep3.circom b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/workstep3.circom index f9545b4c6..6bbe45f16 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/workstep3.circom +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/services/circuit/snarkjs/workstep3.circom @@ -1,7 +1,7 @@ pragma circom 2.1.5; include "../../../../../../node_modules/circomlib/circuits/comparators.circom"; -include "./utils/ecdsaSignatureVerifier.circom"; +include "../../../../../../node_modules/circomlib/circuits/eddsa.circom"; include "./utils/arithmeticOperators.circom"; template Workstep3(){ diff --git a/examples/bri-3/src/bri/zeroKnowledgeProof/zeroKnowledgeProof.module.ts b/examples/bri-3/src/bri/zeroKnowledgeProof/zeroKnowledgeProof.module.ts index 93d983ec6..51d03e45f 100644 --- a/examples/bri-3/src/bri/zeroKnowledgeProof/zeroKnowledgeProof.module.ts +++ b/examples/bri-3/src/bri/zeroKnowledgeProof/zeroKnowledgeProof.module.ts @@ -1,8 +1,6 @@ import { Module } from '@nestjs/common'; import { CqrsModule } from '@nestjs/cqrs'; import { LoggingModule } from '../../shared/logging/logging.module'; -import { CcsmStorageAgent } from './agents/ccsmStorage.agent'; -import { EthereumService } from './services/blockchain/ethereum/ethereum.service'; import { CircuitInputsParserService } from './services/circuit/circuitInputsParser/circuitInputParser.service'; import { SnarkjsCircuitService } from './services/circuit/snarkjs/snarkjs.service'; @@ -10,22 +8,12 @@ import { SnarkjsCircuitService } from './services/circuit/snarkjs/snarkjs.servic imports: [CqrsModule, LoggingModule], providers: [ - CcsmStorageAgent, CircuitInputsParserService, { provide: 'ICircuitService', useClass: SnarkjsCircuitService, }, - { - provide: 'IBlockchainService', - useClass: EthereumService, - }, - ], - exports: [ - 'ICircuitService', - 'IBlockchainService', - CcsmStorageAgent, - CircuitInputsParserService, ], + exports: ['ICircuitService', CircuitInputsParserService], }) export class ZeroKnowledgeProofModule {} diff --git a/examples/bri-3/src/shared/testing/builders.ts b/examples/bri-3/src/shared/testing/builders.ts index 0d16f1e84..fc559fa30 100644 --- a/examples/bri-3/src/shared/testing/builders.ts +++ b/examples/bri-3/src/shared/testing/builders.ts @@ -18,6 +18,7 @@ export class WorkstepBuilder { private workgroupId: string; private securityPolicy: string; private privacyPolicy: string; + private verifierContractAddress: string; constructor() {} @@ -56,6 +57,11 @@ export class WorkstepBuilder { return this; } + setVerifierContractAddress(verifierContractAddress: string): WorkstepBuilder { + this.verifierContractAddress = verifierContractAddress; + return this; + } + build(): Workstep { return new Workstep( this.id, @@ -65,6 +71,7 @@ export class WorkstepBuilder { this.workgroupId, this.securityPolicy, this.privacyPolicy, + this.verifierContractAddress, ); } } diff --git a/examples/bri-3/src/shared/testing/constants.ts b/examples/bri-3/src/shared/testing/constants.ts index 751b9f3b5..f0181f93f 100644 --- a/examples/bri-3/src/shared/testing/constants.ts +++ b/examples/bri-3/src/shared/testing/constants.ts @@ -9,4 +9,4 @@ export const buyerBpiSubjectEcdsaPrivateKey = export const internalBpiSubjectEcdsaPublicKey = '0x08872e27BC5d78F1FC4590803369492868A1FCCb'; export const internalBpiSubjectEcdsaPrivateKey = - '2c95d82bcd8851bd3a813c50afafb025228bf8d237e8fd37ba4adba3a7596d58'; + '0x2c95d82bcd8851bd3a813c50afafb025228bf8d237e8fd37ba4adba3a7596d58'; diff --git a/examples/bri-3/test/bri.postman_collection.json b/examples/bri-3/test/bri.postman_collection.json index 4bd28350c..ef67e1cae 100644 --- a/examples/bri-3/test/bri.postman_collection.json +++ b/examples/bri-3/test/bri.postman_collection.json @@ -1183,6 +1183,36 @@ "response": [] } ] + }, + { + "name": "State", + "item": [ + { + "name": "Get state leaf", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:3000/state?leafValue=b7f9a093718ccbf28cb838042efc1ae19a9e78dcf3b95d928a447230fee30960", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "3000", + "path": [ + "state" + ], + "query": [ + { + "key": "leafValue", + "value": "b7f9a093718ccbf28cb838042efc1ae19a9e78dcf3b95d928a447230fee30960" + } + ] + } + }, + "response": [] + } + ] } ], "auth": { diff --git a/examples/bri-3/test/e2e-test.sh b/examples/bri-3/test/e2e-test.sh new file mode 100755 index 000000000..2820eeab9 --- /dev/null +++ b/examples/bri-3/test/e2e-test.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# Function to print messages with timestamps +log_message() { + echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1" +} + +# Function to run a command and log its output +run_command() { + log_message "Running command: $1" + eval $1 + if [ $? -ne 0 ]; then + log_message "Error: Command failed: $1" + exit 1 + fi +} + +# Check if port 8545 is in use +EXISTING_PID=$(lsof -ti:8545) +if [ ! -z "$EXISTING_PID" ]; then + log_message "Port 8545 is in use. Killing process $EXISTING_PID" + kill $EXISTING_PID +fi + +# Change to ccsm directory +log_message "Changing to ccsm directory" +run_command "cd ../ccsm" + +# Start Hardhat node in the background +log_message "Starting Hardhat node" +run_command "npx hardhat node &" +HARDHAT_PID=$! +log_message "Hardhat node started with PID $HARDHAT_PID" + +# Wait for the node to start (adjust sleep time if needed) +sleep 5 + +# Deploy contracts +log_message "Deploying contracts" +run_command "npx hardhat run scripts/deploy.ts" + +# Change to test directory +log_message "Changing to root directory" +run_command "cd .." + +# Prep database +log_message "Reset and reseed database" +run_command "npx prisma migrate reset --force" + +# Run e2e tests +log_message "Running e2e tests" +run_command "npm run test:e2e" + +# Stop Hardhat node +log_message "Stopping Hardhat node" +kill $HARDHAT_PID +wait $HARDHAT_PID + +log_message "Script execution completed" \ No newline at end of file diff --git a/examples/bri-3/test/sriUseCase.e2e-spec.ts b/examples/bri-3/test/sriUseCase.e2e-spec.ts index a97e01505..a266e49f4 100644 --- a/examples/bri-3/test/sriUseCase.e2e-spec.ts +++ b/examples/bri-3/test/sriUseCase.e2e-spec.ts @@ -1,16 +1,19 @@ import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { ethers } from 'ethers'; +import { ethers, JsonRpcProvider } from 'ethers'; +import MerkleTree from 'merkletreejs'; import * as request from 'supertest'; import { v4 } from 'uuid'; import { AppModule } from '../src/app.module'; +import { BpiMerkleTree } from '../src/bri/merkleTree/models/bpiMerkleTree'; +import { MerkleTreeService } from '../src/bri/merkleTree/services/merkleTree.service'; import { - supplierBpiSubjectEcdsaPublicKey, - supplierBpiSubjectEcdsaPrivateKey, - buyerBpiSubjectEcdsaPublicKey, buyerBpiSubjectEcdsaPrivateKey, - internalBpiSubjectEcdsaPublicKey, + buyerBpiSubjectEcdsaPublicKey, internalBpiSubjectEcdsaPrivateKey, + internalBpiSubjectEcdsaPublicKey, + supplierBpiSubjectEcdsaPrivateKey, + supplierBpiSubjectEcdsaPublicKey, } from '../src/shared/testing/constants'; import { createEddsaPrivateKey, @@ -28,10 +31,15 @@ let supplierBpiSubjectEddsaPrivateKey: string; let buyerBpiSubjectEddsaPublicKey: string; let buyerBpiSubjectEddsaPrivateKey: string; let createdWorkgroupId: string; -let createdWorkstepId: string; +let createdWorkstep1Id: string; +let createdWorkstep2Id: string; +let createdWorkstep3Id: string; let createdWorkflowId: string; let createdBpiSubjectAccountSupplierId: string; let createdBpiSubjectAccountBuyerId: string; +let createdTransaction1Id: string; +let createdTransaction2Id: string; +let createdTransaction3Id: string; describe('SRI use-case end-to-end test', () => { beforeAll(async () => { @@ -123,37 +131,111 @@ describe('SRI use-case end-to-end test', () => { ); }); - it('Sets up a workflow with a workstep in the previously created workgroup', async () => { + it('Sets up a workflow with 3 worksteps in the previously created workgroup', async () => { // TODO: Auth as supplier? // TODO: Can we listen and fire NATS messages here - createdWorkstepId = await createWorkstepAndReturnId( + createdWorkstep1Id = await createWorkstepAndReturnId( 'workstep1', createdWorkgroupId, + '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512', + ); + + createdWorkstep2Id = await createWorkstepAndReturnId( + 'workstep2', + createdWorkgroupId, + '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0', + ); + + createdWorkstep3Id = await createWorkstepAndReturnId( + 'workstep3', + createdWorkgroupId, + '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9', ); createdWorkflowId = await createWorkflowAndReturnId( 'worksflow1', createdWorkgroupId, - [createdWorkstepId], + [createdWorkstep1Id, createdWorkstep2Id, createdWorkstep3Id], [createdBpiSubjectAccountSupplierId, createdBpiSubjectAccountBuyerId], ); }); - it('Add a circuit input translation schema to a workstep', async () => { - const schema = - '{"mapping": [{"circuitInput": "input1", "description": "desc1", "payloadJsonPath": "path1", "dataType": "string"}]}'; - await addCircuitInputsSchema(createdWorkstepId, schema); + it('Add a circuit input translation schema to workstep 1', async () => { + const schema = `{ + "mapping": [ + { + "circuitInput": "invoiceStatus", + "description": "Invoice status", + "payloadJsonPath": "status", + "dataType": "string" + }, + { + "circuitInput": "invoiceAmount", + "description": "Total gross amount of the invoice", + "payloadJsonPath": "amount", + "dataType": "integer" + }, + { + "circuitInput": "itemPrices", + "description": "Invoice item prices", + "payloadJsonPath": "items", + "dataType": "array", + "arrayType": "object", + "arrayItemFieldName": "price", + "arrayItemFieldType": "integer" + }, + { + "circuitInput": "itemAmount", + "description": "Invoice item amounts", + "payloadJsonPath": "items", + "dataType": "array", + "arrayType": "object", + "arrayItemFieldName": "amount", + "arrayItemFieldType": "integer" + } + ] + }`; + await addCircuitInputsSchema(createdWorkstep1Id, schema); + }); + + it('Add a circuit input translation schema to workstep 2', async () => { + const schema = `{ + "mapping": [ + { + "circuitInput": "invoiceStatus", + "description": "Invoice status", + "payloadJsonPath": "status", + "dataType": "string" + } + ] + }`; + await addCircuitInputsSchema(createdWorkstep2Id, schema); }); - it('Submits a transaction for execution of the workstep 1', async () => { + it('Add a circuit input translation schema to workstep 3', async () => { + // TODO: Correct err in case of missing mapping + const schema = `{ + "mapping": [ + { + "circuitInput": "invoiceStatus", + "description": "Invoice status", + "payloadJsonPath": "status", + "dataType": "string" + } + ] + }`; + await addCircuitInputsSchema(createdWorkstep3Id, schema); + }); + + it('Submits transaction 1 for execution of the workstep 1', async () => { // TODO: CheckAuthz on createTransaction and in other places // TODO: Faking two items in the payload as the circuit is hardcoded to 4 - const createdTransactionId = await createTransactionAndReturnId( + createdTransaction1Id = await createTransactionAndReturnId( v4(), 1, createdWorkflowId, - createdWorkstepId, + createdWorkstep1Id, createdBpiSubjectAccountSupplierId, supplierBpiSubjectEddsaPrivateKey, createdBpiSubjectAccountBuyerId, @@ -173,16 +255,198 @@ describe('SRI use-case end-to-end test', () => { ); }); - it('Waits for a single VSM cycle and then verifies that the transaction has been executed and that the state has been properly stored', async () => { + it('Waits for a single VSM cycle and then verifies that transaction 1 has been executed and that the state has been properly stored on chain and off chain', async () => { await new Promise((r) => setTimeout(r, 50000)); const resultWorkflow = await fetchWorkflow(createdWorkflowId); const resultBpiAccount = await fetchBpiAccount(resultWorkflow.bpiAccountId); - const stateTree = JSON.parse(resultBpiAccount.stateTree.tree); - const historyTree = JSON.parse(resultBpiAccount.historyTree.tree); + const stateBpiMerkleTree = new BpiMerkleTree( + 'ttt', + 'sha256', + MerkleTree.unmarshalTree( + resultBpiAccount.stateTree.tree, + new MerkleTreeService().createHashFunction('sha256'), + ), + ); + + const historyBpiMerkleTree = new BpiMerkleTree( + 'ttt', + 'sha256', + MerkleTree.unmarshalTree( + resultBpiAccount.historyTree.tree, + new MerkleTreeService().createHashFunction('sha256'), + ), + ); + + expect( + historyBpiMerkleTree.getLeafIndex(stateBpiMerkleTree.getRoot()), + ).toBe(0); - expect(stateTree.leaves.length).toBe(1); - expect(historyTree.leaves.length).toBe(1); + const resultTransaction = await fetchTransaction(createdTransaction1Id); + const resultWorkstepInstanceId = resultTransaction.workstepInstanceId; + + const contract = getContractFromLocalNode(); + const contentAddressableHash = await contract.getAnchorHash( + resultWorkstepInstanceId, + ); + + expect(contentAddressableHash).toBeTruthy(); + expect(contentAddressableHash.length).toBeGreaterThan(0); + + expect(stateBpiMerkleTree.getLeaf(0)).toEqual(contentAddressableHash); + + const stateTreeLeafValue = await fetchStateTreeLeafViaCAH( + contentAddressableHash, + ); + + expect(stateTreeLeafValue).toBeTruthy(); + expect(stateTreeLeafValue.leafIndex).toBe(0); + }); + + it('Submits transaction 2 for execution of the workstep 2', async () => { + createdTransaction2Id = await createTransactionAndReturnId( + v4(), + 1, + createdWorkflowId, + createdWorkstep2Id, + createdBpiSubjectAccountBuyerId, + buyerBpiSubjectEddsaPrivateKey, + createdBpiSubjectAccountSupplierId, + `{ + "supplierInvoiceID": "INV123", + "amount": 300, + "issueDate": "2023-06-15", + "dueDate": "2023-07-15", + "status": "VERIFIED", + "items": [ + { "id": 1, "productId": "product1", "price": 100, "amount": 1 }, + { "id": 2, "productId": "product2", "price": 200, "amount": 1 }, + { "id": 3, "productId": "placeholder", "price": 0, "amount": 0 }, + { "id": 4, "productId": "placeholder", "price": 0, "amount": 0 } + ] + }`, + ); + }); + + it('Waits for a single VSM cycle and then verifies that the transaction 2 has been executed and that the state has been properly stored on chain and off chain', async () => { + await new Promise((r) => setTimeout(r, 50000)); + const resultWorkflow = await fetchWorkflow(createdWorkflowId); + const resultBpiAccount = await fetchBpiAccount(resultWorkflow.bpiAccountId); + + const stateBpiMerkleTree = new BpiMerkleTree( + 'ttt', + 'sha256', + MerkleTree.unmarshalTree( + resultBpiAccount.stateTree.tree, + new MerkleTreeService().createHashFunction('sha256'), + ), + ); + + const historyBpiMerkleTree = new BpiMerkleTree( + 'ttt', + 'sha256', + MerkleTree.unmarshalTree( + resultBpiAccount.historyTree.tree, + new MerkleTreeService().createHashFunction('sha256'), + ), + ); + + expect( + historyBpiMerkleTree.getLeafIndex(stateBpiMerkleTree.getRoot()), + ).toBe(1); + + const resultTransaction = await fetchTransaction(createdTransaction2Id); + const resultWorkstepInstanceId = resultTransaction.workstepInstanceId; + + const contract = getContractFromLocalNode(); + const contentAddressableHash = await contract.getAnchorHash( + resultWorkstepInstanceId, + ); + + expect(contentAddressableHash).toBeTruthy(); + expect(contentAddressableHash.length).toBeGreaterThan(0); + + expect(stateBpiMerkleTree.getLeaf(1)).toEqual(contentAddressableHash); + + const stateTreeLeafValue = await fetchStateTreeLeafViaCAH( + contentAddressableHash, + ); + + expect(stateTreeLeafValue).toBeTruthy(); + expect(stateTreeLeafValue.leafIndex).toBe(1); + }); + + it('Submits transaction 3 for execution of the workstep 3', async () => { + createdTransaction3Id = await createTransactionAndReturnId( + v4(), + 2, + createdWorkflowId, + createdWorkstep3Id, + createdBpiSubjectAccountBuyerId, + buyerBpiSubjectEddsaPrivateKey, + createdBpiSubjectAccountSupplierId, + `{ + "supplierInvoiceID": "INV123", + "amount": 300, + "issueDate": "2023-06-15", + "dueDate": "2023-07-15", + "status": "PAID", + "items": [ + { "id": 1, "productId": "product1", "price": 100, "amount": 1 }, + { "id": 2, "productId": "product2", "price": 200, "amount": 1 }, + { "id": 3, "productId": "placeholder", "price": 0, "amount": 0 }, + { "id": 4, "productId": "placeholder", "price": 0, "amount": 0 } + ] + }`, + ); + }); + + it('Waits for a single VSM cycle and then verifies that the transaction 3 has been executed and that the state has been properly stored on chain and off chain', async () => { + await new Promise((r) => setTimeout(r, 50000)); + const resultWorkflow = await fetchWorkflow(createdWorkflowId); + const resultBpiAccount = await fetchBpiAccount(resultWorkflow.bpiAccountId); + + const stateBpiMerkleTree = new BpiMerkleTree( + 'ttt', + 'sha256', + MerkleTree.unmarshalTree( + resultBpiAccount.stateTree.tree, + new MerkleTreeService().createHashFunction('sha256'), + ), + ); + + const historyBpiMerkleTree = new BpiMerkleTree( + 'ttt', + 'sha256', + MerkleTree.unmarshalTree( + resultBpiAccount.historyTree.tree, + new MerkleTreeService().createHashFunction('sha256'), + ), + ); + + expect( + historyBpiMerkleTree.getLeafIndex(stateBpiMerkleTree.getRoot()), + ).toBe(2); + + const resultTransaction = await fetchTransaction(createdTransaction3Id); + const resultWorkstepInstanceId = resultTransaction.workstepInstanceId; + + const contract = getContractFromLocalNode(); + const contentAddressableHash = await contract.getAnchorHash( + resultWorkstepInstanceId, + ); + + expect(contentAddressableHash).toBeTruthy(); + expect(contentAddressableHash.length).toBeGreaterThan(0); + + expect(stateBpiMerkleTree.getLeaf(2)).toEqual(contentAddressableHash); + + const stateTreeLeafValue = await fetchStateTreeLeafViaCAH( + contentAddressableHash, + ); + + expect(stateTreeLeafValue).toBeTruthy(); + expect(stateTreeLeafValue.leafIndex).toBe(2); }); }); @@ -290,6 +554,7 @@ async function fetchWorkgroup(workgroupId: string): Promise { async function createWorkstepAndReturnId( name: string, workgroupId: string, + verifierContractAddress: string, ): Promise { const createdWorkstepResponse = await request(server) .post('/worksteps') @@ -301,6 +566,7 @@ async function createWorkstepAndReturnId( workgroupId: workgroupId, securityPolicy: 'Dummy security policy', privacyPolicy: 'Dummy privacy policy', + verifierContractAddress: verifierContractAddress, }) .expect(201); @@ -345,8 +611,8 @@ async function createWorkflowAndReturnId( async function createTransactionAndReturnId( id: string, nonce: number, - workflowInstanceId: string, - workstepInstanceId: string, + workflowId: string, + workstepId: string, fromSubjectAccountId: string, fromPrivatekey: string, toSubjectAccountId: string, @@ -361,8 +627,8 @@ async function createTransactionAndReturnId( .send({ id: id, nonce: nonce, - workflowInstanceId: workflowInstanceId, - workstepInstanceId: workstepInstanceId, + workflowId: workflowId, + workstepId: workstepId, fromSubjectAccountId: fromSubjectAccountId, toSubjectAccountId: toSubjectAccountId, payload: payload, @@ -390,3 +656,33 @@ async function fetchBpiAccount(bpiAccountId: string): Promise { return JSON.parse(getBpiAccountResponse.text); } + +async function fetchTransaction(txId: string): Promise { + const getTransactionResponse = await request(server) + .get(`/transactions/${txId}`) + .set('Authorization', `Bearer ${accessToken}`) + .expect(200); + + return JSON.parse(getTransactionResponse.text); +} + +function getContractFromLocalNode(): ethers.Contract { + const provider = new JsonRpcProvider('http://127.0.0.1:8545'); + const contractAddress = `${process.env.CCSM_BPI_STATE_ANCHOR_CONTRACT_ADDRESS}`; + + const contractABI = [ + 'function getAnchorHash(string calldata _workstepInstanceId) external view returns (string memory)', + ]; + + return new ethers.Contract(contractAddress, contractABI, provider); +} + +async function fetchStateTreeLeafViaCAH(cah: string): Promise { + const fetchStateTreeLeafResponse = await request(server) + .get(`/state`) + .query({ leafValue: cah }) + .set('Authorization', `Bearer ${accessToken}`) + .expect(200); + + return JSON.parse(fetchStateTreeLeafResponse.text); +} diff --git a/examples/bri-3/tsconfig.build.json b/examples/bri-3/tsconfig.build.json index 64f86c6bd..f3a223af3 100644 --- a/examples/bri-3/tsconfig.build.json +++ b/examples/bri-3/tsconfig.build.json @@ -1,4 +1,4 @@ { "extends": "./tsconfig.json", - "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] + "exclude": ["node_modules", "test", "dist", "**/*spec.ts", "ccsm"] } diff --git a/examples/bri-3/tsconfig.json b/examples/bri-3/tsconfig.json index cd970e7d4..e6fee341c 100644 --- a/examples/bri-3/tsconfig.json +++ b/examples/bri-3/tsconfig.json @@ -23,5 +23,5 @@ }, "ts-node": { "compiler": "ttypescript" -}, + } } diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep1/workstep1Verifier.sol/Workstep1Verifier.dbg.json b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep1/workstep1Verifier.sol/Workstep1Verifier.dbg.json new file mode 100644 index 000000000..614e78674 --- /dev/null +++ b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep1/workstep1Verifier.sol/Workstep1Verifier.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/040dfe25dc16b88ff557ca6b496676df.json" +} diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep1/workstep1Verifier.sol/workstep1Verifier.json b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep1/workstep1Verifier.sol/workstep1Verifier.json new file mode 100644 index 000000000..c1465eb99 --- /dev/null +++ b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep1/workstep1Verifier.sol/workstep1Verifier.json @@ -0,0 +1,35 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Workstep1Verifier", + "sourceName": "contracts/workstep1Verifier.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "pubSignals", + "type": "uint256[]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50611dc3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cdf565b610060565b6040516100579190611d72565b60405180910390f35b6000611a1c565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f29e79ad99d77a4ffcf4b8ab0e464b713c864049f2add12136968cff0864088eb7f1410aa6f48b6cf3bf598c6dfa5cb01466519164bd833de0e7827db62d8cac07884610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f1d0d822b29a0910be348f05ad545cfca3c4a45984ec7b3c071978ca4e979b6867f1689e43d6a0f29f2c00abcf49c803fa5c0ebbf4937b1ad668147399369a8fa7e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f145db25e5672a52146b54883489d4339ba16367240f7dd1dacb09e4daf1189d77f1f3ae2a7d2308c43976c572190b3779f177a653b623119177aec86a173733e0984610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f2ece7b42d73dbbda215415dad9da14a4e9f50453c2ea3c269d78f0c4f48b93927f1d854ccab14984cad21ee83abc5688656d4978607ee46ce05c6e30e70438934c84610c61565b60c08501519250610f76837f28dfa5635712fec932cb955efa78de7c3bb1d717ca47ac63d0028c25000ab9827f0c1d9a27ace009b0748df47d8996964d4c5efe448f5689be7f89b1c9b54d1fd484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f1a57e0730386d03ce171300fd06d8df31762d7652b64af847809b15539bf96477f12515de6655d8e300d5106f29f03a0e8d28d2c9c2cf842475e26a42f3eca1c3784610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f28a149d8479d0660ccf9119b862a6296efb8955f144f3a4c28218cbdc30c4a3e7f268d5e96726a4f0a0af926881dd088840f0b189fc0bac1c06378ca1342030d4784610c61565b6115ee6101608601517f0e7776860985ee7b82e3ff3a29a0704c80cc4f49fd6a08562de1286b1a4147737f16d85b4ca470712c952db758ba22542a1494058886d0cf5bc1d6e2796d5d7a3a84610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ae836002600184610c61565b606085015192506117c4836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184883610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a3084610206565b611a3b83828661027f565b611a4481610785565b611a4e838261082a565b611a58818561088d565b611a628185610d07565b611a6c8185610d33565b611a758161184f565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aee82611aa5565b810181811067ffffffffffffffff82111715611b0d57611b0c611ab6565b5b80604052505050565b6000611b20611a87565b9050611b2c8282611ae5565b919050565b600067ffffffffffffffff821115611b4c57611b4b611ab6565b5b611b5582611aa5565b9050602081019050919050565b82818337600083830152505050565b6000611b84611b7f84611b31565b611b16565b905082815260208101848484011115611ba057611b9f611aa0565b5b611bab848285611b62565b509392505050565b600082601f830112611bc857611bc7611a9b565b5b8135611bd8848260208601611b71565b91505092915050565b600067ffffffffffffffff821115611bfc57611bfb611ab6565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b6000611c5b611c5684611be1565b611b16565b90508083825260208201905060208402830185811115611c7e57611c7d611c0d565b5b835b81811015611ca75780611c938882611c33565b845260208401935050602081019050611c80565b5050509392505050565b600082601f830112611cc657611cc5611a9b565b5b8135611cd6848260208601611c48565b91505092915050565b60008060408385031215611cf657611cf5611a91565b5b600083013567ffffffffffffffff811115611d1457611d13611a96565b5b611d2085828601611bb3565b925050602083013567ffffffffffffffff811115611d4157611d40611a96565b5b611d4d85828601611cb1565b9150509250929050565b60008115159050919050565b611d6c81611d57565b82525050565b6000602082019050611d876000830184611d63565b9291505056fea2646970667358221220f40151e1f02334e599ea3cec1e98933d2e3259f203b077c91496df8a7ea9f19964736f6c63430008180033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cdf565b610060565b6040516100579190611d72565b60405180910390f35b6000611a1c565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f29e79ad99d77a4ffcf4b8ab0e464b713c864049f2add12136968cff0864088eb7f1410aa6f48b6cf3bf598c6dfa5cb01466519164bd833de0e7827db62d8cac07884610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f1d0d822b29a0910be348f05ad545cfca3c4a45984ec7b3c071978ca4e979b6867f1689e43d6a0f29f2c00abcf49c803fa5c0ebbf4937b1ad668147399369a8fa7e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f145db25e5672a52146b54883489d4339ba16367240f7dd1dacb09e4daf1189d77f1f3ae2a7d2308c43976c572190b3779f177a653b623119177aec86a173733e0984610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f2ece7b42d73dbbda215415dad9da14a4e9f50453c2ea3c269d78f0c4f48b93927f1d854ccab14984cad21ee83abc5688656d4978607ee46ce05c6e30e70438934c84610c61565b60c08501519250610f76837f28dfa5635712fec932cb955efa78de7c3bb1d717ca47ac63d0028c25000ab9827f0c1d9a27ace009b0748df47d8996964d4c5efe448f5689be7f89b1c9b54d1fd484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f1a57e0730386d03ce171300fd06d8df31762d7652b64af847809b15539bf96477f12515de6655d8e300d5106f29f03a0e8d28d2c9c2cf842475e26a42f3eca1c3784610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f28a149d8479d0660ccf9119b862a6296efb8955f144f3a4c28218cbdc30c4a3e7f268d5e96726a4f0a0af926881dd088840f0b189fc0bac1c06378ca1342030d4784610c61565b6115ee6101608601517f0e7776860985ee7b82e3ff3a29a0704c80cc4f49fd6a08562de1286b1a4147737f16d85b4ca470712c952db758ba22542a1494058886d0cf5bc1d6e2796d5d7a3a84610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ae836002600184610c61565b606085015192506117c4836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184883610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a3084610206565b611a3b83828661027f565b611a4481610785565b611a4e838261082a565b611a58818561088d565b611a628185610d07565b611a6c8185610d33565b611a758161184f565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aee82611aa5565b810181811067ffffffffffffffff82111715611b0d57611b0c611ab6565b5b80604052505050565b6000611b20611a87565b9050611b2c8282611ae5565b919050565b600067ffffffffffffffff821115611b4c57611b4b611ab6565b5b611b5582611aa5565b9050602081019050919050565b82818337600083830152505050565b6000611b84611b7f84611b31565b611b16565b905082815260208101848484011115611ba057611b9f611aa0565b5b611bab848285611b62565b509392505050565b600082601f830112611bc857611bc7611a9b565b5b8135611bd8848260208601611b71565b91505092915050565b600067ffffffffffffffff821115611bfc57611bfb611ab6565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2581611c12565b8114611c3057600080fd5b50565b600081359050611c4281611c1c565b92915050565b6000611c5b611c5684611be1565b611b16565b90508083825260208201905060208402830185811115611c7e57611c7d611c0d565b5b835b81811015611ca75780611c938882611c33565b845260208401935050602081019050611c80565b5050509392505050565b600082601f830112611cc657611cc5611a9b565b5b8135611cd6848260208601611c48565b91505092915050565b60008060408385031215611cf657611cf5611a91565b5b600083013567ffffffffffffffff811115611d1457611d13611a96565b5b611d2085828601611bb3565b925050602083013567ffffffffffffffff811115611d4157611d40611a96565b5b611d4d85828601611cb1565b9150509250929050565b60008115159050919050565b611d6c81611d57565b82525050565b6000602082019050611d876000830184611d63565b9291505056fea2646970667358221220f40151e1f02334e599ea3cec1e98933d2e3259f203b077c91496df8a7ea9f19964736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep1/workstep1witness.txt b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep1/workstep1witness.txt deleted file mode 100644 index cdd6b8acd..000000000 Binary files a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep1/workstep1witness.txt and /dev/null differ diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/witness.txt b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/witness.txt new file mode 100644 index 000000000..d66b597e7 Binary files /dev/null and b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/witness.txt differ diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2.r1cs b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2.r1cs new file mode 100644 index 000000000..0c749c11c Binary files /dev/null and b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2.r1cs differ diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2Verifier.sol/Workstep2Verifier.dbg.json b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2Verifier.sol/Workstep2Verifier.dbg.json new file mode 100644 index 000000000..614e78674 --- /dev/null +++ b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2Verifier.sol/Workstep2Verifier.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/040dfe25dc16b88ff557ca6b496676df.json" +} diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2Verifier.sol/workstep2Verifier.json b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2Verifier.sol/workstep2Verifier.json new file mode 100644 index 000000000..ebb9a96c2 --- /dev/null +++ b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2Verifier.sol/workstep2Verifier.json @@ -0,0 +1,35 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Workstep2Verifier", + "sourceName": "contracts/workstep2Verifier.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "pubSignals", + "type": "uint256[]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50611dc2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f26aee923b0c25e2761ed55d872bdce83e1d95e965ca8ce1d7bf132065ed73bea7f0d97ed9d9f00314c36234ec638665eba9c42b2aeb9472214f2d5a2b22615181d84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220f1a497cd26c4df9d647ccc126914032feed1053e8cb91d6f871b91f05cc43dee64736f6c63430008180033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80631e8e1e1314610030575b600080fd5b61004a60048036038101906100459190611cde565b610060565b6040516100579190611d71565b60405180910390f35b6000611a1b565b600080600184846000805b821561009c5782840591508482028603905084955080945082820284039050829350809250610072565b60018411156100aa57600080fd5b60008612156100b95788860195505b85965050505050505092915050565b60405181602084028301815160208301925060005b82841015610120578185527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018451830991506020850194506020840193506100dd565b61014a7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000183610067565b91506020850394506020840393508592505b828411156101c6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018551830990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000184518309915080845260208503945060208403935061015c565b81845250505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110610203576000805260206000f35b50565b61032081511461021a576000805260206000f35b6102286102608201516101d2565b6102366102808201516101d2565b6102446102a08201516101d2565b6102526102c08201516101d2565b6102606102e08201516101d2565b61026e6103008201516101d2565b61027c6103208201516101d2565b50565b60008060208501516102c085015260208301516102e08501526020800183015161030085015260406020018301516103208501526060602001830151610340850152608060200183015161036085015260a06020018301516103808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e06102c08601200690508060208501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020808601200660408501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001604060e08501200660008501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c06101208501200691508160608501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182820960a08501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182830991508160808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180600184030106915081610260850152816102808501527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160e0610260850120068060c08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181820992508260e08601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101008601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101208601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101408601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018184099250826101608601527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160806101e086012006610180860152505050505050565b60017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001836060860151030106618000096102a08301526107ec600261028084016100c8565b610260820151600191507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001816102a0850151096102a0840152505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102a086015109830301069050806101a0830152505050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016101a08601516103208601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102c08601510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160208601516102e08601510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151820890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160408601516102a08601510890507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151820990507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018501030692507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028086015184099250826101c08601525050505050565b81518152602082015160208201525050565b6040518151815260208201516020820152825160408201526020830151606082015260408260808360066107d05a03fa80610bec576000805260206000f35b50505050565b6000604051835181526020840151602082015284604082015260408160608360076107d05a03fa915081610c2a576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610c5a576000805260206000f35b5050505050565b600060405183815284602082015285604082015260408160608360076107d05a03fa915081610c94576000805260206000f35b825160408201526020830151606082015260408360808360066107d05a03fa915081610cc4576000805260206000f35b505050505050565b600060405183815284602082015285604082015260408360608360076107d05a03fa915081610cff576000805260206000f35b505050505050565b6101e08201610d1a6101e0830182610b9b565b610d2e610180840151610220840183610bf2565b505050565b60008061022084017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610260860151099250610db6837f073ad9ca0a63bf57aab7471be06714e14cb129b3bc1957fb205f02a2dff201447f0f0d5954bc5550bb6b8a63158299441a292523e20998bd2eeaf6817b9cf7489184610ccc565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161028085015184099250610e2d837f24b75923ef66b5a38313240bf8701e5289f37ff6e54a5d9696c571cd0d7a6f7b7f13f75f7639b17b60c5dc1561ca51e09122443b14fd9b5198a3200cb73c405e7484610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151610280860151099250610ea8837f26aee923b0c25e2761ed55d872bdce83e1d95e965ca8ce1d7bf132065ed73bea7f0d97ed9d9f00314c36234ec638665eba9c42b2aeb9472214f2d5a2b22615181d84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c08601516102a0860151099250610f23837f24d590624aa64d73288cef9c5c68ddfbc43c288bfec0ea23a65e3d519deb4b457f2fe2b7a5e3301ec2548b1b9fa04dafe8bdb129027d89d2fda93c32b2ac1d615384610c61565b60c08501519250610f76837f2ad72eb4319e5ce1f126c3ee2fb7b07fcacc472b06034bc9b7b00fa5c6db3dd17f0bbacffc38b7a2d2938e833aa0b1beb2ebe94796ee3eeeaa8cde99e34b70274e84610c61565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a08601516102608601510892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160020991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160a086015160030991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102a0850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160008601516102a08701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151830991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610180860151840892506112518360e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102c085015160208701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610260850151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016102e085015160208701510991507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610280850151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016040860151830891507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000182840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016000860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160c0860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016020860151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610300850151840992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506114bb837f244c5fc4bd854ee2b3c1b620e013383a9e6daca6c0bab14aecd7101aba922cb67f2281748b89dcd5aeaee8e7b5573d600632e8b7d13619eca441e770f4862711ff84610c61565b6114c9610120850182610bad565b608085015192506114df83610160860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018384099250611514836101a0860183610bf2565b61152660e08601516020860183610bf2565b6115396101008601516060860183610bf2565b61154c61012086015160a0860183610bf2565b61159d6101408601517f14ce1f304c015a19fe72ccdd0c7b1aaae908e4faa13142d0d8d108e2efa497fd7f1ddf2ac14509d3ed88c5114e806890a074e2a3cf08bd6b406cd4e0c1256d6a5a84610c61565b6115ed6101608601517e701c2a27f6e67a591f1ca598c17621b64ad8830430232895ca68fe3dc5854d7f0dc88371d3444a7bbc4f3cb292e69421c549c10b86e8982b67d074006094fe0884610c61565b6101c085015192507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060c087015161032087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018060e087015161026087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061010087015161028087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101208701516102a087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101408701516102c087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001806101608701516102e087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018061018087015161030087015109840892507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001030692506117ad836002600184610c61565b606085015192506117c3836101e0860183610bf2565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160608601516101808701510992507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000017f2d1ba66f5941dc91017171fa69ec2bd0022a2a2d4115a009a93458fd4e26ecfb8409925061184783610220860183610bf2565b5050505050565b60006040516101e0830151815260206101e08401015160208201527f1e3b651c96c337f8f6266fadcef22dc97717b5d44b445a5ef799a6cd3cc564a060408201527f10b13ed45e1871ff867a120754de5bf5c1395ad0078891e1b81f284ef6df78ca60608201527f2b57d40b181c33d7331accce5e5b890345b051c33f74e24ab728b18a3f7b473e60808201527f241a20e6fc3bc59485fa2e92365b46bf48742e8fac0b18859306488928cdcf0860a082015261022083015160c08201526020610220840101517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47817f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47030690508060e08301527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101008301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101208301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101408301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6101608301526020826101808460086107d05a03fa825181169350505050919050565b6040516102c08101604052611a2f84610206565b611a3a83828661027f565b611a4381610785565b611a4d838261082a565b611a57818561088d565b611a618185610d07565b611a6b8185610d33565b611a748161184e565b6102c082036040528060005260206000f35b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aed82611aa4565b810181811067ffffffffffffffff82111715611b0c57611b0b611ab5565b5b80604052505050565b6000611b1f611a86565b9050611b2b8282611ae4565b919050565b600067ffffffffffffffff821115611b4b57611b4a611ab5565b5b611b5482611aa4565b9050602081019050919050565b82818337600083830152505050565b6000611b83611b7e84611b30565b611b15565b905082815260208101848484011115611b9f57611b9e611a9f565b5b611baa848285611b61565b509392505050565b600082601f830112611bc757611bc6611a9a565b5b8135611bd7848260208601611b70565b91505092915050565b600067ffffffffffffffff821115611bfb57611bfa611ab5565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b611c2481611c11565b8114611c2f57600080fd5b50565b600081359050611c4181611c1b565b92915050565b6000611c5a611c5584611be0565b611b15565b90508083825260208201905060208402830185811115611c7d57611c7c611c0c565b5b835b81811015611ca65780611c928882611c32565b845260208401935050602081019050611c7f565b5050509392505050565b600082601f830112611cc557611cc4611a9a565b5b8135611cd5848260208601611c47565b91505092915050565b60008060408385031215611cf557611cf4611a90565b5b600083013567ffffffffffffffff811115611d1357611d12611a95565b5b611d1f85828601611bb2565b925050602083013567ffffffffffffffff811115611d4057611d3f611a95565b5b611d4c85828601611cb0565b9150509250929050565b60008115159050919050565b611d6b81611d56565b82525050565b6000602082019050611d866000830184611d62565b9291505056fea2646970667358221220f1a497cd26c4df9d647ccc126914032feed1053e8cb91d6f871b91f05cc43dee64736f6c63430008180033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2_final.zkey b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2_final.zkey new file mode 100644 index 000000000..7b04f42b6 Binary files /dev/null and b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2_final.zkey differ diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2_js/generate_witness.js b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2_js/generate_witness.js new file mode 100644 index 000000000..eabb86e58 --- /dev/null +++ b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2_js/generate_witness.js @@ -0,0 +1,20 @@ +const wc = require("./witness_calculator.js"); +const { readFileSync, writeFile } = require("fs"); + +if (process.argv.length != 5) { + console.log("Usage: node generate_witness.js "); +} else { + const input = JSON.parse(readFileSync(process.argv[3], "utf8")); + + const buffer = readFileSync(process.argv[2]); + wc(buffer).then(async witnessCalculator => { + // const w= await witnessCalculator.calculateWitness(input,0); + // for (let i=0; i< w.length; i++){ + // console.log(w[i]); + // } + const buff= await witnessCalculator.calculateWTNSBin(input,0); + writeFile(process.argv[4], buff, function(err) { + if (err) throw err; + }); + }); +} diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2_js/witness_calculator.js b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2_js/witness_calculator.js new file mode 100644 index 000000000..20e6e20ad --- /dev/null +++ b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep2/workstep2_js/witness_calculator.js @@ -0,0 +1,337 @@ +module.exports = async function builder(code, options) { + + options = options || {}; + + let wasmModule; + try { + wasmModule = await WebAssembly.compile(code); + } catch (err) { + console.log(err); + console.log("\nTry to run circom --c in order to generate c++ code instead\n"); + throw new Error(err); + } + + let wc; + + let errStr = ""; + let msgStr = ""; + + const instance = await WebAssembly.instantiate(wasmModule, { + runtime: { + exceptionHandler : function(code) { + let err; + if (code == 1) { + err = "Signal not found.\n"; + } else if (code == 2) { + err = "Too many signals set.\n"; + } else if (code == 3) { + err = "Signal already set.\n"; + } else if (code == 4) { + err = "Assert Failed.\n"; + } else if (code == 5) { + err = "Not enough memory.\n"; + } else if (code == 6) { + err = "Input signal array access exceeds the size.\n"; + } else { + err = "Unknown error.\n"; + } + throw new Error(err + errStr); + }, + printErrorMessage : function() { + errStr += getMessage() + "\n"; + // console.error(getMessage()); + }, + writeBufferMessage : function() { + const msg = getMessage(); + // Any calls to `log()` will always end with a `\n`, so that's when we print and reset + if (msg === "\n") { + console.log(msgStr); + msgStr = ""; + } else { + // If we've buffered other content, put a space in between the items + if (msgStr !== "") { + msgStr += " " + } + // Then append the message to the message we are creating + msgStr += msg; + } + }, + showSharedRWMemory : function() { + printSharedRWMemory (); + } + + } + }); + + const sanityCheck = + options +// options && +// ( +// options.sanityCheck || +// options.logGetSignal || +// options.logSetSignal || +// options.logStartComponent || +// options.logFinishComponent +// ); + + + wc = new WitnessCalculator(instance, sanityCheck); + return wc; + + function getMessage() { + var message = ""; + var c = instance.exports.getMessageChar(); + while ( c != 0 ) { + message += String.fromCharCode(c); + c = instance.exports.getMessageChar(); + } + return message; + } + + function printSharedRWMemory () { + const shared_rw_memory_size = instance.exports.getFieldNumLen32(); + const arr = new Uint32Array(shared_rw_memory_size); + for (let j=0; j { + const h = fnvHash(k); + const hMSB = parseInt(h.slice(0,8), 16); + const hLSB = parseInt(h.slice(8,16), 16); + const fArr = flatArray(input[k]); + let signalSize = this.instance.exports.getInputSignalSize(hMSB, hLSB); + if (signalSize < 0){ + throw new Error(`Signal ${k} not found\n`); + } + if (fArr.length < signalSize) { + throw new Error(`Not enough values for input signal ${k}\n`); + } + if (fArr.length > signalSize) { + throw new Error(`Too many values for input signal ${k}\n`); + } + for (let i=0; i0) { + res.unshift(0); + i--; + } + } + return res; +} + +function fromArray32(arr) { //returns a BigInt + var res = BigInt(0); + const radix = BigInt(0x100000000); + for (let i = 0; i "); +} else { + const input = JSON.parse(readFileSync(process.argv[3], "utf8")); + + const buffer = readFileSync(process.argv[2]); + wc(buffer).then(async witnessCalculator => { + // const w= await witnessCalculator.calculateWitness(input,0); + // for (let i=0; i< w.length; i++){ + // console.log(w[i]); + // } + const buff= await witnessCalculator.calculateWTNSBin(input,0); + writeFile(process.argv[4], buff, function(err) { + if (err) throw err; + }); + }); +} diff --git a/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep3/workstep3_js/witness_calculator.js b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep3/workstep3_js/witness_calculator.js new file mode 100644 index 000000000..20e6e20ad --- /dev/null +++ b/examples/bri-3/zeroKnowledgeArtifacts/circuits/workstep3/workstep3_js/witness_calculator.js @@ -0,0 +1,337 @@ +module.exports = async function builder(code, options) { + + options = options || {}; + + let wasmModule; + try { + wasmModule = await WebAssembly.compile(code); + } catch (err) { + console.log(err); + console.log("\nTry to run circom --c in order to generate c++ code instead\n"); + throw new Error(err); + } + + let wc; + + let errStr = ""; + let msgStr = ""; + + const instance = await WebAssembly.instantiate(wasmModule, { + runtime: { + exceptionHandler : function(code) { + let err; + if (code == 1) { + err = "Signal not found.\n"; + } else if (code == 2) { + err = "Too many signals set.\n"; + } else if (code == 3) { + err = "Signal already set.\n"; + } else if (code == 4) { + err = "Assert Failed.\n"; + } else if (code == 5) { + err = "Not enough memory.\n"; + } else if (code == 6) { + err = "Input signal array access exceeds the size.\n"; + } else { + err = "Unknown error.\n"; + } + throw new Error(err + errStr); + }, + printErrorMessage : function() { + errStr += getMessage() + "\n"; + // console.error(getMessage()); + }, + writeBufferMessage : function() { + const msg = getMessage(); + // Any calls to `log()` will always end with a `\n`, so that's when we print and reset + if (msg === "\n") { + console.log(msgStr); + msgStr = ""; + } else { + // If we've buffered other content, put a space in between the items + if (msgStr !== "") { + msgStr += " " + } + // Then append the message to the message we are creating + msgStr += msg; + } + }, + showSharedRWMemory : function() { + printSharedRWMemory (); + } + + } + }); + + const sanityCheck = + options +// options && +// ( +// options.sanityCheck || +// options.logGetSignal || +// options.logSetSignal || +// options.logStartComponent || +// options.logFinishComponent +// ); + + + wc = new WitnessCalculator(instance, sanityCheck); + return wc; + + function getMessage() { + var message = ""; + var c = instance.exports.getMessageChar(); + while ( c != 0 ) { + message += String.fromCharCode(c); + c = instance.exports.getMessageChar(); + } + return message; + } + + function printSharedRWMemory () { + const shared_rw_memory_size = instance.exports.getFieldNumLen32(); + const arr = new Uint32Array(shared_rw_memory_size); + for (let j=0; j { + const h = fnvHash(k); + const hMSB = parseInt(h.slice(0,8), 16); + const hLSB = parseInt(h.slice(8,16), 16); + const fArr = flatArray(input[k]); + let signalSize = this.instance.exports.getInputSignalSize(hMSB, hLSB); + if (signalSize < 0){ + throw new Error(`Signal ${k} not found\n`); + } + if (fArr.length < signalSize) { + throw new Error(`Not enough values for input signal ${k}\n`); + } + if (fArr.length > signalSize) { + throw new Error(`Too many values for input signal ${k}\n`); + } + for (let i=0; i0) { + res.unshift(0); + i--; + } + } + return res; +} + +function fromArray32(arr) { //returns a BigInt + var res = BigInt(0); + const radix = BigInt(0x100000000); + for (let i = 0; i