text: exports.id=0,exports.modules={"./build/contracts/FlightSuretyApp.json":function(e){e.exports=JSON.parse('{"contractName":"FlightSuretyApp","abi":[{"inputs":[{"internalType":"address payable","name":"flightSuretyDataAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"airline","type":"address"},{"indexed":false,"internalType":"uint256","name":"funds","type":"uint256"}],"name":"AirlineFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"airline","type":"address"},{"indexed":false,"internalType":"uint256","name":"count","type":"uint256"}],"name":"AirlineRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"airline","type":"address"},{"indexed":false,"internalType":"string","name":"flight","type":"string"}],"name":"CreditInsurees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"airline","type":"address"},{"indexed":false,"internalType":"string","name":"flight","type":"string"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"status","type":"uint8"}],"name":"FlightStatusInfo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"address","name":"airline","type":"address"},{"indexed":false,"internalType":"address","name":"passenger","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"InsurancePurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"airline","type":"address"},{"indexed":false,"internalType":"string","name":"flight","type":"string"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"status","type":"uint8"}],"name":"OracleReport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"index","type":"uint8"},{"indexed":false,"internalType":"address","name":"airline","type":"address"},{"indexed":false,"internalType":"string","name":"flight","type":"string"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OracleRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"passenger","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PassengerCredited","type":"event"},{"inputs":[],"name":"REGISTRATION_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"airlinesForRegistration","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOperational","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"airline","type":"address"}],"name":"isAirline","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"airline","type":"address"}],"name":"registerAirline","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"uint256","name":"votes","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"fundAirline","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"airline","type":"address"}],"name":"isFunded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"address","name":"airline","type":"address"}],"name":"buyInsurance","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"address","name":"airline","type":"address"}],"name":"creditPassenger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"address","name":"airline","type":"address"}],"name":"registerFlight","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"airline","type":"address"},{"internalType":"string","name":"flight","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"statusCode","type":"uint8"}],"name":"processFlightStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"airline","type":"address"},{"internalType":"string","name":"flight","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"fetchFlightStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"registerOracle","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getMyIndexes","outputs":[{"internalType":"uint8[3]","name":"","type":"uint8[3]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"index","type":"uint8"},{"internalType":"address","name":"airline","type":"address"},{"internalType":"string","name":"flight","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"statusCode","type":"uint8"}],"name":"submitOracleResponse","outputs":[],"stateMutability":"nonpayable","type":"function"}],"metadata":"{\\"compiler\\":{\\"version\\":\\"0.8.3+commit.8d00100c\\"},\\"language\\":\\"Solidity\\",\\"output\\":{\\"abi\\":[{\\"inputs\\":[{\\"internalType\\":\\"address payable\\",\\"name\\":\\"flightSuretyDataAddress\\",\\"type\\":\\"address\\"}],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"constructor\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"funds\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"AirlineFunded\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"count\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"AirlineRegistered\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"string\\",\\"name\\":\\"flight\\",\\"type\\":\\"string\\"}],\\"name\\":\\"CreditInsurees\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"string\\",\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint8\\",\\"name\\":\\"status\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"FlightStatusInfo\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"passenger\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"InsurancePurchased\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"string\\",\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint8\\",\\"name\\":\\"status\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"OracleReport\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"internalType\\":\\"uint8\\",\\"name\\":\\"index\\",\\"type\\":\\"uint8\\"},{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"string\\",\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"OracleRequest\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"passenger\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"PassengerCredited\\",\\"type\\":\\"event\\"},{\\"inputs\\":[],\\"name\\":\\"REGISTRATION_FEE\\",\\"outputs\\":[{\\"internalType\\":\\"uint256\\",\\"name\\":\\"\\",\\"type\\":\\"uint256\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"airlinesForRegistration\\",\\"outputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"buyInsurance\\",\\"outputs\\":[],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"creditPassenger\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"string\\",\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"fetchFlightStatus\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"fundAirline\\",\\"outputs\\":[],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"getMyIndexes\\",\\"outputs\\":[{\\"internalType\\":\\"uint8[3]\\",\\"name\\":\\"\\",\\"type\\":\\"uint8[3]\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"isAirline\\",\\"outputs\\":[{\\"internalType\\":\\"bool\\",\\"name\\":\\"\\",\\"type\\":\\"bool\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"isFunded\\",\\"outputs\\":[{\\"internalType\\":\\"bool\\",\\"name\\":\\"\\",\\"type\\":\\"bool\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"isOperational\\",\\"outputs\\":[{\\"internalType\\":\\"bool\\",\\"name\\":\\"\\",\\"type\\":\\"bool\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"string\\",\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"uint8\\",\\"name\\":\\"statusCode\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"processFlightStatus\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"registerAirline\\",\\"outputs\\":[{\\"internalType\\":\\"bool\\",\\"name\\":\\"success\\",\\"type\\":\\"bool\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"votes\\",\\"type\\":\\"uint256\\"}],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"registerFlight\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"registerOracle\\",\\"outputs\\":[],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"uint8\\",\\"name\\":\\"index\\",\\"type\\":\\"uint8\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"string\\",\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"uint8\\",\\"name\\":\\"statusCode\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"submitOracleResponse\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"}],\\"devdoc\\":{\\"kind\\":\\"dev\\",\\"methods\\":{\\"constructor\\":{\\"details\\":\\"Contract constructor\\"},\\"creditPassenger(uint256,address)\\":{\\"details\\":\\"Transfers eligible payout funds to insuree\\"},\\"processFlightStatus(address,string,uint256,uint8)\\":{\\"details\\":\\"Called after oracle has updated flight status\\"},\\"registerAirline(address)\\":{\\"details\\":\\"Add an airline to the registration queue\\"},\\"registerFlight(uint256,address)\\":{\\"details\\":\\"Register a future flight for insuring.\\"}},\\"version\\":1},\\"userdoc\\":{\\"kind\\":\\"user\\",\\"methods\\":{},\\"version\\":1}},\\"settings\\":{\\"compilationTarget\\":{\\"project:/contracts/FlightSuretyApp.sol\\":\\"FlightSuretyApp\\"},\\"evmVersion\\":\\"istanbul\\",\\"libraries\\":{},\\"metadata\\":{\\"bytecodeHash\\":\\"ipfs\\"},\\"optimizer\\":{\\"enabled\\":false,\\"runs\\":200},\\"remappings\\":[]},\\"sources\\":{\\"project:/contracts/FlightSuretyApp.sol\\":{\\"keccak256\\":\\"0x9a49dd54989a4a99424b1e4a3288292615486ac44651be182ea251b7aa20e448\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://f4d6ae3b533f7c8a6b2dd8f371dead5e089eb57288e50ff0f9f870b428661f3b\\",\\"dweb:/ipfs/QmSf4v1MoDK6Vas15EQzVvzm4qWpXURFrtwids3oQ2dSKD\\"]},\\"project:/contracts/FlightSuretyData.sol\\":{\\"keccak256\\":\\"0xcd4c94dd55da18f96fdaf6590f4f55e417fac976601661473b76d08e1fcb80b7\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://9e8b359c89337fd2ce66ffd1d1dd7239567c63ac11a78886550e6a53d30a7b4e\\",\\"dweb:/ipfs/QmUcDop9UhnLTjz5y3Eg5aYYRN679AcyxFSbGSwZjaqcrN\\"]},\\"project:/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol\\":{\\"keccak256\\":\\"0x8666f020bd8fc9dc14f07e2ebc52b5f236ab4cdde7c77679b08cb2f94730043b\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://163776cbf565c722232393aa2d62cbe8a2ffb5805986abf4906c00e1e07450a6\\",\\"dweb:/ipfs/QmPZoN9T3cb6o8bGhjBPZcz7im8T8DWhpr3tjLwhJJHx9N\\"]}},\\"version\\":1}","bytecode":"0x60806040526000600360146101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b5060405162003810380380620038108339818101604052810190620000539190620000f2565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200016c565b600081519050620000ec8162000152565b92915050565b6000602082840312156200010557600080fd5b60006200011584828501620000db565b91505092915050565b60006200012b8262000132565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6200015d816200011e565b81146200016957600080fd5b50565b613694806200017c6000396000f3fe6080604052600436106100e85760003560e01c80639ed189271161008a578063cd905dff11610059578063cd905dff146102ba578063e7bdde3b146102e5578063e938880e1461030e578063f83f11c01461032a576100e8565b80639ed1892714610219578063bdfd987714610223578063c10f270014610254578063c829e3ef1461027d576100e8565b80635689b249116100c65780635689b2491461015d5780635c1e6f3f1461019a5780635f1cc0e6146101c357806364b4f751146101ee576100e8565b80630e248a11146100ed578063339d25901461012a578063424e8b0714610134575b600080fd5b3480156100f957600080fd5b50610114600480360381019061010f91906125d6565b610353565b6040516101219190612cf0565b60405180910390f35b610132610407565b005b34801561014057600080fd5b5061015b6004803603810190610156919061276f565b6104f4565b005b34801561016957600080fd5b50610184600480360381019061017f91906125d6565b610651565b6040516101919190612cf0565b60405180910390f35b3480156101a657600080fd5b506101c160048036038101906101bc919061276f565b610705565b005b3480156101cf57600080fd5b506101d8610916565b6040516101e59190612cd5565b60405180910390f35b3480156101fa57600080fd5b50610203610a56565b6040516102109190612ef4565b60405180910390f35b610221610a62565b005b61023d600480360381019061023891906125d6565b610c87565b60405161024b929190612d0b565b60405180910390f35b34801561026057600080fd5b5061027b600480360381019061027691906127ab565b61165f565b005b34801561028957600080fd5b506102a4600480360381019061029f91906126e1565b611a60565b6040516102b19190612bec565b60405180910390f35b3480156102c657600080fd5b506102cf611aae565b6040516102dc9190612cf0565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190612666565b611b55565b005b6103286004803603810190610323919061276f565b611cc1565b005b34801561033657600080fd5b50610351600480360381019061034c91906125ff565b611e3c565b005b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663010c5c97836040518263ffffffff1660e01b81526004016103b09190612bec565b60206040518083038186803b1580156103c857600080fd5b505afa1580156103dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610400919061271d565b9050919050565b670de0b6b3a7640000341015610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990612eb4565b60405180910390fd5b600061045d33611f42565b9050604051806040016040528060011515815260200182815250600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001019060036104ed92919061242c565b5090505050565b60006105008383612317565b90506002600082815260200190815260200160002060000160009054906101000a900460ff1615610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055d90612df4565b60405180910390fd5b6040518060800160405280600115158152602001600060ff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff168152506002600083815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff021916908360ff1602179055506040820151816001015560608201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635689b249836040518263ffffffff1660e01b81526004016106ae9190612bec565b60206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe919061271d565b9050919050565b6001610746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073d90612e14565b60405180910390fd5b60006107528383612317565b90506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791c016a33846040518363ffffffff1660e01b81526004016107b3929190612c07565b60206040518083038186803b1580156107cb57600080fd5b505afa1580156107df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108039190612746565b905060008111610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f90612e34565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166346f8f30433846040518363ffffffff1660e01b81526004016108a5929190612c07565b600060405180830381600087803b1580156108bf57600080fd5b505af11580156108d3573d6000803e3d6000fd5b505050507ffe9067d701ba2a9ca5f956902c52a3056cb785ab32a7655c01189b5a3079822f3382604051610908929190612cac565b60405180910390a150505050565b61091e6124c6565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff166109ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a490612dd4565b60405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600380602002604051908101604052809291908260038015610a4c576020028201916000905b82829054906101000a900460ff1660ff1681526020019060010190602082600001049283019260010382029150808411610a155790505b5050505050905090565b670de0b6b3a764000081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b1837de33346040518363ffffffff1660e01b8152600401610abf929190612cac565b600060405180830381600087803b158015610ad957600080fd5b505af1158015610aed573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635689b249336040518263ffffffff1660e01b8152600401610b4c9190612bec565b60206040518083038186803b158015610b6457600080fd5b505afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c919061271d565b15610c85577fe3e3c2f23f7445131259937f93b9ed0c075fe06c9d702be2d7ac549d0ec5fc3233600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663decebbce336040518263ffffffff1660e01b8152600401610c1e9190612bec565b60206040518083038186803b158015610c3657600080fd5b505afa158015610c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6e9190612746565b604051610c7c929190612cac565b60405180910390a15b565b6000806001610ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc290612e14565b60405180910390fd5b82600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663010c5c97826040518263ffffffff1660e01b8152600401610d279190612bec565b60206040518083038186803b158015610d3f57600080fd5b505afa158015610d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d77919061271d565b15610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae90612e74565b60405180910390fd5b6004600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f77890ea6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2157600080fd5b505afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e599190612746565b101561108257600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877856040518263ffffffff1660e01b8152600401610eba9190612bec565b600060405180830381600087803b158015610ed457600080fd5b505af1158015610ee8573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663010c5c97856040518263ffffffff1660e01b8152600401610f479190612bec565b60206040518083038186803b158015610f5f57600080fd5b505afa158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f97919061271d565b15611075577f4e89f34ef1586aa7cb3ba0fb413cd5678085f191a4442e087cebf2f076f3b0a284600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f77890ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561102657600080fd5b505afa15801561103a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105e9190612746565b60405161106c929190612cac565b60405180910390a15b6001602192509250611659565b6000805b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156111c1573373ffffffffffffffffffffffffffffffffffffffff16600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061115e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111ae57600191506111c1565b80806111b9906131db565b915050611086565b508015611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa90612e54565b60405180910390fd5b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060326113a5600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f77890ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113489190612746565b6064600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611397919061307b565b61234a90919063ffffffff16565b1061160e57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff1660e01b81526004016114059190612bec565b600060405180830381600087803b15801561141f57600080fd5b505af1158015611433573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663010c5c97866040518263ffffffff1660e01b81526004016114929190612bec565b60206040518083038186803b1580156114aa57600080fd5b505afa1580156114be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e2919061271d565b156115c0577f4e89f34ef1586aa7cb3ba0fb413cd5678085f191a4442e087cebf2f076f3b0a285600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f77890ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157157600080fd5b505afa158015611585573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a99190612746565b6040516115b7929190612cac565b60405180910390a15b60018060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509350935050611659565b6000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905093509350505b50915091565b8460ff16600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000600381106116de577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602091828204019190069054906101000a900460ff1660ff16148061179857508460ff16600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016003811061177d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602091828204019190069054906101000a900460ff1660ff16145b8061183857508460ff16600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160026003811061181d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602091828204019190069054906101000a900460ff1660ff16145b611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186e90612ed4565b60405180910390fd5b6000858585856040516020016118909493929190612ba2565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060000160149054906101000a900460ff1661190b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190290612d94565b60405180910390fd5b6005600082815260200190815260200160002060010160008360ff1660ff168152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f43c853095c2752648493c88b4baac4d580d2594ffb00c6f1d4242d844514f783858585856040516119ce9493929190612c60565b60405180910390a160036005600083815260200190815260200160002060010160008460ff1660ff1681526020019081526020016000208054905010611a58577fe23f5229de535c091e3b7bec2665f5d698192d3b31393066e8987b7a05076b6c85858585604051611a439493929190612c60565b60405180910390a1611a5785858585611b55565b5b505050505050565b60016020528160005260406000208181548110611a7c57600080fd5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd905dff6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b1857600080fd5b505afa158015611b2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b50919061271d565b905090565b8373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff161415611bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbc90612e94565b60405180910390fd5b601460ff168160ff161480611be05750602860ff168160ff16145b15611cbb576000611bf18386612317565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc2f6eba826040518263ffffffff1660e01b8152600401611c4e9190612d34565b600060405180830381600087803b158015611c6857600080fd5b505af1158015611c7c573d6000803e3d6000fd5b505050507fa2f9ada8c3d9eea5edab1e79dc6e5040ed16765a2a7f15553e12858156142e168585604051611cb1929190612c30565b60405180910390a1505b50505050565b6001611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf990612e14565b60405180910390fd5b600034118015611d1a5750670de0b6b3a76400003411155b611d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5090612db4565b60405180910390fd5b6000611d658383612317565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663412a2dfe828433346040518563ffffffff1660e01b8152600401611dc89493929190612d4f565b600060405180830381600087803b158015611de257600080fd5b505af1158015611df6573d6000803e3d6000fd5b505050507fd9b38454e7329ac7a51e84228a838fea575af31f6647a5a153940e0b6787bd8083833334604051611e2f9493929190612f0f565b60405180910390a1505050565b6000611e4733612360565b9050600081858585604051602001611e629493929190612ba2565b604051602081830303815290604052805190602001209050336005600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016005600083815260200190815260200160002060000160146101000a81548160ff0219169083151502179055507f3ed01f2c3fc24c6b329d931e35b03e390d23497d22b3f90e15b600343e93df1182868686604051611f339493929190612f54565b60405180910390a15050505050565b611f4a6124c6565b611f526124c6565b611f5b83612360565b81600060038110611f95577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff168152505080600060038110611fe0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200201518160016003811061201f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff16815250505b8060006003811061206b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff16816001600381106120ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff161415612114576120c483612360565b816001600381106120fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff1681525050612031565b8060016003811061214e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200201518160026003811061218d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff16815250505b806000600381106121d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff168160026003811061221b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff1614806122b0575080600160038110612264577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff16816002600381106122a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff16145b1561230e576122be83612360565b816002600381106122f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff168152505061219f565b80915050919050565b6000828260405160200161232c929190612b76565b60405160208183030381529060405280519060200120905092915050565b60008183612358919061304a565b905092915050565b600080600a905060008160ff166003601481819054906101000a900460ff168092919061238c90613224565b91906101000a81548160ff021916908360ff16021790555060ff16436123b291906130d5565b40856040516020016123c5929190612b4a565b6040516020818303038152906040528051906020012060001c6123e89190613298565b905060fa600360149054906101000a900460ff1660ff161115612422576000600360146101000a81548160ff021916908360ff1602179055505b8092505050919050565b826003601f016020900481019282156124b55791602002820160005b8382111561248657835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302612448565b80156124b35782816101000a81549060ff0219169055600101602081600001049283019260010302612486565b505b5090506124c291906124e8565b5090565b6040518060600160405280600390602082028036833780820191505090505090565b5b808211156125015760008160009055506001016124e9565b5090565b600061251861251384612fc5565b612fa0565b90508281526020810184848401111561253057600080fd5b61253b848285613168565b509392505050565b60008135905061255281613602565b92915050565b60008151905061256781613619565b92915050565b600082601f83011261257e57600080fd5b813561258e848260208601612505565b91505092915050565b6000813590506125a681613630565b92915050565b6000815190506125bb81613630565b92915050565b6000813590506125d081613647565b92915050565b6000602082840312156125e857600080fd5b60006125f684828501612543565b91505092915050565b60008060006060848603121561261457600080fd5b600061262286828701612543565b935050602084013567ffffffffffffffff81111561263f57600080fd5b61264b8682870161256d565b925050604061265c86828701612597565b9150509250925092565b6000806000806080858703121561267c57600080fd5b600061268a87828801612543565b945050602085013567ffffffffffffffff8111156126a757600080fd5b6126b38782880161256d565b93505060406126c487828801612597565b92505060606126d5878288016125c1565b91505092959194509250565b600080604083850312156126f457600080fd5b600061270285828601612543565b925050602061271385828601612597565b9150509250929050565b60006020828403121561272f57600080fd5b600061273d84828501612558565b91505092915050565b60006020828403121561275857600080fd5b6000612766848285016125ac565b91505092915050565b6000806040838503121561278257600080fd5b600061279085828601612597565b92505060206127a185828601612543565b9150509250929050565b600080600080600060a086880312156127c357600080fd5b60006127d1888289016125c1565b95505060206127e288828901612543565b945050604086013567ffffffffffffffff8111156127ff57600080fd5b61280b8882890161256d565b935050606061281c88828901612597565b925050608061282d888289016125c1565b9150509295509295909350565b60006128468383612b15565b60208301905092915050565b61285b81613109565b82525050565b61287261286d82613109565b61324e565b82525050565b61288181613000565b61288b8184613023565b925061289682612ff6565b8060005b838110156128c75781516128ae878261283a565b96506128b983613016565b92505060018101905061289a565b505050505050565b6128d88161311b565b82525050565b6128e781613127565b82525050565b6128fe6128f982613127565b613260565b82525050565b600061290f8261300b565b612919818561302e565b9350612929818560208601613177565b61293281613356565b840191505092915050565b60006129488261300b565b612952818561303f565b9350612962818560208601613177565b80840191505092915050565b600061297b602f8361302e565b915061298682613381565b604082019050919050565b600061299e60308361302e565b91506129a9826133d0565b604082019050919050565b60006129c1601b8361302e565b91506129cc8261341f565b602082019050919050565b60006129e4601c8361302e565b91506129ef82613448565b602082019050919050565b6000612a0760258361302e565b9150612a1282613471565b604082019050919050565b6000612a2a60168361302e565b9150612a35826134c0565b602082019050919050565b6000612a4d60228361302e565b9150612a58826134e9565b604082019050919050565b6000612a70601d8361302e565b9150612a7b82613538565b602082019050919050565b6000612a93601d8361302e565b9150612a9e82613561565b602082019050919050565b6000612ab6601c8361302e565b9150612ac18261358a565b602082019050919050565b6000612ad960238361302e565b9150612ae4826135b3565b604082019050919050565b612af881613151565b82525050565b612b0f612b0a82613151565b61327c565b82525050565b612b1e8161315b565b82525050565b612b2d8161315b565b82525050565b612b44612b3f8261315b565b613286565b82525050565b6000612b5682856128ed565b602082019150612b668284612861565b6014820191508190509392505050565b6000612b828285612afe565b602082019150612b928284612861565b6014820191508190509392505050565b6000612bae8287612b33565b600182019150612bbe8286612861565b601482019150612bce828561293d565b9150612bda8284612afe565b60208201915081905095945050505050565b6000602082019050612c016000830184612852565b92915050565b6000604082019050612c1c6000830185612852565b612c2960208301846128de565b9392505050565b6000604082019050612c456000830185612852565b8181036020830152612c578184612904565b90509392505050565b6000608082019050612c756000830187612852565b8181036020830152612c878186612904565b9050612c966040830185612aef565b612ca36060830184612b24565b95945050505050565b6000604082019050612cc16000830185612852565b612cce6020830184612aef565b9392505050565b6000606082019050612cea6000830184612878565b92915050565b6000602082019050612d0560008301846128cf565b92915050565b6000604082019050612d2060008301856128cf565b612d2d6020830184612aef565b9392505050565b6000602082019050612d4960008301846128de565b92915050565b6000608082019050612d6460008301876128de565b612d716020830186612852565b612d7e6040830185612852565b612d8b6060830184612aef565b95945050505050565b60006020820190508181036000830152612dad8161296e565b9050919050565b60006020820190508181036000830152612dcd81612991565b9050919050565b60006020820190508181036000830152612ded816129b4565b9050919050565b60006020820190508181036000830152612e0d816129d7565b9050919050565b60006020820190508181036000830152612e2d816129fa565b9050919050565b60006020820190508181036000830152612e4d81612a1d565b9050919050565b60006020820190508181036000830152612e6d81612a40565b9050919050565b60006020820190508181036000830152612e8d81612a63565b9050919050565b60006020820190508181036000830152612ead81612a86565b9050919050565b60006020820190508181036000830152612ecd81612aa9565b9050919050565b60006020820190508181036000830152612eed81612acc565b9050919050565b6000602082019050612f096000830184612aef565b92915050565b6000608082019050612f246000830187612aef565b612f316020830186612852565b612f3e6040830185612852565b612f4b6060830184612aef565b95945050505050565b6000608082019050612f696000830187612b24565b612f766020830186612852565b8181036040830152612f888185612904565b9050612f976060830184612aef565b95945050505050565b6000612faa612fbb565b9050612fb682826131aa565b919050565b6000604051905090565b600067ffffffffffffffff821115612fe057612fdf613327565b5b612fe982613356565b9050602081019050919050565b6000819050919050565b600060039050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061305582613151565b915061306083613151565b9250826130705761306f6132f8565b5b828204905092915050565b600061308682613151565b915061309183613151565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130ca576130c96132c9565b5b828202905092915050565b60006130e082613151565b91506130eb83613151565b9250828210156130fe576130fd6132c9565b5b828203905092915050565b600061311482613131565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561319557808201518184015260208101905061317a565b838111156131a4576000848401525b50505050565b6131b382613356565b810181811067ffffffffffffffff821117156131d2576131d1613327565b5b80604052505050565b60006131e682613151565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613219576132186132c9565b5b600182019050919050565b600061322f8261315b565b915060ff821415613243576132426132c9565b5b600182019050919050565b60006132598261326a565b9050919050565b6000819050919050565b600061327582613374565b9050919050565b6000819050919050565b600061329182613367565b9050919050565b60006132a382613151565b91506132ae83613151565b9250826132be576132bd6132f8565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b60008160601b9050919050565b7f466c69676874206f722074696d657374616d7020646f206e6f74206d6174636860008201527f206f7261636c6520726571756573740000000000000000000000000000000000602082015250565b7f496e737572616e636520616d6f756e742073686f756c6420626520626574776560008201527f656e203020616e64203120657468657200000000000000000000000000000000602082015250565b7f4e6f74207265676973746572656420617320616e206f7261636c650000000000600082015250565b7f466c6967687420697320616c7265616479207265676973746572656400000000600082015250565b7f436f6e74726163742069732063757272656e746c79206e6f74206f706572617460008201527f696f6e616c000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f2062616c616e636520746f20776974686472617700000000000000000000600082015250565b7f4169726c696e652068617320616c7265616479206265656e20766f746564206660008201527f6f72000000000000000000000000000000000000000000000000000000000000602082015250565b7f4169726c696e6520697320616c72656164792072656769737465726564000000600082015250565b7f4169726c696e652061646472657373206d7573742062652076616c6964000000600082015250565b7f526567697374726174696f6e2066656520697320726571756972656400000000600082015250565b7f496e64657820646f6573206e6f74206d61746368206f7261636c65207265717560008201527f6573740000000000000000000000000000000000000000000000000000000000602082015250565b61360b81613109565b811461361657600080fd5b50565b6136228161311b565b811461362d57600080fd5b50565b61363981613151565b811461364457600080fd5b50565b6136508161315b565b811461365b57600080fd5b5056fea264697066735822122015d20f08dc3089140d97c92ef1181f3d31f42178a168fc5fb8576762c2389e7f64736f6c63430008030033","deployedBytecode":"0x6080604052600436106100e85760003560e01c80639ed189271161008a578063cd905dff11610059578063cd905dff146102ba578063e7bdde3b146102e5578063e938880e1461030e578063f83f11c01461032a576100e8565b80639ed1892714610219578063bdfd987714610223578063c10f270014610254578063c829e3ef1461027d576100e8565b80635689b249116100c65780635689b2491461015d5780635c1e6f3f1461019a5780635f1cc0e6146101c357806364b4f751146101ee576100e8565b80630e248a11146100ed578063339d25901461012a578063424e8b0714610134575b600080fd5b3480156100f957600080fd5b50610114600480360381019061010f91906125d6565b610353565b6040516101219190612cf0565b60405180910390f35b610132610407565b005b34801561014057600080fd5b5061015b6004803603810190610156919061276f565b6104f4565b005b34801561016957600080fd5b50610184600480360381019061017f91906125d6565b610651565b6040516101919190612cf0565b60405180910390f35b3480156101a657600080fd5b506101c160048036038101906101bc919061276f565b610705565b005b3480156101cf57600080fd5b506101d8610916565b6040516101e59190612cd5565b60405180910390f35b3480156101fa57600080fd5b50610203610a56565b6040516102109190612ef4565b60405180910390f35b610221610a62565b005b61023d600480360381019061023891906125d6565b610c87565b60405161024b929190612d0b565b60405180910390f35b34801561026057600080fd5b5061027b600480360381019061027691906127ab565b61165f565b005b34801561028957600080fd5b506102a4600480360381019061029f91906126e1565b611a60565b6040516102b19190612bec565b60405180910390f35b3480156102c657600080fd5b506102cf611aae565b6040516102dc9190612cf0565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190612666565b611b55565b005b6103286004803603810190610323919061276f565b611cc1565b005b34801561033657600080fd5b50610351600480360381019061034c91906125ff565b611e3c565b005b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663010c5c97836040518263ffffffff1660e01b81526004016103b09190612bec565b60206040518083038186803b1580156103c857600080fd5b505afa1580156103dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610400919061271d565b9050919050565b670de0b6b3a7640000341015610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990612eb4565b60405180910390fd5b600061045d33611f42565b9050604051806040016040528060011515815260200182815250600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001019060036104ed92919061242c565b5090505050565b60006105008383612317565b90506002600082815260200190815260200160002060000160009054906101000a900460ff1615610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055d90612df4565b60405180910390fd5b6040518060800160405280600115158152602001600060ff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff168152506002600083815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff021916908360ff1602179055506040820151816001015560608201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635689b249836040518263ffffffff1660e01b81526004016106ae9190612bec565b60206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe919061271d565b9050919050565b6001610746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073d90612e14565b60405180910390fd5b60006107528383612317565b90506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791c016a33846040518363ffffffff1660e01b81526004016107b3929190612c07565b60206040518083038186803b1580156107cb57600080fd5b505afa1580156107df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108039190612746565b905060008111610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f90612e34565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166346f8f30433846040518363ffffffff1660e01b81526004016108a5929190612c07565b600060405180830381600087803b1580156108bf57600080fd5b505af11580156108d3573d6000803e3d6000fd5b505050507ffe9067d701ba2a9ca5f956902c52a3056cb785ab32a7655c01189b5a3079822f3382604051610908929190612cac565b60405180910390a150505050565b61091e6124c6565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff166109ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a490612dd4565b60405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600380602002604051908101604052809291908260038015610a4c576020028201916000905b82829054906101000a900460ff1660ff1681526020019060010190602082600001049283019260010382029150808411610a155790505b5050505050905090565b670de0b6b3a764000081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b1837de33346040518363ffffffff1660e01b8152600401610abf929190612cac565b600060405180830381600087803b158015610ad957600080fd5b505af1158015610aed573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635689b249336040518263ffffffff1660e01b8152600401610b4c9190612bec565b60206040518083038186803b158015610b6457600080fd5b505afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c919061271d565b15610c85577fe3e3c2f23f7445131259937f93b9ed0c075fe06c9d702be2d7ac549d0ec5fc3233600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663decebbce336040518263ffffffff1660e01b8152600401610c1e9190612bec565b60206040518083038186803b158015610c3657600080fd5b505afa158015610c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6e9190612746565b604051610c7c929190612cac565b60405180910390a15b565b6000806001610ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc290612e14565b60405180910390fd5b82600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663010c5c97826040518263ffffffff1660e01b8152600401610d279190612bec565b60206040518083038186803b158015610d3f57600080fd5b505afa158015610d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d77919061271d565b15610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae90612e74565b60405180910390fd5b6004600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f77890ea6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2157600080fd5b505afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e599190612746565b101561108257600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877856040518263ffffffff1660e01b8152600401610eba9190612bec565b600060405180830381600087803b158015610ed457600080fd5b505af1158015610ee8573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663010c5c97856040518263ffffffff1660e01b8152600401610f479190612bec565b60206040518083038186803b158015610f5f57600080fd5b505afa158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f97919061271d565b15611075577f4e89f34ef1586aa7cb3ba0fb413cd5678085f191a4442e087cebf2f076f3b0a284600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f77890ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561102657600080fd5b505afa15801561103a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105e9190612746565b60405161106c929190612cac565b60405180910390a15b6001602192509250611659565b6000805b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156111c1573373ffffffffffffffffffffffffffffffffffffffff16600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061115e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111ae57600191506111c1565b80806111b9906131db565b915050611086565b508015611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa90612e54565b60405180910390fd5b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060326113a5600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f77890ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561131057600080fd5b505afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113489190612746565b6064600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611397919061307b565b61234a90919063ffffffff16565b1061160e57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff1660e01b81526004016114059190612bec565b600060405180830381600087803b15801561141f57600080fd5b505af1158015611433573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663010c5c97866040518263ffffffff1660e01b81526004016114929190612bec565b60206040518083038186803b1580156114aa57600080fd5b505afa1580156114be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e2919061271d565b156115c0577f4e89f34ef1586aa7cb3ba0fb413cd5678085f191a4442e087cebf2f076f3b0a285600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f77890ea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561157157600080fd5b505afa158015611585573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a99190612746565b6040516115b7929190612cac565b60405180910390a15b60018060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509350935050611659565b6000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905093509350505b50915091565b8460ff16600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000600381106116de577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602091828204019190069054906101000a900460ff1660ff16148061179857508460ff16600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160016003811061177d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602091828204019190069054906101000a900460ff1660ff16145b8061183857508460ff16600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160026003811061181d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602091828204019190069054906101000a900460ff1660ff16145b611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186e90612ed4565b60405180910390fd5b6000858585856040516020016118909493929190612ba2565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060000160149054906101000a900460ff1661190b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190290612d94565b60405180910390fd5b6005600082815260200190815260200160002060010160008360ff1660ff168152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f43c853095c2752648493c88b4baac4d580d2594ffb00c6f1d4242d844514f783858585856040516119ce9493929190612c60565b60405180910390a160036005600083815260200190815260200160002060010160008460ff1660ff1681526020019081526020016000208054905010611a58577fe23f5229de535c091e3b7bec2665f5d698192d3b31393066e8987b7a05076b6c85858585604051611a439493929190612c60565b60405180910390a1611a5785858585611b55565b5b505050505050565b60016020528160005260406000208181548110611a7c57600080fd5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd905dff6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b1857600080fd5b505afa158015611b2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b50919061271d565b905090565b8373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff161415611bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbc90612e94565b60405180910390fd5b601460ff168160ff161480611be05750602860ff168160ff16145b15611cbb576000611bf18386612317565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc2f6eba826040518263ffffffff1660e01b8152600401611c4e9190612d34565b600060405180830381600087803b158015611c6857600080fd5b505af1158015611c7c573d6000803e3d6000fd5b505050507fa2f9ada8c3d9eea5edab1e79dc6e5040ed16765a2a7f15553e12858156142e168585604051611cb1929190612c30565b60405180910390a1505b50505050565b6001611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf990612e14565b60405180910390fd5b600034118015611d1a5750670de0b6b3a76400003411155b611d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5090612db4565b60405180910390fd5b6000611d658383612317565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663412a2dfe828433346040518563ffffffff1660e01b8152600401611dc89493929190612d4f565b600060405180830381600087803b158015611de257600080fd5b505af1158015611df6573d6000803e3d6000fd5b505050507fd9b38454e7329ac7a51e84228a838fea575af31f6647a5a153940e0b6787bd8083833334604051611e2f9493929190612f0f565b60405180910390a1505050565b6000611e4733612360565b9050600081858585604051602001611e629493929190612ba2565b604051602081830303815290604052805190602001209050336005600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016005600083815260200190815260200160002060000160146101000a81548160ff0219169083151502179055507f3ed01f2c3fc24c6b329d931e35b03e390d23497d22b3f90e15b600343e93df1182868686604051611f339493929190612f54565b60405180910390a15050505050565b611f4a6124c6565b611f526124c6565b611f5b83612360565b81600060038110611f95577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff168152505080600060038110611fe0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200201518160016003811061201f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff16815250505b8060006003811061206b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff16816001600381106120ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff161415612114576120c483612360565b816001600381106120fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff1681525050612031565b8060016003811061214e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200201518160026003811061218d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff16815250505b806000600381106121d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff168160026003811061221b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff1614806122b0575080600160038110612264577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff16816002600381106122a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002015160ff16145b1561230e576122be83612360565b816002600381106122f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002019060ff16908160ff168152505061219f565b80915050919050565b6000828260405160200161232c929190612b76565b60405160208183030381529060405280519060200120905092915050565b60008183612358919061304a565b905092915050565b600080600a905060008160ff166003601481819054906101000a900460ff168092919061238c90613224565b91906101000a81548160ff021916908360ff16021790555060ff16436123b291906130d5565b40856040516020016123c5929190612b4a565b6040516020818303038152906040528051906020012060001c6123e89190613298565b905060fa600360149054906101000a900460ff1660ff161115612422576000600360146101000a81548160ff021916908360ff1602179055505b8092505050919050565b826003601f016020900481019282156124b55791602002820160005b8382111561248657835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302612448565b80156124b35782816101000a81549060ff0219169055600101602081600001049283019260010302612486565b505b5090506124c291906124e8565b5090565b6040518060600160405280600390602082028036833780820191505090505090565b5b808211156125015760008160009055506001016124e9565b5090565b600061251861251384612fc5565b612fa0565b90508281526020810184848401111561253057600080fd5b61253b848285613168565b509392505050565b60008135905061255281613602565b92915050565b60008151905061256781613619565b92915050565b600082601f83011261257e57600080fd5b813561258e848260208601612505565b91505092915050565b6000813590506125a681613630565b92915050565b6000815190506125bb81613630565b92915050565b6000813590506125d081613647565b92915050565b6000602082840312156125e857600080fd5b60006125f684828501612543565b91505092915050565b60008060006060848603121561261457600080fd5b600061262286828701612543565b935050602084013567ffffffffffffffff81111561263f57600080fd5b61264b8682870161256d565b925050604061265c86828701612597565b9150509250925092565b6000806000806080858703121561267c57600080fd5b600061268a87828801612543565b945050602085013567ffffffffffffffff8111156126a757600080fd5b6126b38782880161256d565b93505060406126c487828801612597565b92505060606126d5878288016125c1565b91505092959194509250565b600080604083850312156126f457600080fd5b600061270285828601612543565b925050602061271385828601612597565b9150509250929050565b60006020828403121561272f57600080fd5b600061273d84828501612558565b91505092915050565b60006020828403121561275857600080fd5b6000612766848285016125ac565b91505092915050565b6000806040838503121561278257600080fd5b600061279085828601612597565b92505060206127a185828601612543565b9150509250929050565b600080600080600060a086880312156127c357600080fd5b60006127d1888289016125c1565b95505060206127e288828901612543565b945050604086013567ffffffffffffffff8111156127ff57600080fd5b61280b8882890161256d565b935050606061281c88828901612597565b925050608061282d888289016125c1565b9150509295509295909350565b60006128468383612b15565b60208301905092915050565b61285b81613109565b82525050565b61287261286d82613109565b61324e565b82525050565b61288181613000565b61288b8184613023565b925061289682612ff6565b8060005b838110156128c75781516128ae878261283a565b96506128b983613016565b92505060018101905061289a565b505050505050565b6128d88161311b565b82525050565b6128e781613127565b82525050565b6128fe6128f982613127565b613260565b82525050565b600061290f8261300b565b612919818561302e565b9350612929818560208601613177565b61293281613356565b840191505092915050565b60006129488261300b565b612952818561303f565b9350612962818560208601613177565b80840191505092915050565b600061297b602f8361302e565b915061298682613381565b604082019050919050565b600061299e60308361302e565b91506129a9826133d0565b604082019050919050565b60006129c1601b8361302e565b91506129cc8261341f565b602082019050919050565b60006129e4601c8361302e565b91506129ef82613448565b602082019050919050565b6000612a0760258361302e565b9150612a1282613471565b604082019050919050565b6000612a2a60168361302e565b9150612a35826134c0565b602082019050919050565b6000612a4d60228361302e565b9150612a58826134e9565b604082019050919050565b6000612a70601d8361302e565b9150612a7b82613538565b602082019050919050565b6000612a93601d8361302e565b9150612a9e82613561565b602082019050919050565b6000612ab6601c8361302e565b9150612ac18261358a565b602082019050919050565b6000612ad960238361302e565b9150612ae4826135b3565b604082019050919050565b612af881613151565b82525050565b612b0f612b0a82613151565b61327c565b82525050565b612b1e8161315b565b82525050565b612b2d8161315b565b82525050565b612b44612b3f8261315b565b613286565b82525050565b6000612b5682856128ed565b602082019150612b668284612861565b6014820191508190509392505050565b6000612b828285612afe565b602082019150612b928284612861565b6014820191508190509392505050565b6000612bae8287612b33565b600182019150612bbe8286612861565b601482019150612bce828561293d565b9150612bda8284612afe565b60208201915081905095945050505050565b6000602082019050612c016000830184612852565b92915050565b6000604082019050612c1c6000830185612852565b612c2960208301846128de565b9392505050565b6000604082019050612c456000830185612852565b8181036020830152612c578184612904565b90509392505050565b6000608082019050612c756000830187612852565b8181036020830152612c878186612904565b9050612c966040830185612aef565b612ca36060830184612b24565b95945050505050565b6000604082019050612cc16000830185612852565b612cce6020830184612aef565b9392505050565b6000606082019050612cea6000830184612878565b92915050565b6000602082019050612d0560008301846128cf565b92915050565b6000604082019050612d2060008301856128cf565b612d2d6020830184612aef565b9392505050565b6000602082019050612d4960008301846128de565b92915050565b6000608082019050612d6460008301876128de565b612d716020830186612852565b612d7e6040830185612852565b612d8b6060830184612aef565b95945050505050565b60006020820190508181036000830152612dad8161296e565b9050919050565b60006020820190508181036000830152612dcd81612991565b9050919050565b60006020820190508181036000830152612ded816129b4565b9050919050565b60006020820190508181036000830152612e0d816129d7565b9050919050565b60006020820190508181036000830152612e2d816129fa565b9050919050565b60006020820190508181036000830152612e4d81612a1d565b9050919050565b60006020820190508181036000830152612e6d81612a40565b9050919050565b60006020820190508181036000830152612e8d81612a63565b9050919050565b60006020820190508181036000830152612ead81612a86565b9050919050565b60006020820190508181036000830152612ecd81612aa9565b9050919050565b60006020820190508181036000830152612eed81612acc565b9050919050565b6000602082019050612f096000830184612aef565b92915050565b6000608082019050612f246000830187612aef565b612f316020830186612852565b612f3e6040830185612852565b612f4b6060830184612aef565b95945050505050565b6000608082019050612f696000830187612b24565b612f766020830186612852565b8181036040830152612f888185612904565b9050612f976060830184612aef565b95945050505050565b6000612faa612fbb565b9050612fb682826131aa565b919050565b6000604051905090565b600067ffffffffffffffff821115612fe057612fdf613327565b5b612fe982613356565b9050602081019050919050565b6000819050919050565b600060039050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061305582613151565b915061306083613151565b9250826130705761306f6132f8565b5b828204905092915050565b600061308682613151565b915061309183613151565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130ca576130c96132c9565b5b828202905092915050565b60006130e082613151565b91506130eb83613151565b9250828210156130fe576130fd6132c9565b5b828203905092915050565b600061311482613131565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561319557808201518184015260208101905061317a565b838111156131a4576000848401525b50505050565b6131b382613356565b810181811067ffffffffffffffff821117156131d2576131d1613327565b5b80604052505050565b60006131e682613151565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613219576132186132c9565b5b600182019050919050565b600061322f8261315b565b915060ff821415613243576132426132c9565b5b600182019050919050565b60006132598261326a565b9050919050565b6000819050919050565b600061327582613374565b9050919050565b6000819050919050565b600061329182613367565b9050919050565b60006132a382613151565b91506132ae83613151565b9250826132be576132bd6132f8565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160f81b9050919050565b60008160601b9050919050565b7f466c69676874206f722074696d657374616d7020646f206e6f74206d6174636860008201527f206f7261636c6520726571756573740000000000000000000000000000000000602082015250565b7f496e737572616e636520616d6f756e742073686f756c6420626520626574776560008201527f656e203020616e64203120657468657200000000000000000000000000000000602082015250565b7f4e6f74207265676973746572656420617320616e206f7261636c650000000000600082015250565b7f466c6967687420697320616c7265616479207265676973746572656400000000600082015250565b7f436f6e74726163742069732063757272656e746c79206e6f74206f706572617460008201527f696f6e616c000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f2062616c616e636520746f20776974686472617700000000000000000000600082015250565b7f4169726c696e652068617320616c7265616479206265656e20766f746564206660008201527f6f72000000000000000000000000000000000000000000000000000000000000602082015250565b7f4169726c696e6520697320616c72656164792072656769737465726564000000600082015250565b7f4169726c696e652061646472657373206d7573742062652076616c6964000000600082015250565b7f526567697374726174696f6e2066656520697320726571756972656400000000600082015250565b7f496e64657820646f6573206e6f74206d61746368206f7261636c65207265717560008201527f6573740000000000000000000000000000000000000000000000000000000000602082015250565b61360b81613109565b811461361657600080fd5b50565b6136228161311b565b811461362d57600080fd5b50565b61363981613151565b811461364457600080fd5b50565b6136508161315b565b811461365b57600080fd5b5056fea264697066735822122015d20f08dc3089140d97c92ef1181f3d31f42178a168fc5fb8576762c2389e7f64736f6c63430008030033","immutableReferences":{},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:861:4","statements":[{"body":{"nodeType":"YulBlock","src":"78:88:4","statements":[{"nodeType":"YulAssignment","src":"88:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"103:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"97:5:4"},"nodeType":"YulFunctionCall","src":"97:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"88:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"154:5:4"}],"functionName":{"name":"validator_revert_t_address_payable","nodeType":"YulIdentifier","src":"119:34:4"},"nodeType":"YulFunctionCall","src":"119:41:4"},"nodeType":"YulExpressionStatement","src":"119:41:4"}]},"name":"abi_decode_t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"56:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"64:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"72:5:4","type":""}],"src":"7:159:4"},{"body":{"nodeType":"YulBlock","src":"257:215:4","statements":[{"body":{"nodeType":"YulBlock","src":"303:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"312:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"315:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"305:6:4"},"nodeType":"YulFunctionCall","src":"305:12:4"},"nodeType":"YulExpressionStatement","src":"305:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"278:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"287:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"274:3:4"},"nodeType":"YulFunctionCall","src":"274:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"299:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"270:3:4"},"nodeType":"YulFunctionCall","src":"270:32:4"},"nodeType":"YulIf","src":"267:2:4"},{"nodeType":"YulBlock","src":"329:136:4","statements":[{"nodeType":"YulVariableDeclaration","src":"344:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"358:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"348:6:4","type":""}]},{"nodeType":"YulAssignment","src":"373:82:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"427:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"438:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"423:3:4"},"nodeType":"YulFunctionCall","src":"423:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"447:7:4"}],"functionName":{"name":"abi_decode_t_address_payable_fromMemory","nodeType":"YulIdentifier","src":"383:39:4"},"nodeType":"YulFunctionCall","src":"383:72:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"373:6:4"}]}]}]},"name":"abi_decode_tuple_t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"227:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"238:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"250:6:4","type":""}],"src":"172:300:4"},{"body":{"nodeType":"YulBlock","src":"531:51:4","statements":[{"nodeType":"YulAssignment","src":"541:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"570:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"552:17:4"},"nodeType":"YulFunctionCall","src":"552:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"541:7:4"}]}]},"name":"cleanup_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"513:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"523:7:4","type":""}],"src":"478:104:4"},{"body":{"nodeType":"YulBlock","src":"633:81:4","statements":[{"nodeType":"YulAssignment","src":"643:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"658:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"665:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"654:3:4"},"nodeType":"YulFunctionCall","src":"654:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"643:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"615:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"625:7:4","type":""}],"src":"588:126:4"},{"body":{"nodeType":"YulBlock","src":"771:87:4","statements":[{"body":{"nodeType":"YulBlock","src":"836:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"845:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"848:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"838:6:4"},"nodeType":"YulFunctionCall","src":"838:12:4"},"nodeType":"YulExpressionStatement","src":"838:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"794:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"827:5:4"}],"functionName":{"name":"cleanup_t_address_payable","nodeType":"YulIdentifier","src":"801:25:4"},"nodeType":"YulFunctionCall","src":"801:32:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"791:2:4"},"nodeType":"YulFunctionCall","src":"791:43:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"784:6:4"},"nodeType":"YulFunctionCall","src":"784:51:4"},"nodeType":"YulIf","src":"781:2:4"}]},"name":"validator_revert_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"764:5:4","type":""}],"src":"720:138:4"}]},"contents":"{\\n\\n    function abi_decode_t_address_payable_fromMemory(offset, end) -> value {\\n        value := mload(offset)\\n        validator_revert_t_address_payable(value)\\n    }\\n\\n    function abi_decode_tuple_t_address_payable_fromMemory(headStart, dataEnd) -> value0 {\\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\\n\\n        {\\n\\n            let offset := 0\\n\\n            value0 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\\n        }\\n\\n    }\\n\\n    function cleanup_t_address_payable(value) -> cleaned {\\n        cleaned := cleanup_t_uint160(value)\\n    }\\n\\n    function cleanup_t_uint160(value) -> cleaned {\\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\\n    }\\n\\n    function validator_revert_t_address_payable(value) {\\n        if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\\n    }\\n\\n}\\n","id":4,"language":"Yul","name":"#utility.yul"}],"deployedGeneratedSources":[{"ast":{"nodeType":"YulBlock","src":"0:32020:4","statements":[{"body":{"nodeType":"YulBlock","src":"91:261:4","statements":[{"nodeType":"YulAssignment","src":"101:75:4","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"168:6:4"}],"functionName":{"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulIdentifier","src":"126:41:4"},"nodeType":"YulFunctionCall","src":"126:49:4"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"110:15:4"},"nodeType":"YulFunctionCall","src":"110:66:4"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"101:5:4"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"192:5:4"},{"name":"length","nodeType":"YulIdentifier","src":"199:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"185:6:4"},"nodeType":"YulFunctionCall","src":"185:21:4"},"nodeType":"YulExpressionStatement","src":"185:21:4"},{"nodeType":"YulVariableDeclaration","src":"215:27:4","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"230:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"237:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"226:3:4"},"nodeType":"YulFunctionCall","src":"226:16:4"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"219:3:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"280:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"289:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"292:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"282:6:4"},"nodeType":"YulFunctionCall","src":"282:12:4"},"nodeType":"YulExpressionStatement","src":"282:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"261:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"266:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"257:3:4"},"nodeType":"YulFunctionCall","src":"257:16:4"},{"name":"end","nodeType":"YulIdentifier","src":"275:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"254:2:4"},"nodeType":"YulFunctionCall","src":"254:25:4"},"nodeType":"YulIf","src":"251:2:4"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"329:3:4"},{"name":"dst","nodeType":"YulIdentifier","src":"334:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"339:6:4"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"305:23:4"},"nodeType":"YulFunctionCall","src":"305:41:4"},"nodeType":"YulExpressionStatement","src":"305:41:4"}]},"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"64:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"69:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"77:3:4","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"85:5:4","type":""}],"src":"7:345:4"},{"body":{"nodeType":"YulBlock","src":"410:87:4","statements":[{"nodeType":"YulAssignment","src":"420:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"442:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"429:12:4"},"nodeType":"YulFunctionCall","src":"429:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"420:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"485:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"458:26:4"},"nodeType":"YulFunctionCall","src":"458:33:4"},"nodeType":"YulExpressionStatement","src":"458:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"388:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"396:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"404:5:4","type":""}],"src":"358:139:4"},{"body":{"nodeType":"YulBlock","src":"563:77:4","statements":[{"nodeType":"YulAssignment","src":"573:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"588:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"582:5:4"},"nodeType":"YulFunctionCall","src":"582:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"573:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"628:5:4"}],"functionName":{"name":"validator_revert_t_bool","nodeType":"YulIdentifier","src":"604:23:4"},"nodeType":"YulFunctionCall","src":"604:30:4"},"nodeType":"YulExpressionStatement","src":"604:30:4"}]},"name":"abi_decode_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"541:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"549:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"557:5:4","type":""}],"src":"503:137:4"},{"body":{"nodeType":"YulBlock","src":"722:211:4","statements":[{"body":{"nodeType":"YulBlock","src":"771:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"780:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"783:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"773:6:4"},"nodeType":"YulFunctionCall","src":"773:12:4"},"nodeType":"YulExpressionStatement","src":"773:12:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"750:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"758:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"746:3:4"},"nodeType":"YulFunctionCall","src":"746:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"765:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"742:3:4"},"nodeType":"YulFunctionCall","src":"742:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"735:6:4"},"nodeType":"YulFunctionCall","src":"735:35:4"},"nodeType":"YulIf","src":"732:2:4"},{"nodeType":"YulVariableDeclaration","src":"796:34:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"823:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"810:12:4"},"nodeType":"YulFunctionCall","src":"810:20:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"800:6:4","type":""}]},{"nodeType":"YulAssignment","src":"839:88:4","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"900:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"908:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"896:3:4"},"nodeType":"YulFunctionCall","src":"896:17:4"},{"name":"length","nodeType":"YulIdentifier","src":"915:6:4"},{"name":"end","nodeType":"YulIdentifier","src":"923:3:4"}],"functionName":{"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"848:47:4"},"nodeType":"YulFunctionCall","src":"848:79:4"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"839:5:4"}]}]},"name":"abi_decode_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"700:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"708:3:4","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"716:5:4","type":""}],"src":"660:273:4"},{"body":{"nodeType":"YulBlock","src":"991:87:4","statements":[{"nodeType":"YulAssignment","src":"1001:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1023:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1010:12:4"},"nodeType":"YulFunctionCall","src":"1010:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1001:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1066:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1039:26:4"},"nodeType":"YulFunctionCall","src":"1039:33:4"},"nodeType":"YulExpressionStatement","src":"1039:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"969:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"977:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"985:5:4","type":""}],"src":"939:139:4"},{"body":{"nodeType":"YulBlock","src":"1147:80:4","statements":[{"nodeType":"YulAssignment","src":"1157:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1172:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1166:5:4"},"nodeType":"YulFunctionCall","src":"1166:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1157:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1215:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1188:26:4"},"nodeType":"YulFunctionCall","src":"1188:33:4"},"nodeType":"YulExpressionStatement","src":"1188:33:4"}]},"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1125:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1133:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1141:5:4","type":""}],"src":"1084:143:4"},{"body":{"nodeType":"YulBlock","src":"1283:85:4","statements":[{"nodeType":"YulAssignment","src":"1293:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1315:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1302:12:4"},"nodeType":"YulFunctionCall","src":"1302:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1293:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1356:5:4"}],"functionName":{"name":"validator_revert_t_uint8","nodeType":"YulIdentifier","src":"1331:24:4"},"nodeType":"YulFunctionCall","src":"1331:31:4"},"nodeType":"YulExpressionStatement","src":"1331:31:4"}]},"name":"abi_decode_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1261:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1269:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1277:5:4","type":""}],"src":"1233:135:4"},{"body":{"nodeType":"YulBlock","src":"1440:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"1486:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1495:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1498:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1488:6:4"},"nodeType":"YulFunctionCall","src":"1488:12:4"},"nodeType":"YulExpressionStatement","src":"1488:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1461:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1470:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1457:3:4"},"nodeType":"YulFunctionCall","src":"1457:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1482:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1453:3:4"},"nodeType":"YulFunctionCall","src":"1453:32:4"},"nodeType":"YulIf","src":"1450:2:4"},{"nodeType":"YulBlock","src":"1512:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1527:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1541:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1531:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1556:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1591:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1602:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1587:3:4"},"nodeType":"YulFunctionCall","src":"1587:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1611:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1566:20:4"},"nodeType":"YulFunctionCall","src":"1566:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1556:6:4"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1410:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1421:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1433:6:4","type":""}],"src":"1374:262:4"},{"body":{"nodeType":"YulBlock","src":"1752:555:4","statements":[{"body":{"nodeType":"YulBlock","src":"1798:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1807:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1810:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1800:6:4"},"nodeType":"YulFunctionCall","src":"1800:12:4"},"nodeType":"YulExpressionStatement","src":"1800:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1773:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1782:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1769:3:4"},"nodeType":"YulFunctionCall","src":"1769:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1794:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1765:3:4"},"nodeType":"YulFunctionCall","src":"1765:32:4"},"nodeType":"YulIf","src":"1762:2:4"},{"nodeType":"YulBlock","src":"1824:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1839:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1853:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1843:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1868:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1903:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1914:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1899:3:4"},"nodeType":"YulFunctionCall","src":"1899:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1923:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1878:20:4"},"nodeType":"YulFunctionCall","src":"1878:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1868:6:4"}]}]},{"nodeType":"YulBlock","src":"1951:221:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1966:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1997:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"2008:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1993:3:4"},"nodeType":"YulFunctionCall","src":"1993:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1980:12:4"},"nodeType":"YulFunctionCall","src":"1980:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1970:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"2059:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2068:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2071:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2061:6:4"},"nodeType":"YulFunctionCall","src":"2061:12:4"},"nodeType":"YulExpressionStatement","src":"2061:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2031:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"2039:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2028:2:4"},"nodeType":"YulFunctionCall","src":"2028:30:4"},"nodeType":"YulIf","src":"2025:2:4"},{"nodeType":"YulAssignment","src":"2089:73:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2134:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2145:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2130:3:4"},"nodeType":"YulFunctionCall","src":"2130:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2154:7:4"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"2099:30:4"},"nodeType":"YulFunctionCall","src":"2099:63:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2089:6:4"}]}]},{"nodeType":"YulBlock","src":"2182:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2197:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2211:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2201:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2227:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2262:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2273:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2258:3:4"},"nodeType":"YulFunctionCall","src":"2258:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2282:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2237:20:4"},"nodeType":"YulFunctionCall","src":"2237:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2227:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_string_memory_ptrt_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1706:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1717:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1729:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1737:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1745:6:4","type":""}],"src":"1642:665:4"},{"body":{"nodeType":"YulBlock","src":"2438:682:4","statements":[{"body":{"nodeType":"YulBlock","src":"2485:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2494:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2497:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2487:6:4"},"nodeType":"YulFunctionCall","src":"2487:12:4"},"nodeType":"YulExpressionStatement","src":"2487:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2459:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"2468:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2455:3:4"},"nodeType":"YulFunctionCall","src":"2455:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"2480:3:4","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2451:3:4"},"nodeType":"YulFunctionCall","src":"2451:33:4"},"nodeType":"YulIf","src":"2448:2:4"},{"nodeType":"YulBlock","src":"2511:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2526:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2540:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2530:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2555:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2590:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2601:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:4"},"nodeType":"YulFunctionCall","src":"2586:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2610:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"2565:20:4"},"nodeType":"YulFunctionCall","src":"2565:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2555:6:4"}]}]},{"nodeType":"YulBlock","src":"2638:221:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2653:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2684:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"2695:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2680:3:4"},"nodeType":"YulFunctionCall","src":"2680:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2667:12:4"},"nodeType":"YulFunctionCall","src":"2667:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2657:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"2746:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2755:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2758:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2748:6:4"},"nodeType":"YulFunctionCall","src":"2748:12:4"},"nodeType":"YulExpressionStatement","src":"2748:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2718:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"2726:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2715:2:4"},"nodeType":"YulFunctionCall","src":"2715:30:4"},"nodeType":"YulIf","src":"2712:2:4"},{"nodeType":"YulAssignment","src":"2776:73:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2821:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2832:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2817:3:4"},"nodeType":"YulFunctionCall","src":"2817:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2841:7:4"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"2786:30:4"},"nodeType":"YulFunctionCall","src":"2786:63:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2776:6:4"}]}]},{"nodeType":"YulBlock","src":"2869:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2884:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2898:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2888:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2914:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2949:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2960:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2945:3:4"},"nodeType":"YulFunctionCall","src":"2945:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2969:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2924:20:4"},"nodeType":"YulFunctionCall","src":"2924:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2914:6:4"}]}]},{"nodeType":"YulBlock","src":"2997:116:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3012:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3026:2:4","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3016:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3042:61:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3075:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3086:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3071:3:4"},"nodeType":"YulFunctionCall","src":"3071:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3095:7:4"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"3052:18:4"},"nodeType":"YulFunctionCall","src":"3052:51:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3042:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2384:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2395:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2407:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2415:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2423:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2431:6:4","type":""}],"src":"2313:807:4"},{"body":{"nodeType":"YulBlock","src":"3209:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"3255:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3264:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3267:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3257:6:4"},"nodeType":"YulFunctionCall","src":"3257:12:4"},"nodeType":"YulExpressionStatement","src":"3257:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3230:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3239:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3226:3:4"},"nodeType":"YulFunctionCall","src":"3226:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"3251:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3222:3:4"},"nodeType":"YulFunctionCall","src":"3222:32:4"},"nodeType":"YulIf","src":"3219:2:4"},{"nodeType":"YulBlock","src":"3281:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3296:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3310:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3300:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3325:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3360:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3371:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3356:3:4"},"nodeType":"YulFunctionCall","src":"3356:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3380:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"3335:20:4"},"nodeType":"YulFunctionCall","src":"3335:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3325:6:4"}]}]},{"nodeType":"YulBlock","src":"3408:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3423:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3437:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3427:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3453:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3488:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3499:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3484:3:4"},"nodeType":"YulFunctionCall","src":"3484:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3508:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"3463:20:4"},"nodeType":"YulFunctionCall","src":"3463:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3453:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3171:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3182:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3194:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3202:6:4","type":""}],"src":"3126:407:4"},{"body":{"nodeType":"YulBlock","src":"3613:204:4","statements":[{"body":{"nodeType":"YulBlock","src":"3659:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3668:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3671:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3661:6:4"},"nodeType":"YulFunctionCall","src":"3661:12:4"},"nodeType":"YulExpressionStatement","src":"3661:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3634:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3643:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3630:3:4"},"nodeType":"YulFunctionCall","src":"3630:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"3655:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3626:3:4"},"nodeType":"YulFunctionCall","src":"3626:32:4"},"nodeType":"YulIf","src":"3623:2:4"},{"nodeType":"YulBlock","src":"3685:125:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3700:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3714:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3704:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3729:71:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3772:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3783:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3768:3:4"},"nodeType":"YulFunctionCall","src":"3768:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3792:7:4"}],"functionName":{"name":"abi_decode_t_bool_fromMemory","nodeType":"YulIdentifier","src":"3739:28:4"},"nodeType":"YulFunctionCall","src":"3739:61:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3729:6:4"}]}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3583:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3594:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3606:6:4","type":""}],"src":"3539:278:4"},{"body":{"nodeType":"YulBlock","src":"3900:207:4","statements":[{"body":{"nodeType":"YulBlock","src":"3946:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3955:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3958:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3948:6:4"},"nodeType":"YulFunctionCall","src":"3948:12:4"},"nodeType":"YulExpressionStatement","src":"3948:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3921:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3930:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3917:3:4"},"nodeType":"YulFunctionCall","src":"3917:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"3942:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3913:3:4"},"nodeType":"YulFunctionCall","src":"3913:32:4"},"nodeType":"YulIf","src":"3910:2:4"},{"nodeType":"YulBlock","src":"3972:128:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3987:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4001:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3991:6:4","type":""}]},{"nodeType":"YulAssignment","src":"4016:74:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4062:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4073:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4058:3:4"},"nodeType":"YulFunctionCall","src":"4058:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4082:7:4"}],"functionName":{"name":"abi_decode_t_uint256_fromMemory","nodeType":"YulIdentifier","src":"4026:31:4"},"nodeType":"YulFunctionCall","src":"4026:64:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4016:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3870:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3881:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3893:6:4","type":""}],"src":"3823:284:4"},{"body":{"nodeType":"YulBlock","src":"4196:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"4242:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4251:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4254:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4244:6:4"},"nodeType":"YulFunctionCall","src":"4244:12:4"},"nodeType":"YulExpressionStatement","src":"4244:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4217:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4226:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4213:3:4"},"nodeType":"YulFunctionCall","src":"4213:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"4238:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4209:3:4"},"nodeType":"YulFunctionCall","src":"4209:32:4"},"nodeType":"YulIf","src":"4206:2:4"},{"nodeType":"YulBlock","src":"4268:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4283:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4297:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4287:6:4","type":""}]},{"nodeType":"YulAssignment","src":"4312:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4347:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4358:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4343:3:4"},"nodeType":"YulFunctionCall","src":"4343:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4367:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"4322:20:4"},"nodeType":"YulFunctionCall","src":"4322:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4312:6:4"}]}]},{"nodeType":"YulBlock","src":"4395:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4410:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4424:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4414:6:4","type":""}]},{"nodeType":"YulAssignment","src":"4440:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4475:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4486:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4471:3:4"},"nodeType":"YulFunctionCall","src":"4471:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4495:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"4450:20:4"},"nodeType":"YulFunctionCall","src":"4450:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4440:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4158:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4169:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4181:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4189:6:4","type":""}],"src":"4113:407:4"},{"body":{"nodeType":"YulBlock","src":"4666:809:4","statements":[{"body":{"nodeType":"YulBlock","src":"4713:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4722:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4725:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4715:6:4"},"nodeType":"YulFunctionCall","src":"4715:12:4"},"nodeType":"YulExpressionStatement","src":"4715:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4687:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4696:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4683:3:4"},"nodeType":"YulFunctionCall","src":"4683:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"4708:3:4","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4679:3:4"},"nodeType":"YulFunctionCall","src":"4679:33:4"},"nodeType":"YulIf","src":"4676:2:4"},{"nodeType":"YulBlock","src":"4739:115:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4754:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4768:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4758:6:4","type":""}]},{"nodeType":"YulAssignment","src":"4783:61:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4816:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4827:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4812:3:4"},"nodeType":"YulFunctionCall","src":"4812:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4836:7:4"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"4793:18:4"},"nodeType":"YulFunctionCall","src":"4793:51:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4783:6:4"}]}]},{"nodeType":"YulBlock","src":"4864:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4879:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4893:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4883:6:4","type":""}]},{"nodeType":"YulAssignment","src":"4909:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4944:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4955:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4940:3:4"},"nodeType":"YulFunctionCall","src":"4940:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4964:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"4919:20:4"},"nodeType":"YulFunctionCall","src":"4919:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4909:6:4"}]}]},{"nodeType":"YulBlock","src":"4992:221:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5007:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5038:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5049:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5034:3:4"},"nodeType":"YulFunctionCall","src":"5034:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5021:12:4"},"nodeType":"YulFunctionCall","src":"5021:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5011:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5100:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5109:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5112:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5102:6:4"},"nodeType":"YulFunctionCall","src":"5102:12:4"},"nodeType":"YulExpressionStatement","src":"5102:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5072:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5080:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5069:2:4"},"nodeType":"YulFunctionCall","src":"5069:30:4"},"nodeType":"YulIf","src":"5066:2:4"},{"nodeType":"YulAssignment","src":"5130:73:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5175:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5186:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5171:3:4"},"nodeType":"YulFunctionCall","src":"5171:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5195:7:4"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"5140:30:4"},"nodeType":"YulFunctionCall","src":"5140:63:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5130:6:4"}]}]},{"nodeType":"YulBlock","src":"5223:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5238:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"5252:2:4","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5242:6:4","type":""}]},{"nodeType":"YulAssignment","src":"5268:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5303:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5314:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5299:3:4"},"nodeType":"YulFunctionCall","src":"5299:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5323:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"5278:20:4"},"nodeType":"YulFunctionCall","src":"5278:53:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5268:6:4"}]}]},{"nodeType":"YulBlock","src":"5351:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5366:17:4","value":{"kind":"number","nodeType":"YulLiteral","src":"5380:3:4","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5370:6:4","type":""}]},{"nodeType":"YulAssignment","src":"5397:61:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5430:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5441:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5426:3:4"},"nodeType":"YulFunctionCall","src":"5426:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5450:7:4"}],"functionName":{"name":"abi_decode_t_uint8","nodeType":"YulIdentifier","src":"5407:18:4"},"nodeType":"YulFunctionCall","src":"5407:51:4"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"5397:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint8t_addresst_string_memory_ptrt_uint256t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4604:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4615:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4627:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4635:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4643:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4651:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4659:6:4","type":""}],"src":"4526:949:4"},{"body":{"nodeType":"YulBlock","src":"5557:95:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5597:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"5605:3:4"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"5567:29:4"},"nodeType":"YulFunctionCall","src":"5567:42:4"},"nodeType":"YulExpressionStatement","src":"5567:42:4"},{"nodeType":"YulAssignment","src":"5618:28:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5636:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"5641:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5632:3:4"},"nodeType":"YulFunctionCall","src":"5632:14:4"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"5618:10:4"}]}]},"name":"abi_encodeUpdatedPos_t_uint8_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"5530:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5538:3:4","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"5546:10:4","type":""}],"src":"5481:171:4"},{"body":{"nodeType":"YulBlock","src":"5723:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5740:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5763:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"5745:17:4"},"nodeType":"YulFunctionCall","src":"5745:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5733:6:4"},"nodeType":"YulFunctionCall","src":"5733:37:4"},"nodeType":"YulExpressionStatement","src":"5733:37:4"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5711:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5718:3:4","type":""}],"src":"5658:118:4"},{"body":{"nodeType":"YulBlock","src":"5865:74:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5882:3:4"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5925:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"5907:17:4"},"nodeType":"YulFunctionCall","src":"5907:24:4"}],"functionName":{"name":"leftAlign_t_address","nodeType":"YulIdentifier","src":"5887:19:4"},"nodeType":"YulFunctionCall","src":"5887:45:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5875:6:4"},"nodeType":"YulFunctionCall","src":"5875:58:4"},"nodeType":"YulExpressionStatement","src":"5875:58:4"}]},"name":"abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5853:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5860:3:4","type":""}],"src":"5782:157:4"},{"body":{"nodeType":"YulBlock","src":"6081:570:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6091:64:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6149:5:4"}],"functionName":{"name":"array_length_t_array$_t_uint8_$3_memory_ptr","nodeType":"YulIdentifier","src":"6105:43:4"},"nodeType":"YulFunctionCall","src":"6105:50:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6095:6:4","type":""}]},{"nodeType":"YulAssignment","src":"6164:89:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6241:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"6246:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_uint8_$3_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6171:69:4"},"nodeType":"YulFunctionCall","src":"6171:82:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6164:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"6262:67:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6323:5:4"}],"functionName":{"name":"array_dataslot_t_array$_t_uint8_$3_memory_ptr","nodeType":"YulIdentifier","src":"6277:45:4"},"nodeType":"YulFunctionCall","src":"6277:52:4"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"6266:7:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6338:21:4","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"6352:7:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6342:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6428:216:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6442:34:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6469:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6463:5:4"},"nodeType":"YulFunctionCall","src":"6463:13:4"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"6446:13:4","type":""}]},{"nodeType":"YulAssignment","src":"6489:66:4","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"6536:13:4"},{"name":"pos","nodeType":"YulIdentifier","src":"6551:3:4"}],"functionName":{"name":"abi_encodeUpdatedPos_t_uint8_to_t_uint8","nodeType":"YulIdentifier","src":"6496:39:4"},"nodeType":"YulFunctionCall","src":"6496:59:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6489:3:4"}]},{"nodeType":"YulAssignment","src":"6568:66:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6627:6:4"}],"functionName":{"name":"array_nextElement_t_array$_t_uint8_$3_memory_ptr","nodeType":"YulIdentifier","src":"6578:48:4"},"nodeType":"YulFunctionCall","src":"6578:56:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6568:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6390:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"6393:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6387:2:4"},"nodeType":"YulFunctionCall","src":"6387:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6401:18:4","statements":[{"nodeType":"YulAssignment","src":"6403:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6412:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"6415:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6408:3:4"},"nodeType":"YulFunctionCall","src":"6408:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6403:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"6372:14:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6374:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"6383:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6378:1:4","type":""}]}]},"src":"6368:276:4"}]},"name":"abi_encode_t_array$_t_uint8_$3_memory_ptr_to_t_array$_t_uint8_$3_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6068:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6075:3:4","type":""}],"src":"5973:678:4"},{"body":{"nodeType":"YulBlock","src":"6716:50:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6733:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6753:5:4"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"6738:14:4"},"nodeType":"YulFunctionCall","src":"6738:21:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6726:6:4"},"nodeType":"YulFunctionCall","src":"6726:34:4"},"nodeType":"YulExpressionStatement","src":"6726:34:4"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6704:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6711:3:4","type":""}],"src":"6657:109:4"},{"body":{"nodeType":"YulBlock","src":"6837:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6854:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6877:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"6859:17:4"},"nodeType":"YulFunctionCall","src":"6859:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6847:6:4"},"nodeType":"YulFunctionCall","src":"6847:37:4"},"nodeType":"YulExpressionStatement","src":"6847:37:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6825:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6832:3:4","type":""}],"src":"6772:118:4"},{"body":{"nodeType":"YulBlock","src":"6979:74:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6996:3:4"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7039:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"7021:17:4"},"nodeType":"YulFunctionCall","src":"7021:24:4"}],"functionName":{"name":"leftAlign_t_bytes32","nodeType":"YulIdentifier","src":"7001:19:4"},"nodeType":"YulFunctionCall","src":"7001:45:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6989:6:4"},"nodeType":"YulFunctionCall","src":"6989:58:4"},"nodeType":"YulExpressionStatement","src":"6989:58:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6967:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6974:3:4","type":""}],"src":"6896:157:4"},{"body":{"nodeType":"YulBlock","src":"7151:272:4","statements":[{"nodeType":"YulVariableDeclaration","src":"7161:53:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7208:5:4"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"7175:32:4"},"nodeType":"YulFunctionCall","src":"7175:39:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7165:6:4","type":""}]},{"nodeType":"YulAssignment","src":"7223:78:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7289:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"7294:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7230:58:4"},"nodeType":"YulFunctionCall","src":"7230:71:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7223:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7336:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"7343:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7332:3:4"},"nodeType":"YulFunctionCall","src":"7332:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"7350:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"7355:6:4"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"7310:21:4"},"nodeType":"YulFunctionCall","src":"7310:52:4"},"nodeType":"YulExpressionStatement","src":"7310:52:4"},{"nodeType":"YulAssignment","src":"7371:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7382:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7409:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"7387:21:4"},"nodeType":"YulFunctionCall","src":"7387:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7378:3:4"},"nodeType":"YulFunctionCall","src":"7378:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7371:3:4"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7132:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7139:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7147:3:4","type":""}],"src":"7059:364:4"},{"body":{"nodeType":"YulBlock","src":"7539:267:4","statements":[{"nodeType":"YulVariableDeclaration","src":"7549:53:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7596:5:4"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"7563:32:4"},"nodeType":"YulFunctionCall","src":"7563:39:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7553:6:4","type":""}]},{"nodeType":"YulAssignment","src":"7611:96:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7695:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"7700:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"7618:76:4"},"nodeType":"YulFunctionCall","src":"7618:89:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7611:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7742:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"7749:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7738:3:4"},"nodeType":"YulFunctionCall","src":"7738:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"7756:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"7761:6:4"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"7716:21:4"},"nodeType":"YulFunctionCall","src":"7716:52:4"},"nodeType":"YulExpressionStatement","src":"7716:52:4"},{"nodeType":"YulAssignment","src":"7777:23:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7788:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"7793:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7784:3:4"},"nodeType":"YulFunctionCall","src":"7784:16:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7777:3:4"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7520:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7527:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7535:3:4","type":""}],"src":"7429:377:4"},{"body":{"nodeType":"YulBlock","src":"7958:220:4","statements":[{"nodeType":"YulAssignment","src":"7968:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8034:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"8039:2:4","type":"","value":"47"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7975:58:4"},"nodeType":"YulFunctionCall","src":"7975:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7968:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8140:3:4"}],"functionName":{"name":"store_literal_in_memory_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","nodeType":"YulIdentifier","src":"8051:88:4"},"nodeType":"YulFunctionCall","src":"8051:93:4"},"nodeType":"YulExpressionStatement","src":"8051:93:4"},{"nodeType":"YulAssignment","src":"8153:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8164:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"8169:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8160:3:4"},"nodeType":"YulFunctionCall","src":"8160:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8153:3:4"}]}]},"name":"abi_encode_t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7946:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7954:3:4","type":""}],"src":"7812:366:4"},{"body":{"nodeType":"YulBlock","src":"8330:220:4","statements":[{"nodeType":"YulAssignment","src":"8340:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8406:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"8411:2:4","type":"","value":"48"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8347:58:4"},"nodeType":"YulFunctionCall","src":"8347:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8340:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8512:3:4"}],"functionName":{"name":"store_literal_in_memory_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613","nodeType":"YulIdentifier","src":"8423:88:4"},"nodeType":"YulFunctionCall","src":"8423:93:4"},"nodeType":"YulExpressionStatement","src":"8423:93:4"},{"nodeType":"YulAssignment","src":"8525:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8536:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"8541:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8532:3:4"},"nodeType":"YulFunctionCall","src":"8532:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8525:3:4"}]}]},"name":"abi_encode_t_stringliteral_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8318:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8326:3:4","type":""}],"src":"8184:366:4"},{"body":{"nodeType":"YulBlock","src":"8702:220:4","statements":[{"nodeType":"YulAssignment","src":"8712:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8778:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"8783:2:4","type":"","value":"27"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8719:58:4"},"nodeType":"YulFunctionCall","src":"8719:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8712:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8884:3:4"}],"functionName":{"name":"store_literal_in_memory_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","nodeType":"YulIdentifier","src":"8795:88:4"},"nodeType":"YulFunctionCall","src":"8795:93:4"},"nodeType":"YulExpressionStatement","src":"8795:93:4"},{"nodeType":"YulAssignment","src":"8897:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8908:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"8913:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8904:3:4"},"nodeType":"YulFunctionCall","src":"8904:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8897:3:4"}]}]},"name":"abi_encode_t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8690:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8698:3:4","type":""}],"src":"8556:366:4"},{"body":{"nodeType":"YulBlock","src":"9074:220:4","statements":[{"nodeType":"YulAssignment","src":"9084:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9150:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"9155:2:4","type":"","value":"28"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9091:58:4"},"nodeType":"YulFunctionCall","src":"9091:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9084:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9256:3:4"}],"functionName":{"name":"store_literal_in_memory_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc","nodeType":"YulIdentifier","src":"9167:88:4"},"nodeType":"YulFunctionCall","src":"9167:93:4"},"nodeType":"YulExpressionStatement","src":"9167:93:4"},{"nodeType":"YulAssignment","src":"9269:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9280:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"9285:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9276:3:4"},"nodeType":"YulFunctionCall","src":"9276:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9269:3:4"}]}]},"name":"abi_encode_t_stringliteral_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9062:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9070:3:4","type":""}],"src":"8928:366:4"},{"body":{"nodeType":"YulBlock","src":"9446:220:4","statements":[{"nodeType":"YulAssignment","src":"9456:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9522:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"9527:2:4","type":"","value":"37"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9463:58:4"},"nodeType":"YulFunctionCall","src":"9463:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9456:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9628:3:4"}],"functionName":{"name":"store_literal_in_memory_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","nodeType":"YulIdentifier","src":"9539:88:4"},"nodeType":"YulFunctionCall","src":"9539:93:4"},"nodeType":"YulExpressionStatement","src":"9539:93:4"},{"nodeType":"YulAssignment","src":"9641:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9652:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"9657:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9648:3:4"},"nodeType":"YulFunctionCall","src":"9648:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9641:3:4"}]}]},"name":"abi_encode_t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9434:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9442:3:4","type":""}],"src":"9300:366:4"},{"body":{"nodeType":"YulBlock","src":"9818:220:4","statements":[{"nodeType":"YulAssignment","src":"9828:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9894:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"9899:2:4","type":"","value":"22"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9835:58:4"},"nodeType":"YulFunctionCall","src":"9835:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9828:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10000:3:4"}],"functionName":{"name":"store_literal_in_memory_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5","nodeType":"YulIdentifier","src":"9911:88:4"},"nodeType":"YulFunctionCall","src":"9911:93:4"},"nodeType":"YulExpressionStatement","src":"9911:93:4"},{"nodeType":"YulAssignment","src":"10013:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10024:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10029:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10020:3:4"},"nodeType":"YulFunctionCall","src":"10020:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10013:3:4"}]}]},"name":"abi_encode_t_stringliteral_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9806:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9814:3:4","type":""}],"src":"9672:366:4"},{"body":{"nodeType":"YulBlock","src":"10190:220:4","statements":[{"nodeType":"YulAssignment","src":"10200:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10266:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10271:2:4","type":"","value":"34"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10207:58:4"},"nodeType":"YulFunctionCall","src":"10207:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10200:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10372:3:4"}],"functionName":{"name":"store_literal_in_memory_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582","nodeType":"YulIdentifier","src":"10283:88:4"},"nodeType":"YulFunctionCall","src":"10283:93:4"},"nodeType":"YulExpressionStatement","src":"10283:93:4"},{"nodeType":"YulAssignment","src":"10385:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10396:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10401:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10392:3:4"},"nodeType":"YulFunctionCall","src":"10392:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10385:3:4"}]}]},"name":"abi_encode_t_stringliteral_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10178:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10186:3:4","type":""}],"src":"10044:366:4"},{"body":{"nodeType":"YulBlock","src":"10562:220:4","statements":[{"nodeType":"YulAssignment","src":"10572:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10638:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10643:2:4","type":"","value":"29"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10579:58:4"},"nodeType":"YulFunctionCall","src":"10579:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10572:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10744:3:4"}],"functionName":{"name":"store_literal_in_memory_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7","nodeType":"YulIdentifier","src":"10655:88:4"},"nodeType":"YulFunctionCall","src":"10655:93:4"},"nodeType":"YulExpressionStatement","src":"10655:93:4"},{"nodeType":"YulAssignment","src":"10757:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10768:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10773:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10764:3:4"},"nodeType":"YulFunctionCall","src":"10764:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10757:3:4"}]}]},"name":"abi_encode_t_stringliteral_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10550:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10558:3:4","type":""}],"src":"10416:366:4"},{"body":{"nodeType":"YulBlock","src":"10934:220:4","statements":[{"nodeType":"YulAssignment","src":"10944:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11010:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11015:2:4","type":"","value":"29"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10951:58:4"},"nodeType":"YulFunctionCall","src":"10951:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10944:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11116:3:4"}],"functionName":{"name":"store_literal_in_memory_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108","nodeType":"YulIdentifier","src":"11027:88:4"},"nodeType":"YulFunctionCall","src":"11027:93:4"},"nodeType":"YulExpressionStatement","src":"11027:93:4"},{"nodeType":"YulAssignment","src":"11129:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11140:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11145:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11136:3:4"},"nodeType":"YulFunctionCall","src":"11136:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11129:3:4"}]}]},"name":"abi_encode_t_stringliteral_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10922:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10930:3:4","type":""}],"src":"10788:366:4"},{"body":{"nodeType":"YulBlock","src":"11306:220:4","statements":[{"nodeType":"YulAssignment","src":"11316:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11382:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11387:2:4","type":"","value":"28"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11323:58:4"},"nodeType":"YulFunctionCall","src":"11323:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11316:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11488:3:4"}],"functionName":{"name":"store_literal_in_memory_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","nodeType":"YulIdentifier","src":"11399:88:4"},"nodeType":"YulFunctionCall","src":"11399:93:4"},"nodeType":"YulExpressionStatement","src":"11399:93:4"},{"nodeType":"YulAssignment","src":"11501:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11512:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11517:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11508:3:4"},"nodeType":"YulFunctionCall","src":"11508:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11501:3:4"}]}]},"name":"abi_encode_t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"11294:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"11302:3:4","type":""}],"src":"11160:366:4"},{"body":{"nodeType":"YulBlock","src":"11678:220:4","statements":[{"nodeType":"YulAssignment","src":"11688:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11754:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11759:2:4","type":"","value":"35"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11695:58:4"},"nodeType":"YulFunctionCall","src":"11695:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11688:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11860:3:4"}],"functionName":{"name":"store_literal_in_memory_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","nodeType":"YulIdentifier","src":"11771:88:4"},"nodeType":"YulFunctionCall","src":"11771:93:4"},"nodeType":"YulExpressionStatement","src":"11771:93:4"},{"nodeType":"YulAssignment","src":"11873:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11884:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"11889:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11880:3:4"},"nodeType":"YulFunctionCall","src":"11880:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11873:3:4"}]}]},"name":"abi_encode_t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"11666:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"11674:3:4","type":""}],"src":"11532:366:4"},{"body":{"nodeType":"YulBlock","src":"11969:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11986:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12009:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"11991:17:4"},"nodeType":"YulFunctionCall","src":"11991:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11979:6:4"},"nodeType":"YulFunctionCall","src":"11979:37:4"},"nodeType":"YulExpressionStatement","src":"11979:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"11957:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"11964:3:4","type":""}],"src":"11904:118:4"},{"body":{"nodeType":"YulBlock","src":"12111:74:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12128:3:4"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12171:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"12153:17:4"},"nodeType":"YulFunctionCall","src":"12153:24:4"}],"functionName":{"name":"leftAlign_t_uint256","nodeType":"YulIdentifier","src":"12133:19:4"},"nodeType":"YulFunctionCall","src":"12133:45:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12121:6:4"},"nodeType":"YulFunctionCall","src":"12121:58:4"},"nodeType":"YulExpressionStatement","src":"12121:58:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12099:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12106:3:4","type":""}],"src":"12028:157:4"},{"body":{"nodeType":"YulBlock","src":"12242:51:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12259:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12280:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"12264:15:4"},"nodeType":"YulFunctionCall","src":"12264:22:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12252:6:4"},"nodeType":"YulFunctionCall","src":"12252:35:4"},"nodeType":"YulExpressionStatement","src":"12252:35:4"}]},"name":"abi_encode_t_uint8_to_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12230:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12237:3:4","type":""}],"src":"12191:102:4"},{"body":{"nodeType":"YulBlock","src":"12360:51:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12377:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12398:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"12382:15:4"},"nodeType":"YulFunctionCall","src":"12382:22:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12370:6:4"},"nodeType":"YulFunctionCall","src":"12370:35:4"},"nodeType":"YulExpressionStatement","src":"12370:35:4"}]},"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12348:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12355:3:4","type":""}],"src":"12299:112:4"},{"body":{"nodeType":"YulBlock","src":"12496:70:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12513:3:4"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12552:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"12536:15:4"},"nodeType":"YulFunctionCall","src":"12536:22:4"}],"functionName":{"name":"leftAlign_t_uint8","nodeType":"YulIdentifier","src":"12518:17:4"},"nodeType":"YulFunctionCall","src":"12518:41:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12506:6:4"},"nodeType":"YulFunctionCall","src":"12506:54:4"},"nodeType":"YulExpressionStatement","src":"12506:54:4"}]},"name":"abi_encode_t_uint8_to_t_uint8_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12484:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"12491:3:4","type":""}],"src":"12417:149:4"},{"body":{"nodeType":"YulBlock","src":"12716:253:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12789:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"12798:3:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"12727:61:4"},"nodeType":"YulFunctionCall","src":"12727:75:4"},"nodeType":"YulExpressionStatement","src":"12727:75:4"},{"nodeType":"YulAssignment","src":"12811:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12822:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12827:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12818:3:4"},"nodeType":"YulFunctionCall","src":"12818:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12811:3:4"}]},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"12902:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"12911:3:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"12840:61:4"},"nodeType":"YulFunctionCall","src":"12840:75:4"},"nodeType":"YulExpressionStatement","src":"12840:75:4"},{"nodeType":"YulAssignment","src":"12924:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12935:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"12940:2:4","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12931:3:4"},"nodeType":"YulFunctionCall","src":"12931:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12924:3:4"}]},{"nodeType":"YulAssignment","src":"12953:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"12960:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12953:3:4"}]}]},"name":"abi_encode_tuple_packed_t_bytes32_t_address__to_t_bytes32_t_address__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"12687:3:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12693:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12701:6:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12712:3:4","type":""}],"src":"12572:397:4"},{"body":{"nodeType":"YulBlock","src":"13119:253:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13192:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"13201:3:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13130:61:4"},"nodeType":"YulFunctionCall","src":"13130:75:4"},"nodeType":"YulExpressionStatement","src":"13130:75:4"},{"nodeType":"YulAssignment","src":"13214:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13225:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"13230:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13221:3:4"},"nodeType":"YulFunctionCall","src":"13221:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13214:3:4"}]},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"13305:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"13314:3:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13243:61:4"},"nodeType":"YulFunctionCall","src":"13243:75:4"},"nodeType":"YulExpressionStatement","src":"13243:75:4"},{"nodeType":"YulAssignment","src":"13327:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13338:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"13343:2:4","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13334:3:4"},"nodeType":"YulFunctionCall","src":"13334:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13327:3:4"}]},{"nodeType":"YulAssignment","src":"13356:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"13363:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13356:3:4"}]}]},"name":"abi_encode_tuple_packed_t_uint256_t_address__to_t_uint256_t_address__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13090:3:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13096:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13104:6:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13115:3:4","type":""}],"src":"12975:397:4"},{"body":{"nodeType":"YulBlock","src":"13594:473:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13663:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"13672:3:4"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13605:57:4"},"nodeType":"YulFunctionCall","src":"13605:71:4"},"nodeType":"YulExpressionStatement","src":"13605:71:4"},{"nodeType":"YulAssignment","src":"13685:18:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13696:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"13701:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13692:3:4"},"nodeType":"YulFunctionCall","src":"13692:11:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13685:3:4"}]},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"13775:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"13784:3:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13713:61:4"},"nodeType":"YulFunctionCall","src":"13713:75:4"},"nodeType":"YulExpressionStatement","src":"13713:75:4"},{"nodeType":"YulAssignment","src":"13797:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13808:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"13813:2:4","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13804:3:4"},"nodeType":"YulFunctionCall","src":"13804:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13797:3:4"}]},{"nodeType":"YulAssignment","src":"13826:102:4","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"13915:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"13924:3:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13833:81:4"},"nodeType":"YulFunctionCall","src":"13833:95:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13826:3:4"}]},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"14000:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"14009:3:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"13938:61:4"},"nodeType":"YulFunctionCall","src":"13938:75:4"},"nodeType":"YulExpressionStatement","src":"13938:75:4"},{"nodeType":"YulAssignment","src":"14022:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14033:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"14038:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14029:3:4"},"nodeType":"YulFunctionCall","src":"14029:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"14022:3:4"}]},{"nodeType":"YulAssignment","src":"14051:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"14058:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14051:3:4"}]}]},"name":"abi_encode_tuple_packed_t_uint8_t_address_t_string_memory_ptr_t_uint256__to_t_uint8_t_address_t_string_memory_ptr_t_uint256__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13549:3:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13555:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13563:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13571:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13579:6:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13590:3:4","type":""}],"src":"13378:689:4"},{"body":{"nodeType":"YulBlock","src":"14171:124:4","statements":[{"nodeType":"YulAssignment","src":"14181:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14193:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14204:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14189:3:4"},"nodeType":"YulFunctionCall","src":"14189:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14181:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14261:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14274:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14285:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14270:3:4"},"nodeType":"YulFunctionCall","src":"14270:17:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"14217:43:4"},"nodeType":"YulFunctionCall","src":"14217:71:4"},"nodeType":"YulExpressionStatement","src":"14217:71:4"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14143:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14155:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14166:4:4","type":""}],"src":"14073:222:4"},{"body":{"nodeType":"YulBlock","src":"14427:206:4","statements":[{"nodeType":"YulAssignment","src":"14437:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14449:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14460:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14445:3:4"},"nodeType":"YulFunctionCall","src":"14445:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14437:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14517:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14530:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14541:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14526:3:4"},"nodeType":"YulFunctionCall","src":"14526:17:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"14473:43:4"},"nodeType":"YulFunctionCall","src":"14473:71:4"},"nodeType":"YulExpressionStatement","src":"14473:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"14598:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14611:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14622:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14607:3:4"},"nodeType":"YulFunctionCall","src":"14607:18:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"14554:43:4"},"nodeType":"YulFunctionCall","src":"14554:72:4"},"nodeType":"YulExpressionStatement","src":"14554:72:4"}]},"name":"abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14391:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14403:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14411:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14422:4:4","type":""}],"src":"14301:332:4"},{"body":{"nodeType":"YulBlock","src":"14785:277:4","statements":[{"nodeType":"YulAssignment","src":"14795:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14807:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14818:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14803:3:4"},"nodeType":"YulFunctionCall","src":"14803:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14795:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14875:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14888:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14899:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14884:3:4"},"nodeType":"YulFunctionCall","src":"14884:17:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"14831:43:4"},"nodeType":"YulFunctionCall","src":"14831:71:4"},"nodeType":"YulExpressionStatement","src":"14831:71:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14923:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14934:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14919:3:4"},"nodeType":"YulFunctionCall","src":"14919:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"14943:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"14949:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14939:3:4"},"nodeType":"YulFunctionCall","src":"14939:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14912:6:4"},"nodeType":"YulFunctionCall","src":"14912:48:4"},"nodeType":"YulExpressionStatement","src":"14912:48:4"},{"nodeType":"YulAssignment","src":"14969:86:4","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"15041:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"15050:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"14977:63:4"},"nodeType":"YulFunctionCall","src":"14977:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14969:4:4"}]}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14749:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14761:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14769:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14780:4:4","type":""}],"src":"14639:423:4"},{"body":{"nodeType":"YulBlock","src":"15266:438:4","statements":[{"nodeType":"YulAssignment","src":"15276:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15288:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"15299:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15284:3:4"},"nodeType":"YulFunctionCall","src":"15284:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15276:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15357:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15370:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"15381:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15366:3:4"},"nodeType":"YulFunctionCall","src":"15366:17:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"15313:43:4"},"nodeType":"YulFunctionCall","src":"15313:71:4"},"nodeType":"YulExpressionStatement","src":"15313:71:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15405:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"15416:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15401:3:4"},"nodeType":"YulFunctionCall","src":"15401:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"15425:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"15431:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15421:3:4"},"nodeType":"YulFunctionCall","src":"15421:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15394:6:4"},"nodeType":"YulFunctionCall","src":"15394:48:4"},"nodeType":"YulExpressionStatement","src":"15394:48:4"},{"nodeType":"YulAssignment","src":"15451:86:4","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"15523:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"15532:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"15459:63:4"},"nodeType":"YulFunctionCall","src":"15459:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15451:4:4"}]},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"15591:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15604:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"15615:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15600:3:4"},"nodeType":"YulFunctionCall","src":"15600:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"15547:43:4"},"nodeType":"YulFunctionCall","src":"15547:72:4"},"nodeType":"YulExpressionStatement","src":"15547:72:4"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"15669:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15682:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"15693:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15678:3:4"},"nodeType":"YulFunctionCall","src":"15678:18:4"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"15629:39:4"},"nodeType":"YulFunctionCall","src":"15629:68:4"},"nodeType":"YulExpressionStatement","src":"15629:68:4"}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256_t_uint8__to_t_address_t_string_memory_ptr_t_uint256_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15214:9:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"15226:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"15234:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15242:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15250:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15261:4:4","type":""}],"src":"15068:636:4"},{"body":{"nodeType":"YulBlock","src":"15836:206:4","statements":[{"nodeType":"YulAssignment","src":"15846:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15858:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"15869:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15854:3:4"},"nodeType":"YulFunctionCall","src":"15854:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15846:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15926:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15939:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"15950:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15935:3:4"},"nodeType":"YulFunctionCall","src":"15935:17:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"15882:43:4"},"nodeType":"YulFunctionCall","src":"15882:71:4"},"nodeType":"YulExpressionStatement","src":"15882:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16007:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16020:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"16031:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16016:3:4"},"nodeType":"YulFunctionCall","src":"16016:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"15963:43:4"},"nodeType":"YulFunctionCall","src":"15963:72:4"},"nodeType":"YulExpressionStatement","src":"15963:72:4"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15800:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15812:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15820:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15831:4:4","type":""}],"src":"15710:332:4"},{"body":{"nodeType":"YulBlock","src":"16188:166:4","statements":[{"nodeType":"YulAssignment","src":"16198:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16210:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"16221:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16206:3:4"},"nodeType":"YulFunctionCall","src":"16206:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16198:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16320:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16333:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"16344:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16329:3:4"},"nodeType":"YulFunctionCall","src":"16329:17:4"}],"functionName":{"name":"abi_encode_t_array$_t_uint8_$3_memory_ptr_to_t_array$_t_uint8_$3_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16234:85:4"},"nodeType":"YulFunctionCall","src":"16234:113:4"},"nodeType":"YulExpressionStatement","src":"16234:113:4"}]},"name":"abi_encode_tuple_t_array$_t_uint8_$3_memory_ptr__to_t_array$_t_uint8_$3_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16160:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16172:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16183:4:4","type":""}],"src":"16048:306:4"},{"body":{"nodeType":"YulBlock","src":"16452:118:4","statements":[{"nodeType":"YulAssignment","src":"16462:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16474:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"16485:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16470:3:4"},"nodeType":"YulFunctionCall","src":"16470:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16462:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16536:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16549:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"16560:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16545:3:4"},"nodeType":"YulFunctionCall","src":"16545:17:4"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"16498:37:4"},"nodeType":"YulFunctionCall","src":"16498:65:4"},"nodeType":"YulExpressionStatement","src":"16498:65:4"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16424:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16436:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16447:4:4","type":""}],"src":"16360:210:4"},{"body":{"nodeType":"YulBlock","src":"16696:200:4","statements":[{"nodeType":"YulAssignment","src":"16706:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16718:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"16729:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16714:3:4"},"nodeType":"YulFunctionCall","src":"16714:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16706:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16780:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16793:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"16804:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16789:3:4"},"nodeType":"YulFunctionCall","src":"16789:17:4"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"16742:37:4"},"nodeType":"YulFunctionCall","src":"16742:65:4"},"nodeType":"YulExpressionStatement","src":"16742:65:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16861:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16874:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"16885:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16870:3:4"},"nodeType":"YulFunctionCall","src":"16870:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"16817:43:4"},"nodeType":"YulFunctionCall","src":"16817:72:4"},"nodeType":"YulExpressionStatement","src":"16817:72:4"}]},"name":"abi_encode_tuple_t_bool_t_uint256__to_t_bool_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16660:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16672:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16680:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16691:4:4","type":""}],"src":"16576:320:4"},{"body":{"nodeType":"YulBlock","src":"17000:124:4","statements":[{"nodeType":"YulAssignment","src":"17010:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17022:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17033:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17018:3:4"},"nodeType":"YulFunctionCall","src":"17018:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17010:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17090:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17103:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17114:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17099:3:4"},"nodeType":"YulFunctionCall","src":"17099:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17046:43:4"},"nodeType":"YulFunctionCall","src":"17046:71:4"},"nodeType":"YulExpressionStatement","src":"17046:71:4"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16972:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16984:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16995:4:4","type":""}],"src":"16902:222:4"},{"body":{"nodeType":"YulBlock","src":"17312:371:4","statements":[{"nodeType":"YulAssignment","src":"17322:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17334:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17345:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17330:3:4"},"nodeType":"YulFunctionCall","src":"17330:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17322:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17403:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17416:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17427:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17412:3:4"},"nodeType":"YulFunctionCall","src":"17412:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"17359:43:4"},"nodeType":"YulFunctionCall","src":"17359:71:4"},"nodeType":"YulExpressionStatement","src":"17359:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17484:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17497:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17508:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17493:3:4"},"nodeType":"YulFunctionCall","src":"17493:18:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"17440:43:4"},"nodeType":"YulFunctionCall","src":"17440:72:4"},"nodeType":"YulExpressionStatement","src":"17440:72:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17566:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17579:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17590:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17575:3:4"},"nodeType":"YulFunctionCall","src":"17575:18:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"17522:43:4"},"nodeType":"YulFunctionCall","src":"17522:72:4"},"nodeType":"YulExpressionStatement","src":"17522:72:4"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"17648:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17661:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17672:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17657:3:4"},"nodeType":"YulFunctionCall","src":"17657:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"17604:43:4"},"nodeType":"YulFunctionCall","src":"17604:72:4"},"nodeType":"YulExpressionStatement","src":"17604:72:4"}]},"name":"abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256__to_t_bytes32_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17260:9:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"17272:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17280:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17288:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17296:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17307:4:4","type":""}],"src":"17130:553:4"},{"body":{"nodeType":"YulBlock","src":"17860:248:4","statements":[{"nodeType":"YulAssignment","src":"17870:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17882:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17893:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17878:3:4"},"nodeType":"YulFunctionCall","src":"17878:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17870:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17917:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"17928:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17913:3:4"},"nodeType":"YulFunctionCall","src":"17913:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17936:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"17942:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17932:3:4"},"nodeType":"YulFunctionCall","src":"17932:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17906:6:4"},"nodeType":"YulFunctionCall","src":"17906:47:4"},"nodeType":"YulExpressionStatement","src":"17906:47:4"},{"nodeType":"YulAssignment","src":"17962:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18096:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17970:124:4"},"nodeType":"YulFunctionCall","src":"17970:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17962:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17840:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17855:4:4","type":""}],"src":"17689:419:4"},{"body":{"nodeType":"YulBlock","src":"18285:248:4","statements":[{"nodeType":"YulAssignment","src":"18295:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18307:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18318:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18303:3:4"},"nodeType":"YulFunctionCall","src":"18303:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18295:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18342:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18353:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18338:3:4"},"nodeType":"YulFunctionCall","src":"18338:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18361:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"18367:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18357:3:4"},"nodeType":"YulFunctionCall","src":"18357:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18331:6:4"},"nodeType":"YulFunctionCall","src":"18331:47:4"},"nodeType":"YulExpressionStatement","src":"18331:47:4"},{"nodeType":"YulAssignment","src":"18387:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18521:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18395:124:4"},"nodeType":"YulFunctionCall","src":"18395:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18387:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18265:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18280:4:4","type":""}],"src":"18114:419:4"},{"body":{"nodeType":"YulBlock","src":"18710:248:4","statements":[{"nodeType":"YulAssignment","src":"18720:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18732:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18743:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18728:3:4"},"nodeType":"YulFunctionCall","src":"18728:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18720:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18767:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"18778:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18763:3:4"},"nodeType":"YulFunctionCall","src":"18763:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18786:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"18792:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18782:3:4"},"nodeType":"YulFunctionCall","src":"18782:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18756:6:4"},"nodeType":"YulFunctionCall","src":"18756:47:4"},"nodeType":"YulExpressionStatement","src":"18756:47:4"},{"nodeType":"YulAssignment","src":"18812:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18946:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18820:124:4"},"nodeType":"YulFunctionCall","src":"18820:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18812:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18690:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18705:4:4","type":""}],"src":"18539:419:4"},{"body":{"nodeType":"YulBlock","src":"19135:248:4","statements":[{"nodeType":"YulAssignment","src":"19145:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19157:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19168:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19153:3:4"},"nodeType":"YulFunctionCall","src":"19153:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19145:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19192:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19203:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19188:3:4"},"nodeType":"YulFunctionCall","src":"19188:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19211:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"19217:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19207:3:4"},"nodeType":"YulFunctionCall","src":"19207:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19181:6:4"},"nodeType":"YulFunctionCall","src":"19181:47:4"},"nodeType":"YulExpressionStatement","src":"19181:47:4"},{"nodeType":"YulAssignment","src":"19237:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19371:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"19245:124:4"},"nodeType":"YulFunctionCall","src":"19245:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19237:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19115:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19130:4:4","type":""}],"src":"18964:419:4"},{"body":{"nodeType":"YulBlock","src":"19560:248:4","statements":[{"nodeType":"YulAssignment","src":"19570:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19582:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19593:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19578:3:4"},"nodeType":"YulFunctionCall","src":"19578:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19570:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19617:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"19628:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19613:3:4"},"nodeType":"YulFunctionCall","src":"19613:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19636:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"19642:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19632:3:4"},"nodeType":"YulFunctionCall","src":"19632:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19606:6:4"},"nodeType":"YulFunctionCall","src":"19606:47:4"},"nodeType":"YulExpressionStatement","src":"19606:47:4"},{"nodeType":"YulAssignment","src":"19662:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19796:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"19670:124:4"},"nodeType":"YulFunctionCall","src":"19670:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19662:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19540:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19555:4:4","type":""}],"src":"19389:419:4"},{"body":{"nodeType":"YulBlock","src":"19985:248:4","statements":[{"nodeType":"YulAssignment","src":"19995:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20007:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20018:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20003:3:4"},"nodeType":"YulFunctionCall","src":"20003:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19995:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20042:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20053:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20038:3:4"},"nodeType":"YulFunctionCall","src":"20038:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20061:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20067:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20057:3:4"},"nodeType":"YulFunctionCall","src":"20057:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20031:6:4"},"nodeType":"YulFunctionCall","src":"20031:47:4"},"nodeType":"YulExpressionStatement","src":"20031:47:4"},{"nodeType":"YulAssignment","src":"20087:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20221:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20095:124:4"},"nodeType":"YulFunctionCall","src":"20095:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20087:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19965:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19980:4:4","type":""}],"src":"19814:419:4"},{"body":{"nodeType":"YulBlock","src":"20410:248:4","statements":[{"nodeType":"YulAssignment","src":"20420:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20432:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20443:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20428:3:4"},"nodeType":"YulFunctionCall","src":"20428:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20420:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20467:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20478:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20463:3:4"},"nodeType":"YulFunctionCall","src":"20463:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20486:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20492:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20482:3:4"},"nodeType":"YulFunctionCall","src":"20482:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20456:6:4"},"nodeType":"YulFunctionCall","src":"20456:47:4"},"nodeType":"YulExpressionStatement","src":"20456:47:4"},{"nodeType":"YulAssignment","src":"20512:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20646:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20520:124:4"},"nodeType":"YulFunctionCall","src":"20520:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20512:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20390:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20405:4:4","type":""}],"src":"20239:419:4"},{"body":{"nodeType":"YulBlock","src":"20835:248:4","statements":[{"nodeType":"YulAssignment","src":"20845:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20857:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20868:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20853:3:4"},"nodeType":"YulFunctionCall","src":"20853:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20845:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20892:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"20903:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20888:3:4"},"nodeType":"YulFunctionCall","src":"20888:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20911:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"20917:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20907:3:4"},"nodeType":"YulFunctionCall","src":"20907:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20881:6:4"},"nodeType":"YulFunctionCall","src":"20881:47:4"},"nodeType":"YulExpressionStatement","src":"20881:47:4"},{"nodeType":"YulAssignment","src":"20937:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21071:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20945:124:4"},"nodeType":"YulFunctionCall","src":"20945:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20937:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20815:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20830:4:4","type":""}],"src":"20664:419:4"},{"body":{"nodeType":"YulBlock","src":"21260:248:4","statements":[{"nodeType":"YulAssignment","src":"21270:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21282:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"21293:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21278:3:4"},"nodeType":"YulFunctionCall","src":"21278:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21270:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21317:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"21328:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21313:3:4"},"nodeType":"YulFunctionCall","src":"21313:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21336:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"21342:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21332:3:4"},"nodeType":"YulFunctionCall","src":"21332:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21306:6:4"},"nodeType":"YulFunctionCall","src":"21306:47:4"},"nodeType":"YulExpressionStatement","src":"21306:47:4"},{"nodeType":"YulAssignment","src":"21362:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21496:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"21370:124:4"},"nodeType":"YulFunctionCall","src":"21370:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21362:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21240:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21255:4:4","type":""}],"src":"21089:419:4"},{"body":{"nodeType":"YulBlock","src":"21685:248:4","statements":[{"nodeType":"YulAssignment","src":"21695:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21707:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"21718:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21703:3:4"},"nodeType":"YulFunctionCall","src":"21703:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21695:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21742:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"21753:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21738:3:4"},"nodeType":"YulFunctionCall","src":"21738:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21761:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"21767:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21757:3:4"},"nodeType":"YulFunctionCall","src":"21757:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21731:6:4"},"nodeType":"YulFunctionCall","src":"21731:47:4"},"nodeType":"YulExpressionStatement","src":"21731:47:4"},{"nodeType":"YulAssignment","src":"21787:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21921:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"21795:124:4"},"nodeType":"YulFunctionCall","src":"21795:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21787:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21665:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21680:4:4","type":""}],"src":"21514:419:4"},{"body":{"nodeType":"YulBlock","src":"22110:248:4","statements":[{"nodeType":"YulAssignment","src":"22120:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22132:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"22143:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22128:3:4"},"nodeType":"YulFunctionCall","src":"22128:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22120:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22167:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"22178:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22163:3:4"},"nodeType":"YulFunctionCall","src":"22163:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"22186:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"22192:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22182:3:4"},"nodeType":"YulFunctionCall","src":"22182:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22156:6:4"},"nodeType":"YulFunctionCall","src":"22156:47:4"},"nodeType":"YulExpressionStatement","src":"22156:47:4"},{"nodeType":"YulAssignment","src":"22212:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"22346:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"22220:124:4"},"nodeType":"YulFunctionCall","src":"22220:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22212:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22090:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22105:4:4","type":""}],"src":"21939:419:4"},{"body":{"nodeType":"YulBlock","src":"22462:124:4","statements":[{"nodeType":"YulAssignment","src":"22472:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22484:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"22495:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22480:3:4"},"nodeType":"YulFunctionCall","src":"22480:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22472:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22552:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22565:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"22576:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22561:3:4"},"nodeType":"YulFunctionCall","src":"22561:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"22508:43:4"},"nodeType":"YulFunctionCall","src":"22508:71:4"},"nodeType":"YulExpressionStatement","src":"22508:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22434:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22446:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22457:4:4","type":""}],"src":"22364:222:4"},{"body":{"nodeType":"YulBlock","src":"22774:371:4","statements":[{"nodeType":"YulAssignment","src":"22784:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22796:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"22807:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22792:3:4"},"nodeType":"YulFunctionCall","src":"22792:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22784:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22865:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22878:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"22889:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22874:3:4"},"nodeType":"YulFunctionCall","src":"22874:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"22821:43:4"},"nodeType":"YulFunctionCall","src":"22821:71:4"},"nodeType":"YulExpressionStatement","src":"22821:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22946:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22959:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"22970:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22955:3:4"},"nodeType":"YulFunctionCall","src":"22955:18:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"22902:43:4"},"nodeType":"YulFunctionCall","src":"22902:72:4"},"nodeType":"YulExpressionStatement","src":"22902:72:4"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"23028:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23041:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23052:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23037:3:4"},"nodeType":"YulFunctionCall","src":"23037:18:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"22984:43:4"},"nodeType":"YulFunctionCall","src":"22984:72:4"},"nodeType":"YulExpressionStatement","src":"22984:72:4"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"23110:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23123:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23134:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23119:3:4"},"nodeType":"YulFunctionCall","src":"23119:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"23066:43:4"},"nodeType":"YulFunctionCall","src":"23066:72:4"},"nodeType":"YulExpressionStatement","src":"23066:72:4"}]},"name":"abi_encode_tuple_t_uint256_t_address_t_address_t_uint256__to_t_uint256_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22722:9:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"22734:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"22742:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22750:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22758:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22769:4:4","type":""}],"src":"22592:553:4"},{"body":{"nodeType":"YulBlock","src":"23349:438:4","statements":[{"nodeType":"YulAssignment","src":"23359:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23371:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23382:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23367:3:4"},"nodeType":"YulFunctionCall","src":"23367:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23359:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23436:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23449:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23460:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23445:3:4"},"nodeType":"YulFunctionCall","src":"23445:17:4"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nodeType":"YulIdentifier","src":"23396:39:4"},"nodeType":"YulFunctionCall","src":"23396:67:4"},"nodeType":"YulExpressionStatement","src":"23396:67:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"23517:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23530:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23541:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23526:3:4"},"nodeType":"YulFunctionCall","src":"23526:18:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"23473:43:4"},"nodeType":"YulFunctionCall","src":"23473:72:4"},"nodeType":"YulExpressionStatement","src":"23473:72:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23566:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23577:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23562:3:4"},"nodeType":"YulFunctionCall","src":"23562:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23586:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"23592:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23582:3:4"},"nodeType":"YulFunctionCall","src":"23582:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23555:6:4"},"nodeType":"YulFunctionCall","src":"23555:48:4"},"nodeType":"YulExpressionStatement","src":"23555:48:4"},{"nodeType":"YulAssignment","src":"23612:86:4","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"23684:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"23693:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"23620:63:4"},"nodeType":"YulFunctionCall","src":"23620:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23612:4:4"}]},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"23752:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23765:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"23776:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23761:3:4"},"nodeType":"YulFunctionCall","src":"23761:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"23708:43:4"},"nodeType":"YulFunctionCall","src":"23708:72:4"},"nodeType":"YulExpressionStatement","src":"23708:72:4"}]},"name":"abi_encode_tuple_t_uint8_t_address_t_string_memory_ptr_t_uint256__to_t_uint8_t_address_t_string_memory_ptr_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23297:9:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"23309:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23317:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23325:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23333:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23344:4:4","type":""}],"src":"23151:636:4"},{"body":{"nodeType":"YulBlock","src":"23834:88:4","statements":[{"nodeType":"YulAssignment","src":"23844:30:4","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"23854:18:4"},"nodeType":"YulFunctionCall","src":"23854:20:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"23844:6:4"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"23903:6:4"},{"name":"size","nodeType":"YulIdentifier","src":"23911:4:4"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"23883:19:4"},"nodeType":"YulFunctionCall","src":"23883:33:4"},"nodeType":"YulExpressionStatement","src":"23883:33:4"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"23818:4:4","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"23827:6:4","type":""}],"src":"23793:129:4"},{"body":{"nodeType":"YulBlock","src":"23968:35:4","statements":[{"nodeType":"YulAssignment","src":"23978:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23994:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23988:5:4"},"nodeType":"YulFunctionCall","src":"23988:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"23978:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"23961:6:4","type":""}],"src":"23928:75:4"},{"body":{"nodeType":"YulBlock","src":"24076:241:4","statements":[{"body":{"nodeType":"YulBlock","src":"24181:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"24183:16:4"},"nodeType":"YulFunctionCall","src":"24183:18:4"},"nodeType":"YulExpressionStatement","src":"24183:18:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"24153:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"24161:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24150:2:4"},"nodeType":"YulFunctionCall","src":"24150:30:4"},"nodeType":"YulIf","src":"24147:2:4"},{"nodeType":"YulAssignment","src":"24213:37:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"24243:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"24221:21:4"},"nodeType":"YulFunctionCall","src":"24221:29:4"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"24213:4:4"}]},{"nodeType":"YulAssignment","src":"24287:23:4","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"24299:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"24305:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24295:3:4"},"nodeType":"YulFunctionCall","src":"24295:15:4"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"24287:4:4"}]}]},"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"24060:6:4","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"24071:4:4","type":""}],"src":"24009:308:4"},{"body":{"nodeType":"YulBlock","src":"24391:28:4","statements":[{"nodeType":"YulAssignment","src":"24401:11:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"24409:3:4"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"24401:4:4"}]}]},"name":"array_dataslot_t_array$_t_uint8_$3_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"24378:3:4","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"24386:4:4","type":""}],"src":"24323:96:4"},{"body":{"nodeType":"YulBlock","src":"24495:32:4","statements":[{"nodeType":"YulAssignment","src":"24506:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"24516:4:4","type":"","value":"0x03"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"24506:6:4"}]}]},"name":"array_length_t_array$_t_uint8_$3_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24478:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"24488:6:4","type":""}],"src":"24425:102:4"},{"body":{"nodeType":"YulBlock","src":"24592:40:4","statements":[{"nodeType":"YulAssignment","src":"24603:22:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24619:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24613:5:4"},"nodeType":"YulFunctionCall","src":"24613:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"24603:6:4"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24575:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"24585:6:4","type":""}],"src":"24533:99:4"},{"body":{"nodeType":"YulBlock","src":"24709:38:4","statements":[{"nodeType":"YulAssignment","src":"24719:22:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"24731:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"24736:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24727:3:4"},"nodeType":"YulFunctionCall","src":"24727:14:4"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"24719:4:4"}]}]},"name":"array_nextElement_t_array$_t_uint8_$3_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"24696:3:4","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"24704:4:4","type":""}],"src":"24638:109:4"},{"body":{"nodeType":"YulBlock","src":"24860:34:4","statements":[{"nodeType":"YulAssignment","src":"24870:18:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"24885:3:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"24870:11:4"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_uint8_$3_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"24832:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"24837:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"24848:11:4","type":""}],"src":"24753:141:4"},{"body":{"nodeType":"YulBlock","src":"24996:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25013:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"25018:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25006:6:4"},"nodeType":"YulFunctionCall","src":"25006:19:4"},"nodeType":"YulExpressionStatement","src":"25006:19:4"},{"nodeType":"YulAssignment","src":"25034:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25053:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"25058:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25049:3:4"},"nodeType":"YulFunctionCall","src":"25049:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"25034:11:4"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"24968:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"24973:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"24984:11:4","type":""}],"src":"24900:169:4"},{"body":{"nodeType":"YulBlock","src":"25189:34:4","statements":[{"nodeType":"YulAssignment","src":"25199:18:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"25214:3:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"25199:11:4"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"25161:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"25166:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"25177:11:4","type":""}],"src":"25075:148:4"},{"body":{"nodeType":"YulBlock","src":"25271:143:4","statements":[{"nodeType":"YulAssignment","src":"25281:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25304:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"25286:17:4"},"nodeType":"YulFunctionCall","src":"25286:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"25281:1:4"}]},{"nodeType":"YulAssignment","src":"25315:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"25338:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"25320:17:4"},"nodeType":"YulFunctionCall","src":"25320:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"25315:1:4"}]},{"body":{"nodeType":"YulBlock","src":"25362:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"25364:16:4"},"nodeType":"YulFunctionCall","src":"25364:18:4"},"nodeType":"YulExpressionStatement","src":"25364:18:4"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"25359:1:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25352:6:4"},"nodeType":"YulFunctionCall","src":"25352:9:4"},"nodeType":"YulIf","src":"25349:2:4"},{"nodeType":"YulAssignment","src":"25394:14:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25403:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"25406:1:4"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"25399:3:4"},"nodeType":"YulFunctionCall","src":"25399:9:4"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"25394:1:4"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"25260:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"25263:1:4","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"25269:1:4","type":""}],"src":"25229:185:4"},{"body":{"nodeType":"YulBlock","src":"25468:300:4","statements":[{"nodeType":"YulAssignment","src":"25478:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25501:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"25483:17:4"},"nodeType":"YulFunctionCall","src":"25483:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"25478:1:4"}]},{"nodeType":"YulAssignment","src":"25512:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"25535:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"25517:17:4"},"nodeType":"YulFunctionCall","src":"25517:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"25512:1:4"}]},{"body":{"nodeType":"YulBlock","src":"25710:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"25712:16:4"},"nodeType":"YulFunctionCall","src":"25712:18:4"},"nodeType":"YulExpressionStatement","src":"25712:18:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25622:1:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25615:6:4"},"nodeType":"YulFunctionCall","src":"25615:9:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25608:6:4"},"nodeType":"YulFunctionCall","src":"25608:17:4"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"25630:1:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25637:66:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"x","nodeType":"YulIdentifier","src":"25705:1:4"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"25633:3:4"},"nodeType":"YulFunctionCall","src":"25633:74:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"25627:2:4"},"nodeType":"YulFunctionCall","src":"25627:81:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25604:3:4"},"nodeType":"YulFunctionCall","src":"25604:105:4"},"nodeType":"YulIf","src":"25601:2:4"},{"nodeType":"YulAssignment","src":"25742:20:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25757:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"25760:1:4"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"25753:3:4"},"nodeType":"YulFunctionCall","src":"25753:9:4"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"25742:7:4"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"25451:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"25454:1:4","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"25460:7:4","type":""}],"src":"25420:348:4"},{"body":{"nodeType":"YulBlock","src":"25819:146:4","statements":[{"nodeType":"YulAssignment","src":"25829:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25852:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"25834:17:4"},"nodeType":"YulFunctionCall","src":"25834:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"25829:1:4"}]},{"nodeType":"YulAssignment","src":"25863:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"25886:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"25868:17:4"},"nodeType":"YulFunctionCall","src":"25868:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"25863:1:4"}]},{"body":{"nodeType":"YulBlock","src":"25910:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"25912:16:4"},"nodeType":"YulFunctionCall","src":"25912:18:4"},"nodeType":"YulExpressionStatement","src":"25912:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25904:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"25907:1:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"25901:2:4"},"nodeType":"YulFunctionCall","src":"25901:8:4"},"nodeType":"YulIf","src":"25898:2:4"},{"nodeType":"YulAssignment","src":"25942:17:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25954:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"25957:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25950:3:4"},"nodeType":"YulFunctionCall","src":"25950:9:4"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"25942:4:4"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"25805:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"25808:1:4","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"25814:4:4","type":""}],"src":"25774:191:4"},{"body":{"nodeType":"YulBlock","src":"26016:51:4","statements":[{"nodeType":"YulAssignment","src":"26026:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26055:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"26037:17:4"},"nodeType":"YulFunctionCall","src":"26037:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"26026:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25998:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"26008:7:4","type":""}],"src":"25971:96:4"},{"body":{"nodeType":"YulBlock","src":"26115:48:4","statements":[{"nodeType":"YulAssignment","src":"26125:32:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26150:5:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"26143:6:4"},"nodeType":"YulFunctionCall","src":"26143:13:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"26136:6:4"},"nodeType":"YulFunctionCall","src":"26136:21:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"26125:7:4"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26097:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"26107:7:4","type":""}],"src":"26073:90:4"},{"body":{"nodeType":"YulBlock","src":"26214:32:4","statements":[{"nodeType":"YulAssignment","src":"26224:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"26235:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"26224:7:4"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26196:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"26206:7:4","type":""}],"src":"26169:77:4"},{"body":{"nodeType":"YulBlock","src":"26297:81:4","statements":[{"nodeType":"YulAssignment","src":"26307:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26322:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"26329:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26318:3:4"},"nodeType":"YulFunctionCall","src":"26318:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"26307:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26279:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"26289:7:4","type":""}],"src":"26252:126:4"},{"body":{"nodeType":"YulBlock","src":"26429:32:4","statements":[{"nodeType":"YulAssignment","src":"26439:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"26450:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"26439:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26411:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"26421:7:4","type":""}],"src":"26384:77:4"},{"body":{"nodeType":"YulBlock","src":"26510:43:4","statements":[{"nodeType":"YulAssignment","src":"26520:27:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26535:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"26542:4:4","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"26531:3:4"},"nodeType":"YulFunctionCall","src":"26531:16:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"26520:7:4"}]}]},"name":"cleanup_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"26492:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"26502:7:4","type":""}],"src":"26467:86:4"},{"body":{"nodeType":"YulBlock","src":"26610:103:4","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"26633:3:4"},{"name":"src","nodeType":"YulIdentifier","src":"26638:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"26643:6:4"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"26620:12:4"},"nodeType":"YulFunctionCall","src":"26620:30:4"},"nodeType":"YulExpressionStatement","src":"26620:30:4"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"26691:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"26696:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26687:3:4"},"nodeType":"YulFunctionCall","src":"26687:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"26705:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26680:6:4"},"nodeType":"YulFunctionCall","src":"26680:27:4"},"nodeType":"YulExpressionStatement","src":"26680:27:4"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"26592:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"26597:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"26602:6:4","type":""}],"src":"26559:154:4"},{"body":{"nodeType":"YulBlock","src":"26768:258:4","statements":[{"nodeType":"YulVariableDeclaration","src":"26778:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"26787:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"26782:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"26847:63:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"26872:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"26877:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26868:3:4"},"nodeType":"YulFunctionCall","src":"26868:11:4"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"26891:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"26896:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26887:3:4"},"nodeType":"YulFunctionCall","src":"26887:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26881:5:4"},"nodeType":"YulFunctionCall","src":"26881:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26861:6:4"},"nodeType":"YulFunctionCall","src":"26861:39:4"},"nodeType":"YulExpressionStatement","src":"26861:39:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26808:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"26811:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"26805:2:4"},"nodeType":"YulFunctionCall","src":"26805:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"26819:19:4","statements":[{"nodeType":"YulAssignment","src":"26821:15:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26830:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"26833:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26826:3:4"},"nodeType":"YulFunctionCall","src":"26826:10:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"26821:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"26801:3:4","statements":[]},"src":"26797:113:4"},{"body":{"nodeType":"YulBlock","src":"26944:76:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"26994:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"26999:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26990:3:4"},"nodeType":"YulFunctionCall","src":"26990:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"27008:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26983:6:4"},"nodeType":"YulFunctionCall","src":"26983:27:4"},"nodeType":"YulExpressionStatement","src":"26983:27:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"26925:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"26928:6:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26922:2:4"},"nodeType":"YulFunctionCall","src":"26922:13:4"},"nodeType":"YulIf","src":"26919:2:4"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"26750:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"26755:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"26760:6:4","type":""}],"src":"26719:307:4"},{"body":{"nodeType":"YulBlock","src":"27075:238:4","statements":[{"nodeType":"YulVariableDeclaration","src":"27085:58:4","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"27107:6:4"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"27137:4:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"27115:21:4"},"nodeType":"YulFunctionCall","src":"27115:27:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27103:3:4"},"nodeType":"YulFunctionCall","src":"27103:40:4"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"27089:10:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"27254:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"27256:16:4"},"nodeType":"YulFunctionCall","src":"27256:18:4"},"nodeType":"YulExpressionStatement","src":"27256:18:4"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"27197:10:4"},{"kind":"number","nodeType":"YulLiteral","src":"27209:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27194:2:4"},"nodeType":"YulFunctionCall","src":"27194:34:4"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"27233:10:4"},{"name":"memPtr","nodeType":"YulIdentifier","src":"27245:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27230:2:4"},"nodeType":"YulFunctionCall","src":"27230:22:4"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"27191:2:4"},"nodeType":"YulFunctionCall","src":"27191:62:4"},"nodeType":"YulIf","src":"27188:2:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27292:2:4","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"27296:10:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27285:6:4"},"nodeType":"YulFunctionCall","src":"27285:22:4"},"nodeType":"YulExpressionStatement","src":"27285:22:4"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"27061:6:4","type":""},{"name":"size","nodeType":"YulTypedName","src":"27069:4:4","type":""}],"src":"27032:281:4"},{"body":{"nodeType":"YulBlock","src":"27362:190:4","statements":[{"nodeType":"YulAssignment","src":"27372:33:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27399:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"27381:17:4"},"nodeType":"YulFunctionCall","src":"27381:24:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"27372:5:4"}]},{"body":{"nodeType":"YulBlock","src":"27495:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"27497:16:4"},"nodeType":"YulFunctionCall","src":"27497:18:4"},"nodeType":"YulExpressionStatement","src":"27497:18:4"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27420:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"27427:66:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"27417:2:4"},"nodeType":"YulFunctionCall","src":"27417:77:4"},"nodeType":"YulIf","src":"27414:2:4"},{"nodeType":"YulAssignment","src":"27526:20:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27537:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"27544:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27533:3:4"},"nodeType":"YulFunctionCall","src":"27533:13:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"27526:3:4"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27348:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"27358:3:4","type":""}],"src":"27319:233:4"},{"body":{"nodeType":"YulBlock","src":"27599:126:4","statements":[{"nodeType":"YulAssignment","src":"27609:31:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27634:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"27618:15:4"},"nodeType":"YulFunctionCall","src":"27618:22:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"27609:5:4"}]},{"body":{"nodeType":"YulBlock","src":"27668:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"27670:16:4"},"nodeType":"YulFunctionCall","src":"27670:18:4"},"nodeType":"YulExpressionStatement","src":"27670:18:4"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27655:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"27662:4:4","type":"","value":"0xff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"27652:2:4"},"nodeType":"YulFunctionCall","src":"27652:15:4"},"nodeType":"YulIf","src":"27649:2:4"},{"nodeType":"YulAssignment","src":"27699:20:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27710:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"27717:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27706:3:4"},"nodeType":"YulFunctionCall","src":"27706:13:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"27699:3:4"}]}]},"name":"increment_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27585:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"27595:3:4","type":""}],"src":"27558:167:4"},{"body":{"nodeType":"YulBlock","src":"27778:53:4","statements":[{"nodeType":"YulAssignment","src":"27788:37:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27819:5:4"}],"functionName":{"name":"leftAlign_t_uint160","nodeType":"YulIdentifier","src":"27799:19:4"},"nodeType":"YulFunctionCall","src":"27799:26:4"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"27788:7:4"}]}]},"name":"leftAlign_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27760:5:4","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"27770:7:4","type":""}],"src":"27731:100:4"},{"body":{"nodeType":"YulBlock","src":"27884:32:4","statements":[{"nodeType":"YulAssignment","src":"27894:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"27905:5:4"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"27894:7:4"}]}]},"name":"leftAlign_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27866:5:4","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"27876:7:4","type":""}],"src":"27837:79:4"},{"body":{"nodeType":"YulBlock","src":"27969:47:4","statements":[{"nodeType":"YulAssignment","src":"27979:31:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28004:5:4"}],"functionName":{"name":"shift_left_96","nodeType":"YulIdentifier","src":"27990:13:4"},"nodeType":"YulFunctionCall","src":"27990:20:4"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"27979:7:4"}]}]},"name":"leftAlign_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27951:5:4","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"27961:7:4","type":""}],"src":"27922:94:4"},{"body":{"nodeType":"YulBlock","src":"28069:32:4","statements":[{"nodeType":"YulAssignment","src":"28079:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"28090:5:4"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"28079:7:4"}]}]},"name":"leftAlign_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28051:5:4","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"28061:7:4","type":""}],"src":"28022:79:4"},{"body":{"nodeType":"YulBlock","src":"28152:48:4","statements":[{"nodeType":"YulAssignment","src":"28162:32:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28188:5:4"}],"functionName":{"name":"shift_left_248","nodeType":"YulIdentifier","src":"28173:14:4"},"nodeType":"YulFunctionCall","src":"28173:21:4"},"variableNames":[{"name":"aligned","nodeType":"YulIdentifier","src":"28162:7:4"}]}]},"name":"leftAlign_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28134:5:4","type":""}],"returnVariables":[{"name":"aligned","nodeType":"YulTypedName","src":"28144:7:4","type":""}],"src":"28107:93:4"},{"body":{"nodeType":"YulBlock","src":"28240:142:4","statements":[{"nodeType":"YulAssignment","src":"28250:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"28273:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"28255:17:4"},"nodeType":"YulFunctionCall","src":"28255:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"28250:1:4"}]},{"nodeType":"YulAssignment","src":"28284:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"28307:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"28289:17:4"},"nodeType":"YulFunctionCall","src":"28289:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"28284:1:4"}]},{"body":{"nodeType":"YulBlock","src":"28331:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"28333:16:4"},"nodeType":"YulFunctionCall","src":"28333:18:4"},"nodeType":"YulExpressionStatement","src":"28333:18:4"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"28328:1:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28321:6:4"},"nodeType":"YulFunctionCall","src":"28321:9:4"},"nodeType":"YulIf","src":"28318:2:4"},{"nodeType":"YulAssignment","src":"28362:14:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"28371:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"28374:1:4"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"28367:3:4"},"nodeType":"YulFunctionCall","src":"28367:9:4"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"28362:1:4"}]}]},"name":"mod_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"28229:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"28232:1:4","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"28238:1:4","type":""}],"src":"28206:176:4"},{"body":{"nodeType":"YulBlock","src":"28416:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28433:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28436:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28426:6:4"},"nodeType":"YulFunctionCall","src":"28426:88:4"},"nodeType":"YulExpressionStatement","src":"28426:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28530:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"28533:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28523:6:4"},"nodeType":"YulFunctionCall","src":"28523:15:4"},"nodeType":"YulExpressionStatement","src":"28523:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28554:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28557:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28547:6:4"},"nodeType":"YulFunctionCall","src":"28547:15:4"},"nodeType":"YulExpressionStatement","src":"28547:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"28388:180:4"},{"body":{"nodeType":"YulBlock","src":"28602:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28619:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28622:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28612:6:4"},"nodeType":"YulFunctionCall","src":"28612:88:4"},"nodeType":"YulExpressionStatement","src":"28612:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28716:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"28719:4:4","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28709:6:4"},"nodeType":"YulFunctionCall","src":"28709:15:4"},"nodeType":"YulExpressionStatement","src":"28709:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28740:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28743:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28733:6:4"},"nodeType":"YulFunctionCall","src":"28733:15:4"},"nodeType":"YulExpressionStatement","src":"28733:15:4"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"28574:180:4"},{"body":{"nodeType":"YulBlock","src":"28788:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28805:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28808:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28798:6:4"},"nodeType":"YulFunctionCall","src":"28798:88:4"},"nodeType":"YulExpressionStatement","src":"28798:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28902:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"28905:4:4","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28895:6:4"},"nodeType":"YulFunctionCall","src":"28895:15:4"},"nodeType":"YulExpressionStatement","src":"28895:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28926:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"28929:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"28919:6:4"},"nodeType":"YulFunctionCall","src":"28919:15:4"},"nodeType":"YulExpressionStatement","src":"28919:15:4"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"28760:180:4"},{"body":{"nodeType":"YulBlock","src":"28994:54:4","statements":[{"nodeType":"YulAssignment","src":"29004:38:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29022:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"29029:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29018:3:4"},"nodeType":"YulFunctionCall","src":"29018:14:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29038:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29034:3:4"},"nodeType":"YulFunctionCall","src":"29034:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29014:3:4"},"nodeType":"YulFunctionCall","src":"29014:28:4"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"29004:6:4"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28977:5:4","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"28987:6:4","type":""}],"src":"28946:102:4"},{"body":{"nodeType":"YulBlock","src":"29097:53:4","statements":[{"nodeType":"YulAssignment","src":"29107:36:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29132:3:4","type":"","value":"248"},{"name":"value","nodeType":"YulIdentifier","src":"29137:5:4"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29128:3:4"},"nodeType":"YulFunctionCall","src":"29128:15:4"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"29107:8:4"}]}]},"name":"shift_left_248","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"29078:5:4","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"29088:8:4","type":""}],"src":"29054:96:4"},{"body":{"nodeType":"YulBlock","src":"29198:52:4","statements":[{"nodeType":"YulAssignment","src":"29208:35:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29233:2:4","type":"","value":"96"},{"name":"value","nodeType":"YulIdentifier","src":"29237:5:4"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29229:3:4"},"nodeType":"YulFunctionCall","src":"29229:14:4"},"variableNames":[{"name":"newValue","nodeType":"YulIdentifier","src":"29208:8:4"}]}]},"name":"shift_left_96","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"29179:5:4","type":""}],"returnVariables":[{"name":"newValue","nodeType":"YulTypedName","src":"29189:8:4","type":""}],"src":"29156:94:4"},{"body":{"nodeType":"YulBlock","src":"29362:128:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"29384:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"29392:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29380:3:4"},"nodeType":"YulFunctionCall","src":"29380:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"29396:34:4","type":"","value":"Flight or timestamp do not match"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29373:6:4"},"nodeType":"YulFunctionCall","src":"29373:58:4"},"nodeType":"YulExpressionStatement","src":"29373:58:4"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"29452:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"29460:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29448:3:4"},"nodeType":"YulFunctionCall","src":"29448:15:4"},{"kind":"string","nodeType":"YulLiteral","src":"29465:17:4","type":"","value":" oracle request"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29441:6:4"},"nodeType":"YulFunctionCall","src":"29441:42:4"},"nodeType":"YulExpressionStatement","src":"29441:42:4"}]},"name":"store_literal_in_memory_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"29354:6:4","type":""}],"src":"29256:234:4"},{"body":{"nodeType":"YulBlock","src":"29602:129:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"29624:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"29632:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29620:3:4"},"nodeType":"YulFunctionCall","src":"29620:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"29636:34:4","type":"","value":"Insurance amount should be betwe"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29613:6:4"},"nodeType":"YulFunctionCall","src":"29613:58:4"},"nodeType":"YulExpressionStatement","src":"29613:58:4"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"29692:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"29700:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29688:3:4"},"nodeType":"YulFunctionCall","src":"29688:15:4"},{"kind":"string","nodeType":"YulLiteral","src":"29705:18:4","type":"","value":"en 0 and 1 ether"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29681:6:4"},"nodeType":"YulFunctionCall","src":"29681:43:4"},"nodeType":"YulExpressionStatement","src":"29681:43:4"}]},"name":"store_literal_in_memory_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"29594:6:4","type":""}],"src":"29496:235:4"},{"body":{"nodeType":"YulBlock","src":"29843:71:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"29865:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"29873:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29861:3:4"},"nodeType":"YulFunctionCall","src":"29861:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"29877:29:4","type":"","value":"Not registered as an oracle"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29854:6:4"},"nodeType":"YulFunctionCall","src":"29854:53:4"},"nodeType":"YulExpressionStatement","src":"29854:53:4"}]},"name":"store_literal_in_memory_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"29835:6:4","type":""}],"src":"29737:177:4"},{"body":{"nodeType":"YulBlock","src":"30026:72:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"30048:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"30056:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30044:3:4"},"nodeType":"YulFunctionCall","src":"30044:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"30060:30:4","type":"","value":"Flight is already registered"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30037:6:4"},"nodeType":"YulFunctionCall","src":"30037:54:4"},"nodeType":"YulExpressionStatement","src":"30037:54:4"}]},"name":"store_literal_in_memory_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"30018:6:4","type":""}],"src":"29920:178:4"},{"body":{"nodeType":"YulBlock","src":"30210:118:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"30232:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"30240:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30228:3:4"},"nodeType":"YulFunctionCall","src":"30228:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"30244:34:4","type":"","value":"Contract is currently not operat"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30221:6:4"},"nodeType":"YulFunctionCall","src":"30221:58:4"},"nodeType":"YulExpressionStatement","src":"30221:58:4"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"30300:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"30308:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30296:3:4"},"nodeType":"YulFunctionCall","src":"30296:15:4"},{"kind":"string","nodeType":"YulLiteral","src":"30313:7:4","type":"","value":"ional"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30289:6:4"},"nodeType":"YulFunctionCall","src":"30289:32:4"},"nodeType":"YulExpressionStatement","src":"30289:32:4"}]},"name":"store_literal_in_memory_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"30202:6:4","type":""}],"src":"30104:224:4"},{"body":{"nodeType":"YulBlock","src":"30440:66:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"30462:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"30470:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30458:3:4"},"nodeType":"YulFunctionCall","src":"30458:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"30474:24:4","type":"","value":"No balance to withdraw"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30451:6:4"},"nodeType":"YulFunctionCall","src":"30451:48:4"},"nodeType":"YulExpressionStatement","src":"30451:48:4"}]},"name":"store_literal_in_memory_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"30432:6:4","type":""}],"src":"30334:172:4"},{"body":{"nodeType":"YulBlock","src":"30618:115:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"30640:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"30648:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30636:3:4"},"nodeType":"YulFunctionCall","src":"30636:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"30652:34:4","type":"","value":"Airline has already been voted f"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30629:6:4"},"nodeType":"YulFunctionCall","src":"30629:58:4"},"nodeType":"YulExpressionStatement","src":"30629:58:4"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"30708:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"30716:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30704:3:4"},"nodeType":"YulFunctionCall","src":"30704:15:4"},{"kind":"string","nodeType":"YulLiteral","src":"30721:4:4","type":"","value":"or"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30697:6:4"},"nodeType":"YulFunctionCall","src":"30697:29:4"},"nodeType":"YulExpressionStatement","src":"30697:29:4"}]},"name":"store_literal_in_memory_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"30610:6:4","type":""}],"src":"30512:221:4"},{"body":{"nodeType":"YulBlock","src":"30845:73:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"30867:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"30875:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30863:3:4"},"nodeType":"YulFunctionCall","src":"30863:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"30879:31:4","type":"","value":"Airline is already registered"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30856:6:4"},"nodeType":"YulFunctionCall","src":"30856:55:4"},"nodeType":"YulExpressionStatement","src":"30856:55:4"}]},"name":"store_literal_in_memory_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"30837:6:4","type":""}],"src":"30739:179:4"},{"body":{"nodeType":"YulBlock","src":"31030:73:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"31052:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"31060:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31048:3:4"},"nodeType":"YulFunctionCall","src":"31048:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"31064:31:4","type":"","value":"Airline address must be valid"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31041:6:4"},"nodeType":"YulFunctionCall","src":"31041:55:4"},"nodeType":"YulExpressionStatement","src":"31041:55:4"}]},"name":"store_literal_in_memory_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"31022:6:4","type":""}],"src":"30924:179:4"},{"body":{"nodeType":"YulBlock","src":"31215:72:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"31237:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"31245:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31233:3:4"},"nodeType":"YulFunctionCall","src":"31233:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"31249:30:4","type":"","value":"Registration fee is required"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31226:6:4"},"nodeType":"YulFunctionCall","src":"31226:54:4"},"nodeType":"YulExpressionStatement","src":"31226:54:4"}]},"name":"store_literal_in_memory_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"31207:6:4","type":""}],"src":"31109:178:4"},{"body":{"nodeType":"YulBlock","src":"31399:116:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"31421:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"31429:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31417:3:4"},"nodeType":"YulFunctionCall","src":"31417:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"31433:34:4","type":"","value":"Index does not match oracle requ"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31410:6:4"},"nodeType":"YulFunctionCall","src":"31410:58:4"},"nodeType":"YulExpressionStatement","src":"31410:58:4"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"31489:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"31497:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31485:3:4"},"nodeType":"YulFunctionCall","src":"31485:15:4"},{"kind":"string","nodeType":"YulLiteral","src":"31502:5:4","type":"","value":"est"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31478:6:4"},"nodeType":"YulFunctionCall","src":"31478:30:4"},"nodeType":"YulExpressionStatement","src":"31478:30:4"}]},"name":"store_literal_in_memory_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"31391:6:4","type":""}],"src":"31293:222:4"},{"body":{"nodeType":"YulBlock","src":"31564:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"31621:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31630:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31633:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31623:6:4"},"nodeType":"YulFunctionCall","src":"31623:12:4"},"nodeType":"YulExpressionStatement","src":"31623:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31587:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31612:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"31594:17:4"},"nodeType":"YulFunctionCall","src":"31594:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"31584:2:4"},"nodeType":"YulFunctionCall","src":"31584:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31577:6:4"},"nodeType":"YulFunctionCall","src":"31577:43:4"},"nodeType":"YulIf","src":"31574:2:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31557:5:4","type":""}],"src":"31521:122:4"},{"body":{"nodeType":"YulBlock","src":"31689:76:4","statements":[{"body":{"nodeType":"YulBlock","src":"31743:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31752:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31755:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31745:6:4"},"nodeType":"YulFunctionCall","src":"31745:12:4"},"nodeType":"YulExpressionStatement","src":"31745:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31712:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31734:5:4"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"31719:14:4"},"nodeType":"YulFunctionCall","src":"31719:21:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"31709:2:4"},"nodeType":"YulFunctionCall","src":"31709:32:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31702:6:4"},"nodeType":"YulFunctionCall","src":"31702:40:4"},"nodeType":"YulIf","src":"31699:2:4"}]},"name":"validator_revert_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31682:5:4","type":""}],"src":"31649:116:4"},{"body":{"nodeType":"YulBlock","src":"31814:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"31871:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31880:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31883:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31873:6:4"},"nodeType":"YulFunctionCall","src":"31873:12:4"},"nodeType":"YulExpressionStatement","src":"31873:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31837:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31862:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"31844:17:4"},"nodeType":"YulFunctionCall","src":"31844:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"31834:2:4"},"nodeType":"YulFunctionCall","src":"31834:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31827:6:4"},"nodeType":"YulFunctionCall","src":"31827:43:4"},"nodeType":"YulIf","src":"31824:2:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31807:5:4","type":""}],"src":"31771:122:4"},{"body":{"nodeType":"YulBlock","src":"31940:77:4","statements":[{"body":{"nodeType":"YulBlock","src":"31995:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"32004:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"32007:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31997:6:4"},"nodeType":"YulFunctionCall","src":"31997:12:4"},"nodeType":"YulExpressionStatement","src":"31997:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31963:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31986:5:4"}],"functionName":{"name":"cleanup_t_uint8","nodeType":"YulIdentifier","src":"31970:15:4"},"nodeType":"YulFunctionCall","src":"31970:22:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"31960:2:4"},"nodeType":"YulFunctionCall","src":"31960:33:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31953:6:4"},"nodeType":"YulFunctionCall","src":"31953:41:4"},"nodeType":"YulIf","src":"31950:2:4"}]},"name":"validator_revert_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"31933:5:4","type":""}],"src":"31899:118:4"}]},"contents":"{\\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(0, 0) }\\n        copy_calldata_to_memory(src, dst, length)\\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_t_bool_fromMemory(offset, end) -> value {\\n        value := mload(offset)\\n        validator_revert_t_bool(value)\\n    }\\n\\n    // string\\n    function abi_decode_t_string_memory_ptr(offset, end) -> array {\\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\\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_t_uint256(offset, end) -> value {\\n        value := calldataload(offset)\\n        validator_revert_t_uint256(value)\\n    }\\n\\n    function abi_decode_t_uint256_fromMemory(offset, end) -> value {\\n        value := mload(offset)\\n        validator_revert_t_uint256(value)\\n    }\\n\\n    function abi_decode_t_uint8(offset, end) -> value {\\n        value := calldataload(offset)\\n        validator_revert_t_uint8(value)\\n    }\\n\\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\\n\\n        {\\n\\n            let offset := 0\\n\\n            value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\\n        }\\n\\n    }\\n\\n    function abi_decode_tuple_t_addresst_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2 {\\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\\n\\n        {\\n\\n            let offset := 0\\n\\n            value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\\n        }\\n\\n        {\\n\\n            let offset := calldataload(add(headStart, 32))\\n            if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\\n\\n            value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\\n        }\\n\\n        {\\n\\n            let offset := 64\\n\\n            value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\\n        }\\n\\n    }\\n\\n    function abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_uint8(headStart, dataEnd) -> value0, value1, value2, value3 {\\n        if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\\n\\n        {\\n\\n            let offset := 0\\n\\n            value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\\n        }\\n\\n        {\\n\\n            let offset := calldataload(add(headStart, 32))\\n            if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\\n\\n            value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\\n        }\\n\\n        {\\n\\n            let offset := 64\\n\\n            value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\\n        }\\n\\n        {\\n\\n            let offset := 96\\n\\n            value3 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\\n        }\\n\\n    }\\n\\n    function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\\n\\n        {\\n\\n            let offset := 0\\n\\n            value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\\n        }\\n\\n        {\\n\\n            let offset := 32\\n\\n            value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\\n        }\\n\\n    }\\n\\n    function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\\n\\n        {\\n\\n            let offset := 0\\n\\n            value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\\n        }\\n\\n    }\\n\\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\\n\\n        {\\n\\n            let offset := 0\\n\\n            value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\\n        }\\n\\n    }\\n\\n    function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1 {\\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\\n\\n        {\\n\\n            let offset := 0\\n\\n            value0 := abi_decode_t_uint256(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 abi_decode_tuple_t_uint8t_addresst_string_memory_ptrt_uint256t_uint8(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\\n        if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\\n\\n        {\\n\\n            let offset := 0\\n\\n            value0 := abi_decode_t_uint8(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            let offset := calldataload(add(headStart, 64))\\n            if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\\n\\n            value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\\n        }\\n\\n        {\\n\\n            let offset := 96\\n\\n            value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\\n        }\\n\\n        {\\n\\n            let offset := 128\\n\\n            value4 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\\n        }\\n\\n    }\\n\\n    function abi_encodeUpdatedPos_t_uint8_to_t_uint8(value0, pos) -> updatedPos {\\n        abi_encode_t_uint8_to_t_uint8(value0, pos)\\n        updatedPos := add(pos, 0x20)\\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_t_address_to_t_address_nonPadded_inplace_fromStack(value, pos) {\\n        mstore(pos, leftAlign_t_address(cleanup_t_address(value)))\\n    }\\n\\n    // uint8[3] -> uint8[3]\\n    function abi_encode_t_array$_t_uint8_$3_memory_ptr_to_t_array$_t_uint8_$3_memory_ptr_fromStack(value, pos)  {\\n        let length := array_length_t_array$_t_uint8_$3_memory_ptr(value)\\n        pos := array_storeLengthForEncoding_t_array$_t_uint8_$3_memory_ptr_fromStack(pos, length)\\n        let baseRef := array_dataslot_t_array$_t_uint8_$3_memory_ptr(value)\\n        let srcPtr := baseRef\\n        for { let i := 0 } lt(i, length) { i := add(i, 1) }\\n        {\\n            let elementValue0 := mload(srcPtr)\\n            pos := abi_encodeUpdatedPos_t_uint8_to_t_uint8(elementValue0, pos)\\n            srcPtr := array_nextElement_t_array$_t_uint8_$3_memory_ptr(srcPtr)\\n        }\\n\\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_t_bytes32_to_t_bytes32_fromStack(value, pos) {\\n        mstore(pos, cleanup_t_bytes32(value))\\n    }\\n\\n    function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\\n        mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\\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(add(value, 0x20), pos, length)\\n        end := add(pos, round_up_to_mul_of_32(length))\\n    }\\n\\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\\n        let length := array_length_t_string_memory_ptr(value)\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\\n        copy_memory_to_memory(add(value, 0x20), pos, length)\\n        end := add(pos, length)\\n    }\\n\\n    function abi_encode_t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\\n        store_literal_in_memory_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1(pos)\\n        end := add(pos, 64)\\n    }\\n\\n    function abi_encode_t_stringliteral_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 48)\\n        store_literal_in_memory_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613(pos)\\n        end := add(pos, 64)\\n    }\\n\\n    function abi_encode_t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\\n        store_literal_in_memory_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898(pos)\\n        end := add(pos, 32)\\n    }\\n\\n    function abi_encode_t_stringliteral_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\\n        store_literal_in_memory_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc(pos)\\n        end := add(pos, 32)\\n    }\\n\\n    function abi_encode_t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\\n        store_literal_in_memory_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886(pos)\\n        end := add(pos, 64)\\n    }\\n\\n    function abi_encode_t_stringliteral_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\\n        store_literal_in_memory_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5(pos)\\n        end := add(pos, 32)\\n    }\\n\\n    function abi_encode_t_stringliteral_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\\n        store_literal_in_memory_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582(pos)\\n        end := add(pos, 64)\\n    }\\n\\n    function abi_encode_t_stringliteral_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\\n        store_literal_in_memory_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7(pos)\\n        end := add(pos, 32)\\n    }\\n\\n    function abi_encode_t_stringliteral_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\\n        store_literal_in_memory_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108(pos)\\n        end := add(pos, 32)\\n    }\\n\\n    function abi_encode_t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\\n        store_literal_in_memory_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1(pos)\\n        end := add(pos, 32)\\n    }\\n\\n    function abi_encode_t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958_to_t_string_memory_ptr_fromStack(pos) -> end {\\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\\n        store_literal_in_memory_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958(pos)\\n        end := add(pos, 64)\\n    }\\n\\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\\n        mstore(pos, cleanup_t_uint256(value))\\n    }\\n\\n    function abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value, pos) {\\n        mstore(pos, leftAlign_t_uint256(cleanup_t_uint256(value)))\\n    }\\n\\n    function abi_encode_t_uint8_to_t_uint8(value, pos) {\\n        mstore(pos, cleanup_t_uint8(value))\\n    }\\n\\n    function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\\n        mstore(pos, cleanup_t_uint8(value))\\n    }\\n\\n    function abi_encode_t_uint8_to_t_uint8_nonPadded_inplace_fromStack(value, pos) {\\n        mstore(pos, leftAlign_t_uint8(cleanup_t_uint8(value)))\\n    }\\n\\n    function abi_encode_tuple_packed_t_bytes32_t_address__to_t_bytes32_t_address__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\\n\\n        abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0,  pos)\\n        pos := add(pos, 32)\\n\\n        abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value1,  pos)\\n        pos := add(pos, 20)\\n\\n        end := pos\\n    }\\n\\n    function abi_encode_tuple_packed_t_uint256_t_address__to_t_uint256_t_address__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\\n\\n        abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value0,  pos)\\n        pos := add(pos, 32)\\n\\n        abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value1,  pos)\\n        pos := add(pos, 20)\\n\\n        end := pos\\n    }\\n\\n    function abi_encode_tuple_packed_t_uint8_t_address_t_string_memory_ptr_t_uint256__to_t_uint8_t_address_t_string_memory_ptr_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value3, value2, value1, value0) -> end {\\n\\n        abi_encode_t_uint8_to_t_uint8_nonPadded_inplace_fromStack(value0,  pos)\\n        pos := add(pos, 1)\\n\\n        abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value1,  pos)\\n        pos := add(pos, 20)\\n\\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2,  pos)\\n\\n        abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value3,  pos)\\n        pos := add(pos, 32)\\n\\n        end := pos\\n    }\\n\\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\\n        tail := add(headStart, 32)\\n\\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\\n\\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    function abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__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        mstore(add(headStart, 32), sub(tail, headStart))\\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1,  tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256_t_uint8__to_t_address_t_string_memory_ptr_t_uint256_t_uint8__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\\n        tail := add(headStart, 128)\\n\\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\\n\\n        mstore(add(headStart, 32), sub(tail, headStart))\\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1,  tail)\\n\\n        abi_encode_t_uint256_to_t_uint256_fromStack(value2,  add(headStart, 64))\\n\\n        abi_encode_t_uint8_to_t_uint8_fromStack(value3,  add(headStart, 96))\\n\\n    }\\n\\n    function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__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_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\\n\\n    }\\n\\n    function abi_encode_tuple_t_array$_t_uint8_$3_memory_ptr__to_t_array$_t_uint8_$3_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\\n        tail := add(headStart, 96)\\n\\n        abi_encode_t_array$_t_uint8_$3_memory_ptr_to_t_array$_t_uint8_$3_memory_ptr_fromStack(value0,  add(headStart, 0))\\n\\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 abi_encode_tuple_t_bool_t_uint256__to_t_bool_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\\n        tail := add(headStart, 64)\\n\\n        abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))\\n\\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\\n\\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 abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256__to_t_bytes32_t_address_t_address_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\\n        tail := add(headStart, 128)\\n\\n        abi_encode_t_bytes32_to_t_bytes32_fromStack(value0,  add(headStart, 0))\\n\\n        abi_encode_t_address_to_t_address_fromStack(value1,  add(headStart, 32))\\n\\n        abi_encode_t_address_to_t_address_fromStack(value2,  add(headStart, 64))\\n\\n        abi_encode_t_uint256_to_t_uint256_fromStack(value3,  add(headStart, 96))\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1__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_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613__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_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898__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_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc__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_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886__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_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5__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_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582__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_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7__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_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108__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_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1__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_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958__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_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958_to_t_string_memory_ptr_fromStack( tail)\\n\\n    }\\n\\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\\n        tail := add(headStart, 32)\\n\\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\\n\\n    }\\n\\n    function abi_encode_tuple_t_uint256_t_address_t_address_t_uint256__to_t_uint256_t_address_t_address_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\\n        tail := add(headStart, 128)\\n\\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\\n\\n        abi_encode_t_address_to_t_address_fromStack(value1,  add(headStart, 32))\\n\\n        abi_encode_t_address_to_t_address_fromStack(value2,  add(headStart, 64))\\n\\n        abi_encode_t_uint256_to_t_uint256_fromStack(value3,  add(headStart, 96))\\n\\n    }\\n\\n    function abi_encode_tuple_t_uint8_t_address_t_string_memory_ptr_t_uint256__to_t_uint8_t_address_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\\n        tail := add(headStart, 128)\\n\\n        abi_encode_t_uint8_to_t_uint8_fromStack(value0,  add(headStart, 0))\\n\\n        abi_encode_t_address_to_t_address_fromStack(value1,  add(headStart, 32))\\n\\n        mstore(add(headStart, 64), sub(tail, headStart))\\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2,  tail)\\n\\n        abi_encode_t_uint256_to_t_uint256_fromStack(value3,  add(headStart, 96))\\n\\n    }\\n\\n    function allocate_memory(size) -> memPtr {\\n        memPtr := allocate_unbounded()\\n        finalize_allocation(memPtr, size)\\n    }\\n\\n    function allocate_unbounded() -> memPtr {\\n        memPtr := mload(64)\\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 array_dataslot_t_array$_t_uint8_$3_memory_ptr(ptr) -> data {\\n        data := ptr\\n\\n    }\\n\\n    function array_length_t_array$_t_uint8_$3_memory_ptr(value) -> length {\\n\\n        length := 0x03\\n\\n    }\\n\\n    function array_length_t_string_memory_ptr(value) -> length {\\n\\n        length := mload(value)\\n\\n    }\\n\\n    function array_nextElement_t_array$_t_uint8_$3_memory_ptr(ptr) -> next {\\n        next := add(ptr, 0x20)\\n    }\\n\\n    function array_storeLengthForEncoding_t_array$_t_uint8_$3_memory_ptr_fromStack(pos, length) -> updated_pos {\\n        updated_pos := pos\\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 array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\\n        updated_pos := pos\\n    }\\n\\n    function checked_div_t_uint256(x, y) -> r {\\n        x := cleanup_t_uint256(x)\\n        y := cleanup_t_uint256(y)\\n        if iszero(y) { panic_error_0x12() }\\n\\n        r := div(x, y)\\n    }\\n\\n    function checked_mul_t_uint256(x, y) -> product {\\n        x := cleanup_t_uint256(x)\\n        y := cleanup_t_uint256(y)\\n\\n        // overflow, if x != 0 and y > (maxValue / x)\\n        if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\\n\\n        product := mul(x, y)\\n    }\\n\\n    function checked_sub_t_uint256(x, y) -> diff {\\n        x := cleanup_t_uint256(x)\\n        y := cleanup_t_uint256(y)\\n\\n        if lt(x, y) { panic_error_0x11() }\\n\\n        diff := sub(x, y)\\n    }\\n\\n    function cleanup_t_address(value) -> cleaned {\\n        cleaned := cleanup_t_uint160(value)\\n    }\\n\\n    function cleanup_t_bool(value) -> cleaned {\\n        cleaned := iszero(iszero(value))\\n    }\\n\\n    function cleanup_t_bytes32(value) -> cleaned {\\n        cleaned := value\\n    }\\n\\n    function cleanup_t_uint160(value) -> cleaned {\\n        cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\\n    }\\n\\n    function cleanup_t_uint256(value) -> cleaned {\\n        cleaned := value\\n    }\\n\\n    function cleanup_t_uint8(value) -> cleaned {\\n        cleaned := and(value, 0xff)\\n    }\\n\\n    function copy_calldata_to_memory(src, dst, length) {\\n        calldatacopy(dst, src, length)\\n        // clear end\\n        mstore(add(dst, length), 0)\\n    }\\n\\n    function copy_memory_to_memory(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        if gt(i, length)\\n        {\\n            // clear end\\n            mstore(add(dst, length), 0)\\n        }\\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 increment_t_uint256(value) -> ret {\\n        value := cleanup_t_uint256(value)\\n        if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\\n        ret := add(value, 1)\\n    }\\n\\n    function increment_t_uint8(value) -> ret {\\n        value := cleanup_t_uint8(value)\\n        if eq(value, 0xff) { panic_error_0x11() }\\n        ret := add(value, 1)\\n    }\\n\\n    function leftAlign_t_address(value) -> aligned {\\n        aligned := leftAlign_t_uint160(value)\\n    }\\n\\n    function leftAlign_t_bytes32(value) -> aligned {\\n        aligned := value\\n    }\\n\\n    function leftAlign_t_uint160(value) -> aligned {\\n        aligned := shift_left_96(value)\\n    }\\n\\n    function leftAlign_t_uint256(value) -> aligned {\\n        aligned := value\\n    }\\n\\n    function leftAlign_t_uint8(value) -> aligned {\\n        aligned := shift_left_248(value)\\n    }\\n\\n    function mod_t_uint256(x, y) -> r {\\n        x := cleanup_t_uint256(x)\\n        y := cleanup_t_uint256(y)\\n        if iszero(y) { panic_error_0x12() }\\n        r := mod(x, y)\\n    }\\n\\n    function panic_error_0x11() {\\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\\n        mstore(4, 0x11)\\n        revert(0, 0x24)\\n    }\\n\\n    function panic_error_0x12() {\\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\\n        mstore(4, 0x12)\\n        revert(0, 0x24)\\n    }\\n\\n    function panic_error_0x41() {\\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\\n        mstore(4, 0x41)\\n        revert(0, 0x24)\\n    }\\n\\n    function round_up_to_mul_of_32(value) -> result {\\n        result := and(add(value, 31), not(31))\\n    }\\n\\n    function shift_left_248(value) -> newValue {\\n        newValue :=\\n\\n        shl(248, value)\\n\\n    }\\n\\n    function shift_left_96(value) -> newValue {\\n        newValue :=\\n\\n        shl(96, value)\\n\\n    }\\n\\n    function store_literal_in_memory_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Flight or timestamp do not match\\")\\n\\n        mstore(add(memPtr, 32), \\" oracle request\\")\\n\\n    }\\n\\n    function store_literal_in_memory_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Insurance amount should be betwe\\")\\n\\n        mstore(add(memPtr, 32), \\"en 0 and 1 ether\\")\\n\\n    }\\n\\n    function store_literal_in_memory_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Not registered as an oracle\\")\\n\\n    }\\n\\n    function store_literal_in_memory_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Flight is already registered\\")\\n\\n    }\\n\\n    function store_literal_in_memory_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Contract is currently not operat\\")\\n\\n        mstore(add(memPtr, 32), \\"ional\\")\\n\\n    }\\n\\n    function store_literal_in_memory_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"No balance to withdraw\\")\\n\\n    }\\n\\n    function store_literal_in_memory_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Airline has already been voted f\\")\\n\\n        mstore(add(memPtr, 32), \\"or\\")\\n\\n    }\\n\\n    function store_literal_in_memory_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Airline is already registered\\")\\n\\n    }\\n\\n    function store_literal_in_memory_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Airline address must be valid\\")\\n\\n    }\\n\\n    function store_literal_in_memory_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Registration fee is required\\")\\n\\n    }\\n\\n    function store_literal_in_memory_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958(memPtr) {\\n\\n        mstore(add(memPtr, 0), \\"Index does not match oracle requ\\")\\n\\n        mstore(add(memPtr, 32), \\"est\\")\\n\\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 validator_revert_t_bool(value) {\\n        if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\\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 validator_revert_t_uint8(value) {\\n        if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\\n    }\\n\\n}\\n","id":4,"language":"Yul","name":"#utility.yul"}],"sourceMap":"633:16455:0:-:0;;;11780:1;11758:23;;;;;;;;;;;;;;;;;;;;4276:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4356:10;4340:13;;:26;;;;;;;;;;;;;;;;;;4413:23;4377:16;;:60;;;;;;;;;;;;;;;;;;4276:169;633:16455;;7:159:4;;103:6;97:13;88:22;;119:41;154:5;119:41;:::i;:::-;78:88;;;;:::o;172:300::-;;299:2;287:9;278:7;274:23;270:32;267:2;;;315:1;312;305:12;267:2;358:1;383:72;447:7;438:6;427:9;423:22;383:72;:::i;:::-;373:82;;329:136;257:215;;;;:::o;478:104::-;;552:24;570:5;552:24;:::i;:::-;541:35;;531:51;;;:::o;588:126::-;;665:42;658:5;654:54;643:65;;633:81;;;:::o;720:138::-;801:32;827:5;801:32;:::i;:::-;794:5;791:43;781:2;;848:1;845;838:12;781:2;771:87;:::o;633:16455:0:-;;;;;;;","deployedSourceMap":"633:16455:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5714:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13407:316;;;:::i;:::-;;9574:304;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8253:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9063:425;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13731:239;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11837:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7944:301;;;:::i;:::-;;5938:1998;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;14298:1302;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1639:60;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4755:151;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10174:634;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8385:587;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10883:769;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5714:136;5773:4;5797:16;;;;;;;;;;;:36;;;5834:7;5797:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5790:52;;5714:136;;;:::o;13407:316::-;11880:7;13506:9;:29;;13498:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13581:23;13607:27;13623:10;13607:15;:27::i;:::-;13581:53;;13669:46;;;;;;;;13691:4;13669:46;;;;;;13706:7;13669:46;;;13647:7;:19;13655:10;13647:19;;;;;;;;;;;;;;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13407:316;:::o;9574:304::-;9654:14;9671:32;9684:9;9695:7;9671:12;:32::i;:::-;9654:49;;9725:7;:15;9733:6;9725:15;;;;;;;;;;;:28;;;;;;;;;;;;9724:29;9716:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9817:53;;;;;;;;9824:4;9817:53;;;;;;1178:1;9817:53;;;;;;9851:9;9817:53;;;;9862:7;9817:53;;;;;9799:7;:15;9807:6;9799:15;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9574:304;;;:::o;8253:124::-;8311:4;8335:16;;;;;;;;;;;:25;;;8361:7;8335:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8328:41;;8253:124;;;:::o;9063:425::-;3419:4;3411:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9188:14:::1;9205:32;9218:9;9229:7;9205:12;:32::i;:::-;9188:49;;9248:14;9265:16;;;;;;;;;;;:31;;;9297:10;9309:6;9265:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9248:68;;9344:1;9335:6;:10;9327:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;9385:16;;;;;;;;;;;:20;;;9406:10;9418:6;9385:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9443:37;9461:10;9473:6;9443:37;;;;;;;:::i;:::-;;;;;;;;3476:1;;9063:425:::0;;:::o;13731:239::-;13778:15;;:::i;:::-;13828:7;:19;13836:10;13828:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;13806:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;13935:7;:19;13943:10;13935:19;;;;;;;;;;;;;;;:27;;13928:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13731:239;:::o;11837:50::-;11880:7;11837:50;:::o;7944:301::-;7993:16;;;;;;;;;;;:21;;;8015:10;8027:9;7993:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8054:16;;;;;;;;;;;:25;;;8080:10;8054:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8050:188;;;8113:113;8145:10;8174:16;;;;;;;;;;;:25;;;8200:10;8174:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8113:113;;;;;;;:::i;:::-;;;;;;;;8050:188;7944:301::o;5938:1998::-;6107:12;6121:13;3419:4;3411:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;6080:7:::1;5047:16;;;;;;;;;;;:36;;;5084:7;5047:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5046:46;5024:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;6204:1:::2;6156:16;;;;;;;;;;;:43;;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:49;6152:1777;;;6222:16;;;;;;;;;;;:32;;;6255:7;6222:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;6284:16;;;;;;;;;;;:36;;;6321:7;6284:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6280:225;;;6355:134;6395:7;6425:16;;;;;;;;;;;:43;;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6355:134;;;;;;;:::i;:::-;;;;;;;;6280:225;6529:4;6535:2;6521:17;;;;;;6152:1777;6695:12;6753:9:::0;6730:310:::2;6789:23;:32;6813:7;6789:32;;;;;;;;;;;;;;;:39;;;;6785:1;:43;6730:310;;;6928:10;6889:49;;:23;:32;6913:7;6889:32;;;;;;;;;;;;;;;6922:1;6889:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:49;;;6885:140;;;6973:4;6963:14;;7000:5;;6885:140;6847:3;;;;;:::i;:::-;;;;6730:310;;;;7063:7;7062:8;7054:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;7126:23;:32;7150:7;7126:32;;;;;;;;;;;;;;;7164:10;7126:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7414:2;7272:138;7346:16;;;;;;;;;;;:43;;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7315:3;7273:23;:32;7297:7;7273:32;;;;;;;;;;;;;;;:39;;;;:45;;;;:::i;:::-;7272:51;;:138;;;;:::i;:::-;:144;7250:598;;7451:16;;;;;;;;;;;:32;;;7484:7;7451:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;7517:16;;;;;;;;;;;:36;;;7554:7;7517:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7513:245;;;7592:146;7636:7;7670:16;;;;;;;;;;;:43;;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7592:146;;;;;;;:::i;:::-;;;;;;;;7513:245;7786:4;7792:23:::0;:32:::2;7816:7;7792:32;;;;;;;;;;;;;;;:39;;;;7778:54;;;;;;;7250:598;7870:5;7877:23;:32;7901:7;7877:32;;;;;;;;;;;;;;;:39;;;;7862:55;;;;;5160:1;3476::::1;5938:1998:::0;;;:::o;14298:1302::-;14546:5;14512:39;;:7;:19;14520:10;14512:19;;;;;;;;;;;;;;;:27;;14540:1;14512:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;14511:103;;;;14608:5;14574:39;;:7;:19;14582:10;14574:19;;;;;;;;;;;;;;;:27;;14602:1;14574:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;14511:103;:165;;;;14670:5;14636:39;;:7;:19;14644:10;14636:19;;;;;;;;;;;;;;;:27;;14664:1;14636:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;14511:165;14489:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;14752:11;14807:5;14814:7;14823:6;14831:9;14790:51;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14766:86;;;;;;14752:100;;14885:15;:20;14901:3;14885:20;;;;;;;;;;;:27;;;;;;;;;;;;14863:124;;;;;;;;;;;;:::i;:::-;;;;;;;;;15000:15;:20;15016:3;15000:20;;;;;;;;;;;:30;;:42;15031:10;15000:42;;;;;;;;;;;;;;;15048:10;15000:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15218:52;15231:7;15240:6;15248:9;15259:10;15218:52;;;;;;;;;:::i;:::-;;;;;;;;11998:1;15299:15;:20;15315:3;15299:20;;;;;;;;;;;:30;;:42;15330:10;15299:42;;;;;;;;;;;;;;;:49;;;;:66;15281:312;;15397:56;15414:7;15423:6;15431:9;15442:10;15397:56;;;;;;;;;:::i;:::-;;;;;;;;15522:59;15542:7;15551:6;15559:9;15570:10;15522:19;:59::i;:::-;15281:312;14298:1302;;;;;;:::o;1639:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4755:151::-;4801:4;4825:16;;;;;;;;;;;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4818:39;;4755:151;:::o;10174:634::-;10362:7;10348:21;;10356:1;10348:21;;;;10340:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1290:2;10504:38;;:10;:38;;;10503:99;;;;1410:2;10561:40;;:10;:40;;;10503:99;10485:316;;;10629:17;10649:32;10662:9;10673:7;10649:12;:32::i;:::-;10629:52;;10696:16;;;;;;;;;;;:31;;;10728:9;10696:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10758:31;10773:7;10782:6;10758:31;;;;;;;:::i;:::-;;;;;;;;10485:316;;10174:634;;;;:::o;8385:587::-;3419:4;3411:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;8640:7:::1;8628:9;:19;8627:47;;;;;8666:7;8653:9;:20;;8627:47;8605:145;;;;;;;;;;;;:::i;:::-;;;;;;;;;8763:14;8780:32;8793:9;8804:7;8780:12;:32::i;:::-;8763:49;;8825:16;;;;;;;;;;;:20;;;8846:6;8854:7;8863:10;8875:9;8825:60;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8903:61;8922:9;8933:7;8942:10;8954:9;8903:61;;;;;;;;;:::i;:::-;;;;;;;;3476:1;8385:587:::0;;:::o;10883:769::-;11022:11;11036:26;11051:10;11036:14;:26::i;:::-;11022:40;;11133:11;11188:5;11195:7;11204:6;11212:9;11171:51;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11147:86;;;;;;11133:100;;11523:10;11490:15;:20;11506:3;11490:20;;;;;;;;;;;:30;;;:43;;;;;;;;;;;;;;;;;;11574:4;11544:15;:20;11560:3;11544:20;;;;;;;;;;;:27;;;:34;;;;;;;;;;;;;;;;;;11596:48;11610:5;11617:7;11626:6;11634:9;11596:48;;;;;;;;;:::i;:::-;;;;;;;;10883:769;;;;;:::o;15908:532::-;15986:15;;:::i;:::-;16019:23;;:::i;:::-;16066;16081:7;16066:14;:23::i;:::-;16053:7;16061:1;16053:10;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;16115:7;16123:1;16115:10;;;;;;;;;;;;;;;;;;;16102:7;16110:1;16102:10;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;16136:96;16157:7;16165:1;16157:10;;;;;;;;;;;;;;;;;;;16143:24;;:7;16151:1;16143:10;;;;;;;;;;;;;;;;;;;:24;;;16136:96;;;16197:23;16212:7;16197:14;:23::i;:::-;16184:7;16192:1;16184:10;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;16136:96;;;16257:7;16265:1;16257:10;;;;;;;;;;;;;;;;;;;16244:7;16252:1;16244:10;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;16278:128;16300:7;16308:1;16300:10;;;;;;;;;;;;;;;;;;;16286:24;;:7;16294:1;16286:10;;;;;;;;;;;;;;;;;;;:24;;;16285:56;;;;16330:7;16338:1;16330:10;;;;;;;;;;;;;;;;;;;16316:24;;:7;16324:1;16316:10;;;;;;;;;;;;;;;;;;;:24;;;16285:56;16278:128;;;16371:23;16386:7;16371:14;:23::i;:::-;16358:7;16366:1;16358:10;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;16278:128;;;16425:7;16418:14;;;15908:532;;;:::o;9886:195::-;9994:7;10053:9;10064:7;10036:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10026:47;;;;;;10019:54;;9886:195;;;;:::o;3767:96:3:-;3825:7;3855:1;3851;:5;;;;:::i;:::-;3844:12;;3767:96;;;;:::o;16513:552:0:-;16572:5;16590:14;16607:2;16590:19;;16695:12;16885:8;16730:163;;16830:5;;:7;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16815:22;;:12;:22;;;;:::i;:::-;16805:33;16840:7;16788:60;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16756:111;;;;;;16730:152;;:163;;;;:::i;:::-;16695:209;;16929:3;16921:5;;;;;;;;;;;:11;;;16917:115;;;16957:1;16949:5;;:9;;;;;;;;;;;;;;;;;;16917:115;17051:6;17044:13;;;;16513:552;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:4:-;;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:139::-;;442:6;429:20;420:29;;458:33;485:5;458:33;:::i;:::-;410:87;;;;:::o;503:137::-;;588:6;582:13;573:22;;604:30;628:5;604:30;:::i;:::-;563:77;;;;:::o;660:273::-;;765:3;758:4;750:6;746:17;742:27;732:2;;783:1;780;773:12;732:2;823:6;810:20;848:79;923:3;915:6;908:4;900:6;896:17;848:79;:::i;:::-;839:88;;722:211;;;;;:::o;939:139::-;;1023:6;1010:20;1001:29;;1039:33;1066:5;1039:33;:::i;:::-;991:87;;;;:::o;1084:143::-;;1172:6;1166:13;1157:22;;1188:33;1215:5;1188:33;:::i;:::-;1147:80;;;;:::o;1233:135::-;;1315:6;1302:20;1293:29;;1331:31;1356:5;1331:31;:::i;:::-;1283:85;;;;:::o;1374:262::-;;1482:2;1470:9;1461:7;1457:23;1453:32;1450:2;;;1498:1;1495;1488:12;1450:2;1541:1;1566:53;1611:7;1602:6;1591:9;1587:22;1566:53;:::i;:::-;1556:63;;1512:117;1440:196;;;;:::o;1642:665::-;;;;1794:2;1782:9;1773:7;1769:23;1765:32;1762:2;;;1810:1;1807;1800:12;1762:2;1853:1;1878:53;1923:7;1914:6;1903:9;1899:22;1878:53;:::i;:::-;1868:63;;1824:117;2008:2;1997:9;1993:18;1980:32;2039:18;2031:6;2028:30;2025:2;;;2071:1;2068;2061:12;2025:2;2099:63;2154:7;2145:6;2134:9;2130:22;2099:63;:::i;:::-;2089:73;;1951:221;2211:2;2237:53;2282:7;2273:6;2262:9;2258:22;2237:53;:::i;:::-;2227:63;;2182:118;1752:555;;;;;:::o;2313:807::-;;;;;2480:3;2468:9;2459:7;2455:23;2451:33;2448:2;;;2497:1;2494;2487:12;2448:2;2540:1;2565:53;2610:7;2601:6;2590:9;2586:22;2565:53;:::i;:::-;2555:63;;2511:117;2695:2;2684:9;2680:18;2667:32;2726:18;2718:6;2715:30;2712:2;;;2758:1;2755;2748:12;2712:2;2786:63;2841:7;2832:6;2821:9;2817:22;2786:63;:::i;:::-;2776:73;;2638:221;2898:2;2924:53;2969:7;2960:6;2949:9;2945:22;2924:53;:::i;:::-;2914:63;;2869:118;3026:2;3052:51;3095:7;3086:6;3075:9;3071:22;3052:51;:::i;:::-;3042:61;;2997:116;2438:682;;;;;;;:::o;3126:407::-;;;3251:2;3239:9;3230:7;3226:23;3222:32;3219:2;;;3267:1;3264;3257:12;3219:2;3310:1;3335:53;3380:7;3371:6;3360:9;3356:22;3335:53;:::i;:::-;3325:63;;3281:117;3437:2;3463:53;3508:7;3499:6;3488:9;3484:22;3463:53;:::i;:::-;3453:63;;3408:118;3209:324;;;;;:::o;3539:278::-;;3655:2;3643:9;3634:7;3630:23;3626:32;3623:2;;;3671:1;3668;3661:12;3623:2;3714:1;3739:61;3792:7;3783:6;3772:9;3768:22;3739:61;:::i;:::-;3729:71;;3685:125;3613:204;;;;:::o;3823:284::-;;3942:2;3930:9;3921:7;3917:23;3913:32;3910:2;;;3958:1;3955;3948:12;3910:2;4001:1;4026:64;4082:7;4073:6;4062:9;4058:22;4026:64;:::i;:::-;4016:74;;3972:128;3900:207;;;;:::o;4113:407::-;;;4238:2;4226:9;4217:7;4213:23;4209:32;4206:2;;;4254:1;4251;4244:12;4206:2;4297:1;4322:53;4367:7;4358:6;4347:9;4343:22;4322:53;:::i;:::-;4312:63;;4268:117;4424:2;4450:53;4495:7;4486:6;4475:9;4471:22;4450:53;:::i;:::-;4440:63;;4395:118;4196:324;;;;;:::o;4526:949::-;;;;;;4708:3;4696:9;4687:7;4683:23;4679:33;4676:2;;;4725:1;4722;4715:12;4676:2;4768:1;4793:51;4836:7;4827:6;4816:9;4812:22;4793:51;:::i;:::-;4783:61;;4739:115;4893:2;4919:53;4964:7;4955:6;4944:9;4940:22;4919:53;:::i;:::-;4909:63;;4864:118;5049:2;5038:9;5034:18;5021:32;5080:18;5072:6;5069:30;5066:2;;;5112:1;5109;5102:12;5066:2;5140:63;5195:7;5186:6;5175:9;5171:22;5140:63;:::i;:::-;5130:73;;4992:221;5252:2;5278:53;5323:7;5314:6;5303:9;5299:22;5278:53;:::i;:::-;5268:63;;5223:118;5380:3;5407:51;5450:7;5441:6;5430:9;5426:22;5407:51;:::i;:::-;5397:61;;5351:117;4666:809;;;;;;;;:::o;5481:171::-;;5567:42;5605:3;5597:6;5567:42;:::i;:::-;5641:4;5636:3;5632:14;5618:28;;5557:95;;;;:::o;5658:118::-;5745:24;5763:5;5745:24;:::i;:::-;5740:3;5733:37;5723:53;;:::o;5782:157::-;5887:45;5907:24;5925:5;5907:24;:::i;:::-;5887:45;:::i;:::-;5882:3;5875:58;5865:74;;:::o;5973:678::-;6105:50;6149:5;6105:50;:::i;:::-;6171:82;6246:6;6241:3;6171:82;:::i;:::-;6164:89;;6277:52;6323:5;6277:52;:::i;:::-;6352:7;6383:1;6368:276;6393:6;6390:1;6387:13;6368:276;;;6469:6;6463:13;6496:59;6551:3;6536:13;6496:59;:::i;:::-;6489:66;;6578:56;6627:6;6578:56;:::i;:::-;6568:66;;6428:216;6415:1;6412;6408:9;6403:14;;6368:276;;;6372:14;6081:570;;;;;:::o;6657:109::-;6738:21;6753:5;6738:21;:::i;:::-;6733:3;6726:34;6716:50;;:::o;6772:118::-;6859:24;6877:5;6859:24;:::i;:::-;6854:3;6847:37;6837:53;;:::o;6896:157::-;7001:45;7021:24;7039:5;7021:24;:::i;:::-;7001:45;:::i;:::-;6996:3;6989:58;6979:74;;:::o;7059:364::-;;7175:39;7208:5;7175:39;:::i;:::-;7230:71;7294:6;7289:3;7230:71;:::i;:::-;7223:78;;7310:52;7355:6;7350:3;7343:4;7336:5;7332:16;7310:52;:::i;:::-;7387:29;7409:6;7387:29;:::i;:::-;7382:3;7378:39;7371:46;;7151:272;;;;;:::o;7429:377::-;;7563:39;7596:5;7563:39;:::i;:::-;7618:89;7700:6;7695:3;7618:89;:::i;:::-;7611:96;;7716:52;7761:6;7756:3;7749:4;7742:5;7738:16;7716:52;:::i;:::-;7793:6;7788:3;7784:16;7777:23;;7539:267;;;;;:::o;7812:366::-;;7975:67;8039:2;8034:3;7975:67;:::i;:::-;7968:74;;8051:93;8140:3;8051:93;:::i;:::-;8169:2;8164:3;8160:12;8153:19;;7958:220;;;:::o;8184:366::-;;8347:67;8411:2;8406:3;8347:67;:::i;:::-;8340:74;;8423:93;8512:3;8423:93;:::i;:::-;8541:2;8536:3;8532:12;8525:19;;8330:220;;;:::o;8556:366::-;;8719:67;8783:2;8778:3;8719:67;:::i;:::-;8712:74;;8795:93;8884:3;8795:93;:::i;:::-;8913:2;8908:3;8904:12;8897:19;;8702:220;;;:::o;8928:366::-;;9091:67;9155:2;9150:3;9091:67;:::i;:::-;9084:74;;9167:93;9256:3;9167:93;:::i;:::-;9285:2;9280:3;9276:12;9269:19;;9074:220;;;:::o;9300:366::-;;9463:67;9527:2;9522:3;9463:67;:::i;:::-;9456:74;;9539:93;9628:3;9539:93;:::i;:::-;9657:2;9652:3;9648:12;9641:19;;9446:220;;;:::o;9672:366::-;;9835:67;9899:2;9894:3;9835:67;:::i;:::-;9828:74;;9911:93;10000:3;9911:93;:::i;:::-;10029:2;10024:3;10020:12;10013:19;;9818:220;;;:::o;10044:366::-;;10207:67;10271:2;10266:3;10207:67;:::i;:::-;10200:74;;10283:93;10372:3;10283:93;:::i;:::-;10401:2;10396:3;10392:12;10385:19;;10190:220;;;:::o;10416:366::-;;10579:67;10643:2;10638:3;10579:67;:::i;:::-;10572:74;;10655:93;10744:3;10655:93;:::i;:::-;10773:2;10768:3;10764:12;10757:19;;10562:220;;;:::o;10788:366::-;;10951:67;11015:2;11010:3;10951:67;:::i;:::-;10944:74;;11027:93;11116:3;11027:93;:::i;:::-;11145:2;11140:3;11136:12;11129:19;;10934:220;;;:::o;11160:366::-;;11323:67;11387:2;11382:3;11323:67;:::i;:::-;11316:74;;11399:93;11488:3;11399:93;:::i;:::-;11517:2;11512:3;11508:12;11501:19;;11306:220;;;:::o;11532:366::-;;11695:67;11759:2;11754:3;11695:67;:::i;:::-;11688:74;;11771:93;11860:3;11771:93;:::i;:::-;11889:2;11884:3;11880:12;11873:19;;11678:220;;;:::o;11904:118::-;11991:24;12009:5;11991:24;:::i;:::-;11986:3;11979:37;11969:53;;:::o;12028:157::-;12133:45;12153:24;12171:5;12153:24;:::i;:::-;12133:45;:::i;:::-;12128:3;12121:58;12111:74;;:::o;12191:102::-;12264:22;12280:5;12264:22;:::i;:::-;12259:3;12252:35;12242:51;;:::o;12299:112::-;12382:22;12398:5;12382:22;:::i;:::-;12377:3;12370:35;12360:51;;:::o;12417:149::-;12518:41;12536:22;12552:5;12536:22;:::i;:::-;12518:41;:::i;:::-;12513:3;12506:54;12496:70;;:::o;12572:397::-;;12727:75;12798:3;12789:6;12727:75;:::i;:::-;12827:2;12822:3;12818:12;12811:19;;12840:75;12911:3;12902:6;12840:75;:::i;:::-;12940:2;12935:3;12931:12;12924:19;;12960:3;12953:10;;12716:253;;;;;:::o;12975:397::-;;13130:75;13201:3;13192:6;13130:75;:::i;:::-;13230:2;13225:3;13221:12;13214:19;;13243:75;13314:3;13305:6;13243:75;:::i;:::-;13343:2;13338:3;13334:12;13327:19;;13363:3;13356:10;;13119:253;;;;;:::o;13378:689::-;;13605:71;13672:3;13663:6;13605:71;:::i;:::-;13701:1;13696:3;13692:11;13685:18;;13713:75;13784:3;13775:6;13713:75;:::i;:::-;13813:2;13808:3;13804:12;13797:19;;13833:95;13924:3;13915:6;13833:95;:::i;:::-;13826:102;;13938:75;14009:3;14000:6;13938:75;:::i;:::-;14038:2;14033:3;14029:12;14022:19;;14058:3;14051:10;;13594:473;;;;;;;:::o;14073:222::-;;14204:2;14193:9;14189:18;14181:26;;14217:71;14285:1;14274:9;14270:17;14261:6;14217:71;:::i;:::-;14171:124;;;;:::o;14301:332::-;;14460:2;14449:9;14445:18;14437:26;;14473:71;14541:1;14530:9;14526:17;14517:6;14473:71;:::i;:::-;14554:72;14622:2;14611:9;14607:18;14598:6;14554:72;:::i;:::-;14427:206;;;;;:::o;14639:423::-;;14818:2;14807:9;14803:18;14795:26;;14831:71;14899:1;14888:9;14884:17;14875:6;14831:71;:::i;:::-;14949:9;14943:4;14939:20;14934:2;14923:9;14919:18;14912:48;14977:78;15050:4;15041:6;14977:78;:::i;:::-;14969:86;;14785:277;;;;;:::o;15068:636::-;;15299:3;15288:9;15284:19;15276:27;;15313:71;15381:1;15370:9;15366:17;15357:6;15313:71;:::i;:::-;15431:9;15425:4;15421:20;15416:2;15405:9;15401:18;15394:48;15459:78;15532:4;15523:6;15459:78;:::i;:::-;15451:86;;15547:72;15615:2;15604:9;15600:18;15591:6;15547:72;:::i;:::-;15629:68;15693:2;15682:9;15678:18;15669:6;15629:68;:::i;:::-;15266:438;;;;;;;:::o;15710:332::-;;15869:2;15858:9;15854:18;15846:26;;15882:71;15950:1;15939:9;15935:17;15926:6;15882:71;:::i;:::-;15963:72;16031:2;16020:9;16016:18;16007:6;15963:72;:::i;:::-;15836:206;;;;;:::o;16048:306::-;;16221:2;16210:9;16206:18;16198:26;;16234:113;16344:1;16333:9;16329:17;16320:6;16234:113;:::i;:::-;16188:166;;;;:::o;16360:210::-;;16485:2;16474:9;16470:18;16462:26;;16498:65;16560:1;16549:9;16545:17;16536:6;16498:65;:::i;:::-;16452:118;;;;:::o;16576:320::-;;16729:2;16718:9;16714:18;16706:26;;16742:65;16804:1;16793:9;16789:17;16780:6;16742:65;:::i;:::-;16817:72;16885:2;16874:9;16870:18;16861:6;16817:72;:::i;:::-;16696:200;;;;;:::o;16902:222::-;;17033:2;17022:9;17018:18;17010:26;;17046:71;17114:1;17103:9;17099:17;17090:6;17046:71;:::i;:::-;17000:124;;;;:::o;17130:553::-;;17345:3;17334:9;17330:19;17322:27;;17359:71;17427:1;17416:9;17412:17;17403:6;17359:71;:::i;:::-;17440:72;17508:2;17497:9;17493:18;17484:6;17440:72;:::i;:::-;17522;17590:2;17579:9;17575:18;17566:6;17522:72;:::i;:::-;17604;17672:2;17661:9;17657:18;17648:6;17604:72;:::i;:::-;17312:371;;;;;;;:::o;17689:419::-;;17893:2;17882:9;17878:18;17870:26;;17942:9;17936:4;17932:20;17928:1;17917:9;17913:17;17906:47;17970:131;18096:4;17970:131;:::i;:::-;17962:139;;17860:248;;;:::o;18114:419::-;;18318:2;18307:9;18303:18;18295:26;;18367:9;18361:4;18357:20;18353:1;18342:9;18338:17;18331:47;18395:131;18521:4;18395:131;:::i;:::-;18387:139;;18285:248;;;:::o;18539:419::-;;18743:2;18732:9;18728:18;18720:26;;18792:9;18786:4;18782:20;18778:1;18767:9;18763:17;18756:47;18820:131;18946:4;18820:131;:::i;:::-;18812:139;;18710:248;;;:::o;18964:419::-;;19168:2;19157:9;19153:18;19145:26;;19217:9;19211:4;19207:20;19203:1;19192:9;19188:17;19181:47;19245:131;19371:4;19245:131;:::i;:::-;19237:139;;19135:248;;;:::o;19389:419::-;;19593:2;19582:9;19578:18;19570:26;;19642:9;19636:4;19632:20;19628:1;19617:9;19613:17;19606:47;19670:131;19796:4;19670:131;:::i;:::-;19662:139;;19560:248;;;:::o;19814:419::-;;20018:2;20007:9;20003:18;19995:26;;20067:9;20061:4;20057:20;20053:1;20042:9;20038:17;20031:47;20095:131;20221:4;20095:131;:::i;:::-;20087:139;;19985:248;;;:::o;20239:419::-;;20443:2;20432:9;20428:18;20420:26;;20492:9;20486:4;20482:20;20478:1;20467:9;20463:17;20456:47;20520:131;20646:4;20520:131;:::i;:::-;20512:139;;20410:248;;;:::o;20664:419::-;;20868:2;20857:9;20853:18;20845:26;;20917:9;20911:4;20907:20;20903:1;20892:9;20888:17;20881:47;20945:131;21071:4;20945:131;:::i;:::-;20937:139;;20835:248;;;:::o;21089:419::-;;21293:2;21282:9;21278:18;21270:26;;21342:9;21336:4;21332:20;21328:1;21317:9;21313:17;21306:47;21370:131;21496:4;21370:131;:::i;:::-;21362:139;;21260:248;;;:::o;21514:419::-;;21718:2;21707:9;21703:18;21695:26;;21767:9;21761:4;21757:20;21753:1;21742:9;21738:17;21731:47;21795:131;21921:4;21795:131;:::i;:::-;21787:139;;21685:248;;;:::o;21939:419::-;;22143:2;22132:9;22128:18;22120:26;;22192:9;22186:4;22182:20;22178:1;22167:9;22163:17;22156:47;22220:131;22346:4;22220:131;:::i;:::-;22212:139;;22110:248;;;:::o;22364:222::-;;22495:2;22484:9;22480:18;22472:26;;22508:71;22576:1;22565:9;22561:17;22552:6;22508:71;:::i;:::-;22462:124;;;;:::o;22592:553::-;;22807:3;22796:9;22792:19;22784:27;;22821:71;22889:1;22878:9;22874:17;22865:6;22821:71;:::i;:::-;22902:72;22970:2;22959:9;22955:18;22946:6;22902:72;:::i;:::-;22984;23052:2;23041:9;23037:18;23028:6;22984:72;:::i;:::-;23066;23134:2;23123:9;23119:18;23110:6;23066:72;:::i;:::-;22774:371;;;;;;;:::o;23151:636::-;;23382:3;23371:9;23367:19;23359:27;;23396:67;23460:1;23449:9;23445:17;23436:6;23396:67;:::i;:::-;23473:72;23541:2;23530:9;23526:18;23517:6;23473:72;:::i;:::-;23592:9;23586:4;23582:20;23577:2;23566:9;23562:18;23555:48;23620:78;23693:4;23684:6;23620:78;:::i;:::-;23612:86;;23708:72;23776:2;23765:9;23761:18;23752:6;23708:72;:::i;:::-;23349:438;;;;;;;:::o;23793:129::-;;23854:20;;:::i;:::-;23844:30;;23883:33;23911:4;23903:6;23883:33;:::i;:::-;23834:88;;;:::o;23928:75::-;;23994:2;23988:9;23978:19;;23968:35;:::o;24009:308::-;;24161:18;24153:6;24150:30;24147:2;;;24183:18;;:::i;:::-;24147:2;24221:29;24243:6;24221:29;:::i;:::-;24213:37;;24305:4;24299;24295:15;24287:23;;24076:241;;;:::o;24323:96::-;;24409:3;24401:11;;24391:28;;;:::o;24425:102::-;;24516:4;24506:14;;24495:32;;;:::o;24533:99::-;;24619:5;24613:12;24603:22;;24592:40;;;:::o;24638:109::-;;24736:4;24731:3;24727:14;24719:22;;24709:38;;;:::o;24753:141::-;;24885:3;24870:18;;24860:34;;;;:::o;24900:169::-;;25018:6;25013:3;25006:19;25058:4;25053:3;25049:14;25034:29;;24996:73;;;;:::o;25075:148::-;;25214:3;25199:18;;25189:34;;;;:::o;25229:185::-;;25286:20;25304:1;25286:20;:::i;:::-;25281:25;;25320:20;25338:1;25320:20;:::i;:::-;25315:25;;25359:1;25349:2;;25364:18;;:::i;:::-;25349:2;25406:1;25403;25399:9;25394:14;;25271:143;;;;:::o;25420:348::-;;25483:20;25501:1;25483:20;:::i;:::-;25478:25;;25517:20;25535:1;25517:20;:::i;:::-;25512:25;;25705:1;25637:66;25633:74;25630:1;25627:81;25622:1;25615:9;25608:17;25604:105;25601:2;;;25712:18;;:::i;:::-;25601:2;25760:1;25757;25753:9;25742:20;;25468:300;;;;:::o;25774:191::-;;25834:20;25852:1;25834:20;:::i;:::-;25829:25;;25868:20;25886:1;25868:20;:::i;:::-;25863:25;;25907:1;25904;25901:8;25898:2;;;25912:18;;:::i;:::-;25898:2;25957:1;25954;25950:9;25942:17;;25819:146;;;;:::o;25971:96::-;;26037:24;26055:5;26037:24;:::i;:::-;26026:35;;26016:51;;;:::o;26073:90::-;;26150:5;26143:13;26136:21;26125:32;;26115:48;;;:::o;26169:77::-;;26235:5;26224:16;;26214:32;;;:::o;26252:126::-;;26329:42;26322:5;26318:54;26307:65;;26297:81;;;:::o;26384:77::-;;26450:5;26439:16;;26429:32;;;:::o;26467:86::-;;26542:4;26535:5;26531:16;26520:27;;26510:43;;;:::o;26559:154::-;26643:6;26638:3;26633;26620:30;26705:1;26696:6;26691:3;26687:16;26680:27;26610:103;;;:::o;26719:307::-;26787:1;26797:113;26811:6;26808:1;26805:13;26797:113;;;26896:1;26891:3;26887:11;26881:18;26877:1;26872:3;26868:11;26861:39;26833:2;26830:1;26826:10;26821:15;;26797:113;;;26928:6;26925:1;26922:13;26919:2;;;27008:1;26999:6;26994:3;26990:16;26983:27;26919:2;26768:258;;;;:::o;27032:281::-;27115:27;27137:4;27115:27;:::i;:::-;27107:6;27103:40;27245:6;27233:10;27230:22;27209:18;27197:10;27194:34;27191:62;27188:2;;;27256:18;;:::i;:::-;27188:2;27296:10;27292:2;27285:22;27075:238;;;:::o;27319:233::-;;27381:24;27399:5;27381:24;:::i;:::-;27372:33;;27427:66;27420:5;27417:77;27414:2;;;27497:18;;:::i;:::-;27414:2;27544:1;27537:5;27533:13;27526:20;;27362:190;;;:::o;27558:167::-;;27618:22;27634:5;27618:22;:::i;:::-;27609:31;;27662:4;27655:5;27652:15;27649:2;;;27670:18;;:::i;:::-;27649:2;27717:1;27710:5;27706:13;27699:20;;27599:126;;;:::o;27731:100::-;;27799:26;27819:5;27799:26;:::i;:::-;27788:37;;27778:53;;;:::o;27837:79::-;;27905:5;27894:16;;27884:32;;;:::o;27922:94::-;;27990:20;28004:5;27990:20;:::i;:::-;27979:31;;27969:47;;;:::o;28022:79::-;;28090:5;28079:16;;28069:32;;;:::o;28107:93::-;;28173:21;28188:5;28173:21;:::i;:::-;28162:32;;28152:48;;;:::o;28206:176::-;;28255:20;28273:1;28255:20;:::i;:::-;28250:25;;28289:20;28307:1;28289:20;:::i;:::-;28284:25;;28328:1;28318:2;;28333:18;;:::i;:::-;28318:2;28374:1;28371;28367:9;28362:14;;28240:142;;;;:::o;28388:180::-;28436:77;28433:1;28426:88;28533:4;28530:1;28523:15;28557:4;28554:1;28547:15;28574:180;28622:77;28619:1;28612:88;28719:4;28716:1;28709:15;28743:4;28740:1;28733:15;28760:180;28808:77;28805:1;28798:88;28905:4;28902:1;28895:15;28929:4;28926:1;28919:15;28946:102;;29038:2;29034:7;29029:2;29022:5;29018:14;29014:28;29004:38;;28994:54;;;:::o;29054:96::-;;29137:5;29132:3;29128:15;29107:36;;29097:53;;;:::o;29156:94::-;;29237:5;29233:2;29229:14;29208:35;;29198:52;;;:::o;29256:234::-;29396:34;29392:1;29384:6;29380:14;29373:58;29465:17;29460:2;29452:6;29448:15;29441:42;29362:128;:::o;29496:235::-;29636:34;29632:1;29624:6;29620:14;29613:58;29705:18;29700:2;29692:6;29688:15;29681:43;29602:129;:::o;29737:177::-;29877:29;29873:1;29865:6;29861:14;29854:53;29843:71;:::o;29920:178::-;30060:30;30056:1;30048:6;30044:14;30037:54;30026:72;:::o;30104:224::-;30244:34;30240:1;30232:6;30228:14;30221:58;30313:7;30308:2;30300:6;30296:15;30289:32;30210:118;:::o;30334:172::-;30474:24;30470:1;30462:6;30458:14;30451:48;30440:66;:::o;30512:221::-;30652:34;30648:1;30640:6;30636:14;30629:58;30721:4;30716:2;30708:6;30704:15;30697:29;30618:115;:::o;30739:179::-;30879:31;30875:1;30867:6;30863:14;30856:55;30845:73;:::o;30924:179::-;31064:31;31060:1;31052:6;31048:14;31041:55;31030:73;:::o;31109:178::-;31249:30;31245:1;31237:6;31233:14;31226:54;31215:72;:::o;31293:222::-;31433:34;31429:1;31421:6;31417:14;31410:58;31502:5;31497:2;31489:6;31485:15;31478:30;31399:116;:::o;31521:122::-;31594:24;31612:5;31594:24;:::i;:::-;31587:5;31584:35;31574:2;;31633:1;31630;31623:12;31574:2;31564:79;:::o;31649:116::-;31719:21;31734:5;31719:21;:::i;:::-;31712:5;31709:32;31699:2;;31755:1;31752;31745:12;31699:2;31689:76;:::o;31771:122::-;31844:24;31862:5;31844:24;:::i;:::-;31837:5;31834:35;31824:2;;31883:1;31880;31873:12;31824:2;31814:79;:::o;31899:118::-;31970:22;31986:5;31970:22;:::i;:::-;31963:5;31960:33;31950:2;;32007:1;32004;31997:12;31950:2;31940:77;:::o","source":"// SPDX-License-Identifier: MIT\\r\\npragma solidity ^0.8.3;\\r\\n\\r\\n// It\'s important to avoid vulnerabilities due to numeric overflow bugs\\r\\n// OpenZeppelin\'s SafeMath library, when used correctly, protects agains such bugs\\r\\n// More info: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2018/november/smart-contract-insecurity-bad-arithmetic/\\r\\n\\r\\nimport \\"../node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol\\";\\r\\nimport \\"./FlightSuretyData.sol\\";\\r\\n\\r\\n/************************************************** */\\r\\n/* FlightSurety Smart Contract                      */\\r\\n/************************************************** */\\r\\ncontract FlightSuretyApp {\\r\\n    using SafeMath for uint256; // Allow SafeMath functions to be called for all uint256 types (similar to \\"prototype\\" in Javascript)\\r\\n\\r\\n    /********************************************************************************************/\\r\\n    /*                                       DATA VARIABLES                                     */\\r\\n    /********************************************************************************************/\\r\\n\\r\\n    // Flight status codees\\r\\n    uint8 private constant STATUS_CODE_UNKNOWN = 0;\\r\\n    uint8 private constant STATUS_CODE_ON_TIME = 10;\\r\\n    uint8 private constant STATUS_CODE_LATE_AIRLINE = 20;\\r\\n    uint8 private constant STATUS_CODE_LATE_WEATHER = 30;\\r\\n    uint8 private constant STATUS_CODE_LATE_TECHNICAL = 40;\\r\\n    uint8 private constant STATUS_CODE_LATE_OTHER = 50;\\r\\n\\r\\n    address private contractOwner; // Account used to deploy contract\\r\\n\\r\\n    // Airlines\\r\\n    // airline-to-register to airlines voting; for consensus checking\\r\\n    mapping(address => address[]) public airlinesForRegistration;\\r\\n\\r\\n    // Flights\\r\\n    struct Flight {\\r\\n        bool isRegistered;\\r\\n        uint8 statusCode;\\r\\n        uint256 updatedTimestamp;\\r\\n        address airline;\\r\\n    }\\r\\n    mapping(bytes32 => Flight) private flights;\\r\\n\\r\\n    /********************************************************************************************/\\r\\n    /*                                       EVENT DEFINITIONS                                  */\\r\\n    /********************************************************************************************/\\r\\n\\r\\n    event AirlineRegistered(address airline, uint256 count);\\r\\n    event AirlineFunded(address airline, uint256 funds);\\r\\n\\r\\n    event InsurancePurchased(\\r\\n        uint256 timestamp,\\r\\n        address airline,\\r\\n        address passenger,\\r\\n        uint256 amount\\r\\n    );\\r\\n    event PassengerCredited(address passenger, uint256 amount);\\r\\n\\r\\n    event CreditInsurees(address airline, string flight);\\r\\n\\r\\n    /********************************************************************************************/\\r\\n    /*                                       FUNCTION MODIFIERS                                 */\\r\\n    /********************************************************************************************/\\r\\n\\r\\n    // Modifiers help avoid duplication of code. They are typically used to validate something\\r\\n    // before a function is allowed to be executed.\\r\\n\\r\\n    /**\\r\\n     * @dev Modifier that requires the \\"operational\\" boolean variable to be \\"true\\"\\r\\n     *      This is used on all state changing functions to pause the contract in\\r\\n     *      the event there is an issue that needs to be fixed\\r\\n     */\\r\\n    modifier requireIsOperational() {\\r\\n        // Modify to call data contract\'s status\\r\\n        require(true, \\"Contract is currently not operational\\");\\r\\n        _; // All modifiers require an \\"_\\" which indicates where the function body will be added\\r\\n    }\\r\\n\\r\\n    /**\\r\\n     * @dev Modifier that requires the \\"ContractOwner\\" account to be the function caller\\r\\n     */\\r\\n    modifier requireContractOwner() {\\r\\n        require(msg.sender == contractOwner, \\"Caller is not contract owner\\");\\r\\n        _;\\r\\n    }\\r\\n\\r\\n    // Reference Flight Surety data contract\\r\\n    FlightSuretyData flightSuretyData;\\r\\n\\r\\n    /********************************************************************************************/\\r\\n    /*                                       CONSTRUCTOR                                        */\\r\\n    /********************************************************************************************/\\r\\n\\r\\n    /**\\r\\n     * @dev Contract constructor\\r\\n     *\\r\\n     */\\r\\n    constructor(address payable flightSuretyDataAddress) {\\r\\n        contractOwner = msg.sender;\\r\\n        flightSuretyData = FlightSuretyData(flightSuretyDataAddress);\\r\\n    }\\r\\n\\r\\n    /********************************************************************************************/\\r\\n    /*                                       UTILITY FUNCTIONS                                  */\\r\\n    /********************************************************************************************/\\r\\n\\r\\n    function isOperational() public view returns (bool) {\\r\\n        return flightSuretyData.isOperational(); // Modify to call data contract\'s status\\r\\n    }\\r\\n\\r\\n    // airlines\\r\\n\\r\\n    // airline modifiers\\r\\n    modifier requireNotAlreadyRegistered(address airline) {\\r\\n        require(\\r\\n            !flightSuretyData.isAirlineRegistered(airline),\\r\\n            \\"Airline is already registered\\"\\r\\n        );\\r\\n        _;\\r\\n    }\\r\\n\\r\\n    // modifier requireFunded(address airline) {\\r\\n    //     require(\\r\\n    //         flightSuretyData.isFunded(airline),\\r\\n    //         \\"Airline has not sufficiently contributed to the funds\\"\\r\\n    //     );\\r\\n    //     _;\\r\\n    // }\\r\\n\\r\\n    /********************************************************************************************/\\r\\n    /*                                     SMART CONTRACT FUNCTIONS                             */\\r\\n    /********************************************************************************************/\\r\\n    function isAirline(address airline) external view returns (bool) {\\r\\n        return flightSuretyData.isAirlineRegistered(airline);\\r\\n    }\\r\\n\\r\\n    /**\\r\\n     * @dev Add an airline to the registration queue\\r\\n     *\\r\\n     */\\r\\n    function registerAirline(address airline)\\r\\n        public\\r\\n        payable\\r\\n        requireIsOperational\\r\\n        requireNotAlreadyRegistered(airline)\\r\\n        returns (bool success, uint256 votes)\\r\\n    {\\r\\n        if (flightSuretyData.getRegisteredAirlinesCount() < 4) {\\r\\n            flightSuretyData.registerAirline(airline);\\r\\n\\r\\n            if (flightSuretyData.isAirlineRegistered(airline)) {\\r\\n                emit AirlineRegistered(\\r\\n                    airline,\\r\\n                    flightSuretyData.getRegisteredAirlinesCount()\\r\\n                );\\r\\n            }\\r\\n\\r\\n            return (true, 33);\\r\\n        } else {\\r\\n            // Check consensus if more than or equal to 4 registered airlines\\r\\n\\r\\n            // Check if not already voted\\r\\n            bool isVoted = false;\\r\\n            for (\\r\\n                uint256 i = 0;\\r\\n                i < airlinesForRegistration[airline].length;\\r\\n                i++\\r\\n            ) {\\r\\n                if (airlinesForRegistration[airline][i] == msg.sender) {\\r\\n                    isVoted = true;\\r\\n                    break;\\r\\n                }\\r\\n            }\\r\\n            require(!isVoted, \\"Airline has already been voted for\\");\\r\\n\\r\\n            airlinesForRegistration[airline].push(msg.sender);\\r\\n\\r\\n            // Check if enough votes to register airline\\r\\n            if (\\r\\n                (airlinesForRegistration[airline].length * 100).div(\\r\\n                    flightSuretyData.getRegisteredAirlinesCount()\\r\\n                ) >= 50\\r\\n            ) {\\r\\n                flightSuretyData.registerAirline(airline);\\r\\n\\r\\n                if (flightSuretyData.isAirlineRegistered(airline)) {\\r\\n                    emit AirlineRegistered(\\r\\n                        airline,\\r\\n                        flightSuretyData.getRegisteredAirlinesCount()\\r\\n                    );\\r\\n                }\\r\\n\\r\\n                return (true, airlinesForRegistration[airline].length);\\r\\n            }\\r\\n            return (false, airlinesForRegistration[airline].length);\\r\\n        }\\r\\n    }\\r\\n\\r\\n    function fundAirline() public payable {\\r\\n        flightSuretyData.fund(msg.sender, msg.value);\\r\\n\\r\\n        if (flightSuretyData.isFunded(msg.sender)) {\\r\\n            emit AirlineFunded(\\r\\n                msg.sender,\\r\\n                flightSuretyData.getFunds(msg.sender)\\r\\n            );\\r\\n        }\\r\\n    }\\r\\n\\r\\n    function isFunded(address airline) external view returns (bool) {\\r\\n        return flightSuretyData.isFunded(airline);\\r\\n    }\\r\\n\\r\\n    function buyInsurance(uint256 timestamp, address airline)\\r\\n        external\\r\\n        payable\\r\\n        requireIsOperational\\r\\n    {\\r\\n        // Check if amount range is greater than 0 ether and less than 1 ether.\\r\\n        require(\\r\\n            (msg.value > 0 ether) && (msg.value <= 1 ether),\\r\\n            \\"Insurance amount should be between 0 and 1 ether\\"\\r\\n        );\\r\\n\\r\\n        bytes32 flight = getFlightKey(timestamp, airline);\\r\\n\\r\\n        flightSuretyData.buy(flight, airline, msg.sender, msg.value);\\r\\n\\r\\n        emit InsurancePurchased(timestamp, airline, msg.sender, msg.value);\\r\\n    }\\r\\n\\r\\n    /**\\r\\n     *  @dev Transfers eligible payout funds to insuree\\r\\n     *\\r\\n     */\\r\\n    function creditPassenger(uint256 timestamp, address airline)\\r\\n        external\\r\\n        requireIsOperational\\r\\n    {\\r\\n        bytes32 flight = getFlightKey(timestamp, airline);\\r\\n        uint256 amount = flightSuretyData.creditedAmount(msg.sender, flight);\\r\\n        require(amount > 0, \\"No balance to withdraw\\");\\r\\n\\r\\n        flightSuretyData.pay(msg.sender, flight);\\r\\n\\r\\n        emit PassengerCredited(msg.sender, amount);\\r\\n    }\\r\\n\\r\\n    /**\\r\\n     * @dev Register a future flight for insuring.\\r\\n     *\\r\\n     */\\r\\n    function registerFlight(uint256 timestamp, address airline) external {\\r\\n        bytes32 flight = getFlightKey(timestamp, airline);\\r\\n\\r\\n        require(!flights[flight].isRegistered, \\"Flight is already registered\\");\\r\\n\\r\\n        flights[flight] = Flight(true, STATUS_CODE_UNKNOWN, timestamp, airline);\\r\\n    }\\r\\n\\r\\n    function getFlightKey(uint256 timestamp, address airline)\\r\\n        internal\\r\\n        pure\\r\\n        returns (bytes32)\\r\\n    {\\r\\n        return keccak256(abi.encodePacked(timestamp, airline));\\r\\n    }\\r\\n\\r\\n    /**\\r\\n     * @dev Called after oracle has updated flight status\\r\\n     *\\r\\n     */\\r\\n    function processFlightStatus(\\r\\n        address airline,\\r\\n        string memory flight,\\r\\n        uint256 timestamp,\\r\\n        uint8 statusCode\\r\\n    ) public {\\r\\n        require(address(0) != airline, \\"Airline address must be valid\\");\\r\\n\\r\\n        // process insurance if flight delayed due to airline fault\\r\\n        if (\\r\\n            (statusCode == STATUS_CODE_LATE_AIRLINE) ||\\r\\n            (statusCode == STATUS_CODE_LATE_TECHNICAL)\\r\\n        ) {\\r\\n            bytes32 flightKey = getFlightKey(timestamp, airline);\\r\\n            flightSuretyData.creditInsurees(flightKey);\\r\\n            emit CreditInsurees(airline, flight);\\r\\n        }\\r\\n    }\\r\\n\\r\\n    // Generate a request for oracles to fetch flight information\\r\\n    function fetchFlightStatus(\\r\\n        address airline,\\r\\n        string memory flight,\\r\\n        uint256 timestamp\\r\\n    ) external {\\r\\n        uint8 index = getRandomIndex(msg.sender);\\r\\n\\r\\n        // Generate a unique key for storing the request\\r\\n        bytes32 key = keccak256(\\r\\n            abi.encodePacked(index, airline, flight, timestamp)\\r\\n        );\\r\\n\\r\\n        // oracleResponses[key] = ResponseInfo({\\r\\n        //                                         requester: msg.sender,\\r\\n        //                                         isOpen: true\\r\\n        //                                     });\\r\\n\\r\\n        oracleResponses[key].requester = msg.sender;\\r\\n        oracleResponses[key].isOpen = true;\\r\\n\\r\\n        emit OracleRequest(index, airline, flight, timestamp);\\r\\n    }\\r\\n\\r\\n    // region ORACLE MANAGEMENT\\r\\n\\r\\n    // Incremented to add pseudo-randomness at various points\\r\\n    uint8 private nonce = 0;\\r\\n\\r\\n    // Fee to be paid when registering oracle\\r\\n    uint256 public constant REGISTRATION_FEE = 1 ether;\\r\\n\\r\\n    // Number of oracles that must respond for valid status\\r\\n    uint256 private constant MIN_RESPONSES = 3;\\r\\n\\r\\n    struct Oracle {\\r\\n        bool isRegistered;\\r\\n        uint8[3] indexes;\\r\\n    }\\r\\n\\r\\n    // Track all registered oracles\\r\\n    mapping(address => Oracle) private oracles;\\r\\n\\r\\n    // Model for responses from oracles\\r\\n    struct ResponseInfo {\\r\\n        address requester; // Account that requested status\\r\\n        bool isOpen; // If open, oracle responses are accepted\\r\\n        mapping(uint8 => address[]) responses; // Mapping key is the status code reported\\r\\n        // This lets us group responses and identify\\r\\n        // the response that majority of the oracles\\r\\n    }\\r\\n\\r\\n    // Track all oracle responses\\r\\n    // Key = hash(index, flight, timestamp)\\r\\n    mapping(bytes32 => ResponseInfo) private oracleResponses;\\r\\n\\r\\n    // Event fired each time an oracle submits a response\\r\\n    event FlightStatusInfo(\\r\\n        address airline,\\r\\n        string flight,\\r\\n        uint256 timestamp,\\r\\n        uint8 status\\r\\n    );\\r\\n\\r\\n    event OracleReport(\\r\\n        address airline,\\r\\n        string flight,\\r\\n        uint256 timestamp,\\r\\n        uint8 status\\r\\n    );\\r\\n\\r\\n    // Event fired when flight status request is submitted\\r\\n    // Oracles track this and if they have a matching index\\r\\n    // they fetch data and submit a response\\r\\n    event OracleRequest(\\r\\n        uint8 index,\\r\\n        address airline,\\r\\n        string flight,\\r\\n        uint256 timestamp\\r\\n    );\\r\\n\\r\\n    // Register an oracle with the contract\\r\\n    function registerOracle() external payable {\\r\\n        // Require registration fee\\r\\n        require(msg.value >= REGISTRATION_FEE, \\"Registration fee is required\\");\\r\\n\\r\\n        uint8[3] memory indexes = generateIndexes(msg.sender);\\r\\n\\r\\n        oracles[msg.sender] = Oracle({isRegistered: true, indexes: indexes});\\r\\n    }\\r\\n\\r\\n    function getMyIndexes() external view returns (uint8[3] memory) {\\r\\n        require(\\r\\n            oracles[msg.sender].isRegistered,\\r\\n            \\"Not registered as an oracle\\"\\r\\n        );\\r\\n\\r\\n        return oracles[msg.sender].indexes;\\r\\n    }\\r\\n\\r\\n    // Called by oracle when a response is available to an outstanding request\\r\\n    // For the response to be accepted, there must be a pending request that is open\\r\\n    // and matches one of the three Indexes randomly assigned to the oracle at the\\r\\n    // time of registration (i.e. uninvited oracles are not welcome)\\r\\n    function submitOracleResponse(\\r\\n        uint8 index,\\r\\n        address airline,\\r\\n        string memory flight,\\r\\n        uint256 timestamp,\\r\\n        uint8 statusCode\\r\\n    ) external {\\r\\n        require(\\r\\n            (oracles[msg.sender].indexes[0] == index) ||\\r\\n                (oracles[msg.sender].indexes[1] == index) ||\\r\\n                (oracles[msg.sender].indexes[2] == index),\\r\\n            \\"Index does not match oracle request\\"\\r\\n        );\\r\\n\\r\\n        bytes32 key = keccak256(\\r\\n            abi.encodePacked(index, airline, flight, timestamp)\\r\\n        );\\r\\n        require(\\r\\n            oracleResponses[key].isOpen,\\r\\n            \\"Flight or timestamp do not match oracle request\\"\\r\\n        );\\r\\n\\r\\n        oracleResponses[key].responses[statusCode].push(msg.sender);\\r\\n\\r\\n        // Information isn\'t considered verified until at least MIN_RESPONSES\\r\\n        // oracles respond with the *** same *** information\\r\\n        emit OracleReport(airline, flight, timestamp, statusCode);\\r\\n        if (\\r\\n            oracleResponses[key].responses[statusCode].length >= MIN_RESPONSES\\r\\n        ) {\\r\\n            emit FlightStatusInfo(airline, flight, timestamp, statusCode);\\r\\n\\r\\n            // Handle flight status as appropriate\\r\\n            processFlightStatus(airline, flight, timestamp, statusCode);\\r\\n        }\\r\\n    }\\r\\n\\r\\n    function getFlightKey(\\r\\n        address airline,\\r\\n        string memory flight,\\r\\n        uint256 timestamp\\r\\n    ) internal pure returns (bytes32) {\\r\\n        return keccak256(abi.encodePacked(airline, flight, timestamp));\\r\\n    }\\r\\n\\r\\n    // Returns array of three non-duplicating integers from 0-9\\r\\n    function generateIndexes(address account)\\r\\n        internal\\r\\n        returns (uint8[3] memory)\\r\\n    {\\r\\n        uint8[3] memory indexes;\\r\\n        indexes[0] = getRandomIndex(account);\\r\\n\\r\\n        indexes[1] = indexes[0];\\r\\n        while (indexes[1] == indexes[0]) {\\r\\n            indexes[1] = getRandomIndex(account);\\r\\n        }\\r\\n\\r\\n        indexes[2] = indexes[1];\\r\\n        while ((indexes[2] == indexes[0]) || (indexes[2] == indexes[1])) {\\r\\n            indexes[2] = getRandomIndex(account);\\r\\n        }\\r\\n\\r\\n        return indexes;\\r\\n    }\\r\\n\\r\\n    // Returns array of three non-duplicating integers from 0-9\\r\\n    function getRandomIndex(address account) internal returns (uint8) {\\r\\n        uint8 maxValue = 10;\\r\\n\\r\\n        // Pseudo random number...the incrementing nonce adds variation\\r\\n        uint8 random = uint8(\\r\\n            uint256(\\r\\n                keccak256(\\r\\n                    abi.encodePacked(blockhash(block.number - nonce++), account)\\r\\n                )\\r\\n            ) % maxValue\\r\\n        );\\r\\n\\r\\n        if (nonce > 250) {\\r\\n            nonce = 0; // Can only fetch blockhashes for last 256 blocks so we adapt\\r\\n        }\\r\\n\\r\\n        return random;\\r\\n    }\\r\\n\\r\\n    // endregion\\r\\n}\\r\\n","sourcePath":"C:\\\\Users\\\\vinee\\\\Google Drive\\\\Nanodegrees\\\\Blockchain developer\\\\Project 4 - Fight surety\\\\contracts\\\\FlightSuretyApp.sol","ast":{"absolutePath":"project:/contracts/FlightSuretyApp.sol","exportedSymbols":{"FlightSuretyApp":[996],"FlightSuretyData":[1536],"SafeMath":[1885]},"id":997,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".3"],"nodeType":"PragmaDirective","src":"33:23:0"},{"absolutePath":"project:/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol","file":"../node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol","id":2,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":997,"sourceUnit":1886,"src":"354:73:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"project:/contracts/FlightSuretyData.sol","file":"./FlightSuretyData.sol","id":3,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":997,"sourceUnit":1537,"src":"429:32:0","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":996,"linearizedBaseContracts":[996],"name":"FlightSuretyApp","nameLocation":"642:15:0","nodeType":"ContractDefinition","nodes":[{"id":6,"libraryName":{"id":4,"name":"SafeMath","nodeType":"IdentifierPath","referencedDeclaration":1885,"src":"671:8:0"},"nodeType":"UsingForDirective","src":"665:27:0","typeName":{"id":5,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":true,"id":9,"mutability":"constant","name":"STATUS_CODE_UNKNOWN","nameLocation":"1156:19:0","nodeType":"VariableDeclaration","scope":996,"src":"1133:46:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7,"name":"uint8","nodeType":"ElementaryTypeName","src":"1133:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"30","id":8,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1178:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"id":12,"mutability":"constant","name":"STATUS_CODE_ON_TIME","nameLocation":"1209:19:0","nodeType":"VariableDeclaration","scope":996,"src":"1186:47:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":10,"name":"uint8","nodeType":"ElementaryTypeName","src":"1186:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3130","id":11,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1231:2:0","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"private"},{"constant":true,"id":15,"mutability":"constant","name":"STATUS_CODE_LATE_AIRLINE","nameLocation":"1263:24:0","nodeType":"VariableDeclaration","scope":996,"src":"1240:52:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13,"name":"uint8","nodeType":"ElementaryTypeName","src":"1240:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":14,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1290:2:0","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"constant":true,"id":18,"mutability":"constant","name":"STATUS_CODE_LATE_WEATHER","nameLocation":"1322:24:0","nodeType":"VariableDeclaration","scope":996,"src":"1299:52:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":16,"name":"uint8","nodeType":"ElementaryTypeName","src":"1299:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3330","id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1349:2:0","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},"visibility":"private"},{"constant":true,"id":21,"mutability":"constant","name":"STATUS_CODE_LATE_TECHNICAL","nameLocation":"1381:26:0","nodeType":"VariableDeclaration","scope":996,"src":"1358:54:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":19,"name":"uint8","nodeType":"ElementaryTypeName","src":"1358:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3430","id":20,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1410:2:0","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"visibility":"private"},{"constant":true,"id":24,"mutability":"constant","name":"STATUS_CODE_LATE_OTHER","nameLocation":"1442:22:0","nodeType":"VariableDeclaration","scope":996,"src":"1419:50:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":22,"name":"uint8","nodeType":"ElementaryTypeName","src":"1419:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3530","id":23,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1467:2:0","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"private"},{"constant":false,"id":26,"mutability":"mutable","name":"contractOwner","nameLocation":"1494:13:0","nodeType":"VariableDeclaration","scope":996,"src":"1478:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25,"name":"address","nodeType":"ElementaryTypeName","src":"1478:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"constant":false,"functionSelector":"c829e3ef","id":31,"mutability":"mutable","name":"airlinesForRegistration","nameLocation":"1676:23:0","nodeType":"VariableDeclaration","scope":996,"src":"1639:60:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":30,"keyType":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"1647:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1639:29:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueType":{"baseType":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"1658:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29,"nodeType":"ArrayTypeName","src":"1658:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"canonicalName":"FlightSuretyApp.Flight","id":40,"members":[{"constant":false,"id":33,"mutability":"mutable","name":"isRegistered","nameLocation":"1754:12:0","nodeType":"VariableDeclaration","scope":40,"src":"1749:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32,"name":"bool","nodeType":"ElementaryTypeName","src":"1749:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35,"mutability":"mutable","name":"statusCode","nameLocation":"1783:10:0","nodeType":"VariableDeclaration","scope":40,"src":"1777:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":34,"name":"uint8","nodeType":"ElementaryTypeName","src":"1777:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":37,"mutability":"mutable","name":"updatedTimestamp","nameLocation":"1812:16:0","nodeType":"VariableDeclaration","scope":40,"src":"1804:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"1804:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39,"mutability":"mutable","name":"airline","nameLocation":"1847:7:0","nodeType":"VariableDeclaration","scope":40,"src":"1839:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38,"name":"address","nodeType":"ElementaryTypeName","src":"1839:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Flight","nameLocation":"1731:6:0","nodeType":"StructDefinition","scope":996,"src":"1724:138:0","visibility":"public"},{"constant":false,"id":45,"mutability":"mutable","name":"flights","nameLocation":"1903:7:0","nodeType":"VariableDeclaration","scope":996,"src":"1868:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Flight_$40_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.Flight)"},"typeName":{"id":44,"keyType":{"id":41,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1876:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1868:26:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Flight_$40_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.Flight)"},"valueType":{"id":43,"nodeType":"UserDefinedTypeName","pathNode":{"id":42,"name":"Flight","nodeType":"IdentifierPath","referencedDeclaration":40,"src":"1887:6:0"},"referencedDeclaration":40,"src":"1887:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_storage_ptr","typeString":"struct FlightSuretyApp.Flight"}}},"visibility":"private"},{"anonymous":false,"id":51,"name":"AirlineRegistered","nameLocation":"2227:17:0","nodeType":"EventDefinition","parameters":{"id":50,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"2253:7:0","nodeType":"VariableDeclaration","scope":51,"src":"2245:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46,"name":"address","nodeType":"ElementaryTypeName","src":"2245:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49,"indexed":false,"mutability":"mutable","name":"count","nameLocation":"2270:5:0","nodeType":"VariableDeclaration","scope":51,"src":"2262:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48,"name":"uint256","nodeType":"ElementaryTypeName","src":"2262:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2244:32:0"},"src":"2221:56:0"},{"anonymous":false,"id":57,"name":"AirlineFunded","nameLocation":"2289:13:0","nodeType":"EventDefinition","parameters":{"id":56,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"2311:7:0","nodeType":"VariableDeclaration","scope":57,"src":"2303:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52,"name":"address","nodeType":"ElementaryTypeName","src":"2303:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55,"indexed":false,"mutability":"mutable","name":"funds","nameLocation":"2328:5:0","nodeType":"VariableDeclaration","scope":57,"src":"2320:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"2320:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2302:32:0"},"src":"2283:52:0"},{"anonymous":false,"id":67,"name":"InsurancePurchased","nameLocation":"2349:18:0","nodeType":"EventDefinition","parameters":{"id":66,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"2386:9:0","nodeType":"VariableDeclaration","scope":67,"src":"2378:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58,"name":"uint256","nodeType":"ElementaryTypeName","src":"2378:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"2414:7:0","nodeType":"VariableDeclaration","scope":67,"src":"2406:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"2406:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63,"indexed":false,"mutability":"mutable","name":"passenger","nameLocation":"2440:9:0","nodeType":"VariableDeclaration","scope":67,"src":"2432:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62,"name":"address","nodeType":"ElementaryTypeName","src":"2432:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2468:6:0","nodeType":"VariableDeclaration","scope":67,"src":"2460:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64,"name":"uint256","nodeType":"ElementaryTypeName","src":"2460:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2367:114:0"},"src":"2343:139:0"},{"anonymous":false,"id":73,"name":"PassengerCredited","nameLocation":"2494:17:0","nodeType":"EventDefinition","parameters":{"id":72,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"indexed":false,"mutability":"mutable","name":"passenger","nameLocation":"2520:9:0","nodeType":"VariableDeclaration","scope":73,"src":"2512:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68,"name":"address","nodeType":"ElementaryTypeName","src":"2512:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2539:6:0","nodeType":"VariableDeclaration","scope":73,"src":"2531:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70,"name":"uint256","nodeType":"ElementaryTypeName","src":"2531:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2511:35:0"},"src":"2488:59:0"},{"anonymous":false,"id":79,"name":"CreditInsurees","nameLocation":"2561:14:0","nodeType":"EventDefinition","parameters":{"id":78,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"2584:7:0","nodeType":"VariableDeclaration","scope":79,"src":"2576:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74,"name":"address","nodeType":"ElementaryTypeName","src":"2576:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77,"indexed":false,"mutability":"mutable","name":"flight","nameLocation":"2600:6:0","nodeType":"VariableDeclaration","scope":79,"src":"2593:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":76,"name":"string","nodeType":"ElementaryTypeName","src":"2593:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2575:32:0"},"src":"2555:53:0"},{"body":{"id":88,"nodeType":"Block","src":"3350:221:0","statements":[{"expression":{"arguments":[{"hexValue":"74727565","id":83,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3419:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"436f6e74726163742069732063757272656e746c79206e6f74206f7065726174696f6e616c","id":84,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3425:39:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","typeString":"literal_string \\"Contract is currently not operational\\""},"value":"Contract is currently not operational"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","typeString":"literal_string \\"Contract is currently not operational\\""}],"id":82,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3411:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":85,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3411:54:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":86,"nodeType":"ExpressionStatement","src":"3411:54:0"},{"id":87,"nodeType":"PlaceholderStatement","src":"3476:1:0"}]},"documentation":{"id":80,"nodeType":"StructuredDocumentation","src":"3069:243:0","text":" @dev Modifier that requires the \\"operational\\" boolean variable to be \\"true\\"\\n      This is used on all state changing functions to pause the contract in\\n      the event there is an issue that needs to be fixed"},"id":89,"name":"requireIsOperational","nameLocation":"3327:20:0","nodeType":"ModifierDefinition","parameters":{"id":81,"nodeType":"ParameterList","parameters":[],"src":"3347:2:0"},"src":"3318:253:0","virtual":false,"visibility":"internal"},{"body":{"id":101,"nodeType":"Block","src":"3719:99:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":96,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":93,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"3738:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3738:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":95,"name":"contractOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"3752:13:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3738:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"43616c6c6572206973206e6f7420636f6e7472616374206f776e6572","id":97,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3767:30:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad5b8255218fc9200bf271049bc5472a1a7a8192290eba60272e432e608ceea3","typeString":"literal_string \\"Caller is not contract owner\\""},"value":"Caller is not contract owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ad5b8255218fc9200bf271049bc5472a1a7a8192290eba60272e432e608ceea3","typeString":"literal_string \\"Caller is not contract owner\\""}],"id":92,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3730:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3730:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"3730:68:0"},{"id":100,"nodeType":"PlaceholderStatement","src":"3809:1:0"}]},"documentation":{"id":90,"nodeType":"StructuredDocumentation","src":"3579:102:0","text":" @dev Modifier that requires the \\"ContractOwner\\" account to be the function caller"},"id":102,"name":"requireContractOwner","nameLocation":"3696:20:0","nodeType":"ModifierDefinition","parameters":{"id":91,"nodeType":"ParameterList","parameters":[],"src":"3716:2:0"},"src":"3687:131:0","virtual":false,"visibility":"internal"},{"constant":false,"id":105,"mutability":"mutable","name":"flightSuretyData","nameLocation":"3889:16:0","nodeType":"VariableDeclaration","scope":996,"src":"3872:33:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"},"typeName":{"id":104,"nodeType":"UserDefinedTypeName","pathNode":{"id":103,"name":"FlightSuretyData","nodeType":"IdentifierPath","referencedDeclaration":1536,"src":"3872:16:0"},"referencedDeclaration":1536,"src":"3872:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"visibility":"internal"},{"body":{"id":122,"nodeType":"Block","src":"4329:116:0","statements":[{"expression":{"id":114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":111,"name":"contractOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"4340:13:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":112,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"4356:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4356:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4340:26:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":115,"nodeType":"ExpressionStatement","src":"4340:26:0"},{"expression":{"id":120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":116,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"4377:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":118,"name":"flightSuretyDataAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"4413:23:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":117,"name":"FlightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"4396:16:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FlightSuretyData_$1536_$","typeString":"type(contract FlightSuretyData)"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4396:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"src":"4377:60:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":121,"nodeType":"ExpressionStatement","src":"4377:60:0"}]},"documentation":{"id":106,"nodeType":"StructuredDocumentation","src":"4216:54:0","text":" @dev Contract constructor"},"id":123,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":108,"mutability":"mutable","name":"flightSuretyDataAddress","nameLocation":"4304:23:0","nodeType":"VariableDeclaration","scope":123,"src":"4288:39:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":107,"name":"address","nodeType":"ElementaryTypeName","src":"4288:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"4287:41:0"},"returnParameters":{"id":110,"nodeType":"ParameterList","parameters":[],"src":"4329:0:0"},"scope":996,"src":"4276:169:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":132,"nodeType":"Block","src":"4807:99:0","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":128,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"4825:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isOperational","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"4825:30:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4825:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":127,"id":131,"nodeType":"Return","src":"4818:39:0"}]},"functionSelector":"cd905dff","id":133,"implemented":true,"kind":"function","modifiers":[],"name":"isOperational","nameLocation":"4764:13:0","nodeType":"FunctionDefinition","parameters":{"id":124,"nodeType":"ParameterList","parameters":[],"src":"4777:2:0"},"returnParameters":{"id":127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":133,"src":"4801:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":125,"name":"bool","nodeType":"ElementaryTypeName","src":"4801:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4800:6:0"},"scope":996,"src":"4755:151:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":147,"nodeType":"Block","src":"5013:156:0","statements":[{"expression":{"arguments":[{"id":142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5046:46:0","subExpression":{"arguments":[{"id":140,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"5084:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":138,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"5047:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isAirlineRegistered","nodeType":"MemberAccess","referencedDeclaration":1236,"src":"5047:36:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5047:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4169726c696e6520697320616c72656164792072656769737465726564","id":143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5107:31:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7","typeString":"literal_string \\"Airline is already registered\\""},"value":"Airline is already registered"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7","typeString":"literal_string \\"Airline is already registered\\""}],"id":137,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"5024:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5024:125:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":145,"nodeType":"ExpressionStatement","src":"5024:125:0"},{"id":146,"nodeType":"PlaceholderStatement","src":"5160:1:0"}]},"id":148,"name":"requireNotAlreadyRegistered","nameLocation":"4968:27:0","nodeType":"ModifierDefinition","parameters":{"id":136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135,"mutability":"mutable","name":"airline","nameLocation":"5004:7:0","nodeType":"VariableDeclaration","scope":148,"src":"4996:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134,"name":"address","nodeType":"ElementaryTypeName","src":"4996:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4995:17:0"},"src":"4959:210:0","virtual":false,"visibility":"internal"},{"body":{"id":160,"nodeType":"Block","src":"5779:71:0","statements":[{"expression":{"arguments":[{"id":157,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150,"src":"5834:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":155,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"5797:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isAirlineRegistered","nodeType":"MemberAccess","referencedDeclaration":1236,"src":"5797:36:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5797:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":154,"id":159,"nodeType":"Return","src":"5790:52:0"}]},"functionSelector":"0e248a11","id":161,"implemented":true,"kind":"function","modifiers":[],"name":"isAirline","nameLocation":"5723:9:0","nodeType":"FunctionDefinition","parameters":{"id":151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":150,"mutability":"mutable","name":"airline","nameLocation":"5741:7:0","nodeType":"VariableDeclaration","scope":161,"src":"5733:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":149,"name":"address","nodeType":"ElementaryTypeName","src":"5733:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5732:17:0"},"returnParameters":{"id":154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":161,"src":"5773:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":152,"name":"bool","nodeType":"ElementaryTypeName","src":"5773:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5772:6:0"},"scope":996,"src":"5714:136:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":304,"nodeType":"Block","src":"6141:1795:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":176,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"6156:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getRegisteredAirlinesCount","nodeType":"MemberAccess","referencedDeclaration":1298,"src":"6156:43:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6156:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"34","id":179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6204:1:0","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"6156:49:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":302,"nodeType":"Block","src":"6556:1373:0","statements":[{"assignments":[206],"declarations":[{"constant":false,"id":206,"mutability":"mutable","name":"isVoted","nameLocation":"6700:7:0","nodeType":"VariableDeclaration","scope":302,"src":"6695:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":205,"name":"bool","nodeType":"ElementaryTypeName","src":"6695:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":208,"initialValue":{"hexValue":"66616c7365","id":207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6710:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"6695:20:0"},{"body":{"id":237,"nodeType":"Block","src":"6866:174:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":222,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"6889:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":224,"indexExpression":{"id":223,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6913:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6889:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":226,"indexExpression":{"id":225,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"6922:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6889:35:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":227,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"6928:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6928:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6889:49:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":236,"nodeType":"IfStatement","src":"6885:140:0","trueBody":{"id":235,"nodeType":"Block","src":"6940:85:0","statements":[{"expression":{"id":232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":230,"name":"isVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"6963:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6973:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6963:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":233,"nodeType":"ExpressionStatement","src":"6963:14:0"},{"id":234,"nodeType":"Break","src":"7000:5:0"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":213,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"6785:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":214,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"6789:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":216,"indexExpression":{"id":215,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6813:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6789:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6789:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6785:43:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":238,"initializationExpression":{"assignments":[210],"declarations":[{"constant":false,"id":210,"mutability":"mutable","name":"i","nameLocation":"6761:1:0","nodeType":"VariableDeclaration","scope":238,"src":"6753:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":209,"name":"uint256","nodeType":"ElementaryTypeName","src":"6753:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":212,"initialValue":{"hexValue":"30","id":211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6765:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6753:13:0"},"loopExpression":{"expression":{"id":220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6847:3:0","subExpression":{"id":219,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"6847:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":221,"nodeType":"ExpressionStatement","src":"6847:3:0"},"nodeType":"ForStatement","src":"6730:310:0"},{"expression":{"arguments":[{"id":241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7062:8:0","subExpression":{"id":240,"name":"isVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"7063:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4169726c696e652068617320616c7265616479206265656e20766f74656420666f72","id":242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7072:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582","typeString":"literal_string \\"Airline has already been voted for\\""},"value":"Airline has already been voted for"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582","typeString":"literal_string \\"Airline has already been voted for\\""}],"id":239,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"7054:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7054:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":244,"nodeType":"ExpressionStatement","src":"7054:55:0"},{"expression":{"arguments":[{"expression":{"id":249,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"7164:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"7164:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":245,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"7126:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":247,"indexExpression":{"id":246,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7150:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7126:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"7126:37:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7126:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":252,"nodeType":"ExpressionStatement","src":"7126:49:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":261,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7346:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getRegisteredAirlinesCount","nodeType":"MemberAccess","referencedDeclaration":1298,"src":"7346:43:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7346:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":253,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"7273:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":255,"indexExpression":{"id":254,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7297:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7273:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7273:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"313030","id":257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7315:3:0","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"7273:45:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":259,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7272:47:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"div","nodeType":"MemberAccess","referencedDeclaration":1794,"src":"7272:51:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7272:138:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3530","id":265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7414:2:0","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"src":"7272:144:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":294,"nodeType":"IfStatement","src":"7250:598:0","trueBody":{"id":293,"nodeType":"Block","src":"7432:416:0","statements":[{"expression":{"arguments":[{"id":270,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7484:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":267,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7451:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerAirline","nodeType":"MemberAccess","referencedDeclaration":1223,"src":"7451:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7451:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":272,"nodeType":"ExpressionStatement","src":"7451:41:0"},{"condition":{"arguments":[{"id":275,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7554:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":273,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7517:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isAirlineRegistered","nodeType":"MemberAccess","referencedDeclaration":1236,"src":"7517:36:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7517:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":285,"nodeType":"IfStatement","src":"7513:245:0","trueBody":{"id":284,"nodeType":"Block","src":"7564:194:0","statements":[{"eventCall":{"arguments":[{"id":278,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7636:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":279,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7670:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getRegisteredAirlinesCount","nodeType":"MemberAccess","referencedDeclaration":1298,"src":"7670:43:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7670:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":277,"name":"AirlineRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51,"src":"7592:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7592:146:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":283,"nodeType":"EmitStatement","src":"7587:151:0"}]}},{"expression":{"components":[{"hexValue":"74727565","id":286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7786:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"baseExpression":{"id":287,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"7792:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":289,"indexExpression":{"id":288,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7816:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7792:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7792:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":291,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7785:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":175,"id":292,"nodeType":"Return","src":"7778:54:0"}]}},{"expression":{"components":[{"hexValue":"66616c7365","id":295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7870:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"expression":{"baseExpression":{"id":296,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"7877:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":298,"indexExpression":{"id":297,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7901:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7877:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7877:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":300,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7869:48:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":175,"id":301,"nodeType":"Return","src":"7862:55:0"}]},"id":303,"nodeType":"IfStatement","src":"6152:1777:0","trueBody":{"id":204,"nodeType":"Block","src":"6207:343:0","statements":[{"expression":{"arguments":[{"id":184,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6255:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":181,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"6222:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerAirline","nodeType":"MemberAccess","referencedDeclaration":1223,"src":"6222:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6222:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":186,"nodeType":"ExpressionStatement","src":"6222:41:0"},{"condition":{"arguments":[{"id":189,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6321:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":187,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"6284:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isAirlineRegistered","nodeType":"MemberAccess","referencedDeclaration":1236,"src":"6284:36:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6284:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":199,"nodeType":"IfStatement","src":"6280:225:0","trueBody":{"id":198,"nodeType":"Block","src":"6331:174:0","statements":[{"eventCall":{"arguments":[{"id":192,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6395:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":193,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"6425:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getRegisteredAirlinesCount","nodeType":"MemberAccess","referencedDeclaration":1298,"src":"6425:43:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6425:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":191,"name":"AirlineRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51,"src":"6355:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6355:134:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":197,"nodeType":"EmitStatement","src":"6350:139:0"}]}},{"expression":{"components":[{"hexValue":"74727565","id":200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6529:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"3333","id":201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6535:2:0","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"33"}],"id":202,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6528:10:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_33_by_1_$","typeString":"tuple(bool,int_const 33)"}},"functionReturnParameters":175,"id":203,"nodeType":"Return","src":"6521:17:0"}]}}]},"documentation":{"id":162,"nodeType":"StructuredDocumentation","src":"5858:74:0","text":" @dev Add an airline to the registration queue"},"functionSelector":"bdfd9877","id":305,"implemented":true,"kind":"function","modifiers":[{"id":167,"kind":"modifierInvocation","modifierName":{"id":166,"name":"requireIsOperational","nodeType":"IdentifierPath","referencedDeclaration":89,"src":"6022:20:0"},"nodeType":"ModifierInvocation","src":"6022:20:0"},{"arguments":[{"id":169,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6080:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":170,"kind":"modifierInvocation","modifierName":{"id":168,"name":"requireNotAlreadyRegistered","nodeType":"IdentifierPath","referencedDeclaration":148,"src":"6052:27:0"},"nodeType":"ModifierInvocation","src":"6052:36:0"}],"name":"registerAirline","nameLocation":"5947:15:0","nodeType":"FunctionDefinition","parameters":{"id":165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":164,"mutability":"mutable","name":"airline","nameLocation":"5971:7:0","nodeType":"VariableDeclaration","scope":305,"src":"5963:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":163,"name":"address","nodeType":"ElementaryTypeName","src":"5963:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5962:17:0"},"returnParameters":{"id":175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":172,"mutability":"mutable","name":"success","nameLocation":"6112:7:0","nodeType":"VariableDeclaration","scope":305,"src":"6107:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":171,"name":"bool","nodeType":"ElementaryTypeName","src":"6107:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":174,"mutability":"mutable","name":"votes","nameLocation":"6129:5:0","nodeType":"VariableDeclaration","scope":305,"src":"6121:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":173,"name":"uint256","nodeType":"ElementaryTypeName","src":"6121:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6106:29:0"},"scope":996,"src":"5938:1998:0","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":334,"nodeType":"Block","src":"7982:263:0","statements":[{"expression":{"arguments":[{"expression":{"id":311,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8015:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8015:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":313,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8027:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8027:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":308,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7993:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"fund","nodeType":"MemberAccess","referencedDeclaration":1257,"src":"7993:21:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) payable external"}},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7993:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":316,"nodeType":"ExpressionStatement","src":"7993:44:0"},{"condition":{"arguments":[{"expression":{"id":319,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8080:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8080:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":317,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"8054:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isFunded","nodeType":"MemberAccess","referencedDeclaration":1277,"src":"8054:25:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8054:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":333,"nodeType":"IfStatement","src":"8050:188:0","trueBody":{"id":332,"nodeType":"Block","src":"8093:145:0","statements":[{"eventCall":{"arguments":[{"expression":{"id":323,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8145:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8145:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":327,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8200:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8200:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":325,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"8174:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getFunds","nodeType":"MemberAccess","referencedDeclaration":1290,"src":"8174:25:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8174:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":322,"name":"AirlineFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57,"src":"8113:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8113:113:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":331,"nodeType":"EmitStatement","src":"8108:118:0"}]}}]},"functionSelector":"9ed18927","id":335,"implemented":true,"kind":"function","modifiers":[],"name":"fundAirline","nameLocation":"7953:11:0","nodeType":"FunctionDefinition","parameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"7964:2:0"},"returnParameters":{"id":307,"nodeType":"ParameterList","parameters":[],"src":"7982:0:0"},"scope":996,"src":"7944:301:0","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":347,"nodeType":"Block","src":"8317:60:0","statements":[{"expression":{"arguments":[{"id":344,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":337,"src":"8361:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":342,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"8335:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isFunded","nodeType":"MemberAccess","referencedDeclaration":1277,"src":"8335:25:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8335:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":341,"id":346,"nodeType":"Return","src":"8328:41:0"}]},"functionSelector":"5689b249","id":348,"implemented":true,"kind":"function","modifiers":[],"name":"isFunded","nameLocation":"8262:8:0","nodeType":"FunctionDefinition","parameters":{"id":338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":337,"mutability":"mutable","name":"airline","nameLocation":"8279:7:0","nodeType":"VariableDeclaration","scope":348,"src":"8271:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":336,"name":"address","nodeType":"ElementaryTypeName","src":"8271:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8270:17:0"},"returnParameters":{"id":341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":348,"src":"8311:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":339,"name":"bool","nodeType":"ElementaryTypeName","src":"8311:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8310:6:0"},"scope":996,"src":"8253:124:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":399,"nodeType":"Block","src":"8513:459:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":358,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8628:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8628:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8640:7:0","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8628:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":362,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8627:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":363,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8653:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8653:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"31","id":365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8666:7:0","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"src":"8653:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":367,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8652:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8627:47:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e737572616e636520616d6f756e742073686f756c64206265206265747765656e203020616e642031206574686572","id":369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8689:50:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613","typeString":"literal_string \\"Insurance amount should be between 0 and 1 ether\\""},"value":"Insurance amount should be between 0 and 1 ether"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613","typeString":"literal_string \\"Insurance amount should be between 0 and 1 ether\\""}],"id":357,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"8605:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8605:145:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":371,"nodeType":"ExpressionStatement","src":"8605:145:0"},{"assignments":[373],"declarations":[{"constant":false,"id":373,"mutability":"mutable","name":"flight","nameLocation":"8771:6:0","nodeType":"VariableDeclaration","scope":399,"src":"8763:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8763:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":378,"initialValue":{"arguments":[{"id":375,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":350,"src":"8793:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":376,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"8804:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":374,"name":"getFlightKey","nodeType":"Identifier","overloadedDeclarations":[502,861],"referencedDeclaration":502,"src":"8780:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8780:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8763:49:0"},{"expression":{"arguments":[{"id":382,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":373,"src":"8846:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":383,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"8854:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":384,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8863:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8863:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":386,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8875:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8875:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":379,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"8825:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"buy","nodeType":"MemberAccess","referencedDeclaration":1365,"src":"8825:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (bytes32,address,address,uint256) external"}},"id":388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8825:60:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":389,"nodeType":"ExpressionStatement","src":"8825:60:0"},{"eventCall":{"arguments":[{"id":391,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":350,"src":"8922:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":392,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"8933:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":393,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8942:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8942:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":395,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8954:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8954:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":390,"name":"InsurancePurchased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"8903:18:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256)"}},"id":397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8903:61:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":398,"nodeType":"EmitStatement","src":"8898:66:0"}]},"functionSelector":"e938880e","id":400,"implemented":true,"kind":"function","modifiers":[{"id":355,"kind":"modifierInvocation","modifierName":{"id":354,"name":"requireIsOperational","nodeType":"IdentifierPath","referencedDeclaration":89,"src":"8487:20:0"},"nodeType":"ModifierInvocation","src":"8487:20:0"}],"name":"buyInsurance","nameLocation":"8394:12:0","nodeType":"FunctionDefinition","parameters":{"id":353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":350,"mutability":"mutable","name":"timestamp","nameLocation":"8415:9:0","nodeType":"VariableDeclaration","scope":400,"src":"8407:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":349,"name":"uint256","nodeType":"ElementaryTypeName","src":"8407:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":352,"mutability":"mutable","name":"airline","nameLocation":"8434:7:0","nodeType":"VariableDeclaration","scope":400,"src":"8426:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":351,"name":"address","nodeType":"ElementaryTypeName","src":"8426:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8406:36:0"},"returnParameters":{"id":356,"nodeType":"ParameterList","parameters":[],"src":"8513:0:0"},"scope":996,"src":"8385:587:0","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":447,"nodeType":"Block","src":"9177:311:0","statements":[{"assignments":[411],"declarations":[{"constant":false,"id":411,"mutability":"mutable","name":"flight","nameLocation":"9196:6:0","nodeType":"VariableDeclaration","scope":447,"src":"9188:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9188:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":416,"initialValue":{"arguments":[{"id":413,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"9218:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":414,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"9229:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":412,"name":"getFlightKey","nodeType":"Identifier","overloadedDeclarations":[502,861],"referencedDeclaration":502,"src":"9205:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9205:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9188:49:0"},{"assignments":[418],"declarations":[{"constant":false,"id":418,"mutability":"mutable","name":"amount","nameLocation":"9256:6:0","nodeType":"VariableDeclaration","scope":447,"src":"9248:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":417,"name":"uint256","nodeType":"ElementaryTypeName","src":"9248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":425,"initialValue":{"arguments":[{"expression":{"id":421,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"9297:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"9297:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":423,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"9309:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":419,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"9265:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"creditedAmount","nodeType":"MemberAccess","referencedDeclaration":1438,"src":"9265:31:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,bytes32) view external returns (uint256)"}},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9265:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9248:68:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":427,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":418,"src":"9335:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9344:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9335:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f2062616c616e636520746f207769746864726177","id":430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9347:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5","typeString":"literal_string \\"No balance to withdraw\\""},"value":"No balance to withdraw"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5","typeString":"literal_string \\"No balance to withdraw\\""}],"id":426,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"9327:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9327:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":432,"nodeType":"ExpressionStatement","src":"9327:45:0"},{"expression":{"arguments":[{"expression":{"id":436,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"9406:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"9406:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":438,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"9418:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":433,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"9385:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pay","nodeType":"MemberAccess","referencedDeclaration":1480,"src":"9385:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32) external"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9385:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":440,"nodeType":"ExpressionStatement","src":"9385:40:0"},{"eventCall":{"arguments":[{"expression":{"id":442,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"9461:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"9461:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":418,"src":"9473:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"PassengerCredited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"9443:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9443:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"EmitStatement","src":"9438:42:0"}]},"documentation":{"id":401,"nodeType":"StructuredDocumentation","src":"8980:77:0","text":"  @dev Transfers eligible payout funds to insuree"},"functionSelector":"5c1e6f3f","id":448,"implemented":true,"kind":"function","modifiers":[{"id":408,"kind":"modifierInvocation","modifierName":{"id":407,"name":"requireIsOperational","nodeType":"IdentifierPath","referencedDeclaration":89,"src":"9151:20:0"},"nodeType":"ModifierInvocation","src":"9151:20:0"}],"name":"creditPassenger","nameLocation":"9072:15:0","nodeType":"FunctionDefinition","parameters":{"id":406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":403,"mutability":"mutable","name":"timestamp","nameLocation":"9096:9:0","nodeType":"VariableDeclaration","scope":448,"src":"9088:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":402,"name":"uint256","nodeType":"ElementaryTypeName","src":"9088:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":405,"mutability":"mutable","name":"airline","nameLocation":"9115:7:0","nodeType":"VariableDeclaration","scope":448,"src":"9107:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":404,"name":"address","nodeType":"ElementaryTypeName","src":"9107:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9087:36:0"},"returnParameters":{"id":409,"nodeType":"ParameterList","parameters":[],"src":"9177:0:0"},"scope":996,"src":"9063:425:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":483,"nodeType":"Block","src":"9643:235:0","statements":[{"assignments":[457],"declarations":[{"constant":false,"id":457,"mutability":"mutable","name":"flight","nameLocation":"9662:6:0","nodeType":"VariableDeclaration","scope":483,"src":"9654:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9654:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":462,"initialValue":{"arguments":[{"id":459,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"9684:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":460,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"9695:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":458,"name":"getFlightKey","nodeType":"Identifier","overloadedDeclarations":[502,861],"referencedDeclaration":502,"src":"9671:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9671:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9654:49:0"},{"expression":{"arguments":[{"id":468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9724:29:0","subExpression":{"expression":{"baseExpression":{"id":464,"name":"flights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"9725:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Flight_$40_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.Flight storage ref)"}},"id":466,"indexExpression":{"id":465,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":457,"src":"9733:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9725:15:0","typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_storage","typeString":"struct FlightSuretyApp.Flight storage ref"}},"id":467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":33,"src":"9725:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"466c6967687420697320616c72656164792072656769737465726564","id":469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9755:30:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc","typeString":"literal_string \\"Flight is already registered\\""},"value":"Flight is already registered"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc","typeString":"literal_string \\"Flight is already registered\\""}],"id":463,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"9716:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9716:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":471,"nodeType":"ExpressionStatement","src":"9716:70:0"},{"expression":{"id":481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":472,"name":"flights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"9799:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Flight_$40_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.Flight storage ref)"}},"id":474,"indexExpression":{"id":473,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":457,"src":"9807:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9799:15:0","typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_storage","typeString":"struct FlightSuretyApp.Flight storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"74727565","id":476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9824:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":477,"name":"STATUS_CODE_UNKNOWN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"9830:19:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":478,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"9851:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":479,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"9862:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":475,"name":"Flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"9817:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Flight_$40_storage_ptr_$","typeString":"type(struct FlightSuretyApp.Flight storage pointer)"}},"id":480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9817:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_memory_ptr","typeString":"struct FlightSuretyApp.Flight memory"}},"src":"9799:71:0","typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_storage","typeString":"struct FlightSuretyApp.Flight storage ref"}},"id":482,"nodeType":"ExpressionStatement","src":"9799:71:0"}]},"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"9496:72:0","text":" @dev Register a future flight for insuring."},"functionSelector":"424e8b07","id":484,"implemented":true,"kind":"function","modifiers":[],"name":"registerFlight","nameLocation":"9583:14:0","nodeType":"FunctionDefinition","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"timestamp","nameLocation":"9606:9:0","nodeType":"VariableDeclaration","scope":484,"src":"9598:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"9598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"airline","nameLocation":"9625:7:0","nodeType":"VariableDeclaration","scope":484,"src":"9617:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":452,"name":"address","nodeType":"ElementaryTypeName","src":"9617:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9597:36:0"},"returnParameters":{"id":455,"nodeType":"ParameterList","parameters":[],"src":"9643:0:0"},"scope":996,"src":"9574:304:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":501,"nodeType":"Block","src":"10008:73:0","statements":[{"expression":{"arguments":[{"arguments":[{"id":496,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":486,"src":"10053:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":497,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":488,"src":"10064:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":494,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"10036:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"10036:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10036:36:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":493,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"10026:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10026:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":492,"id":500,"nodeType":"Return","src":"10019:54:0"}]},"id":502,"implemented":true,"kind":"function","modifiers":[],"name":"getFlightKey","nameLocation":"9895:12:0","nodeType":"FunctionDefinition","parameters":{"id":489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":486,"mutability":"mutable","name":"timestamp","nameLocation":"9916:9:0","nodeType":"VariableDeclaration","scope":502,"src":"9908:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":485,"name":"uint256","nodeType":"ElementaryTypeName","src":"9908:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":488,"mutability":"mutable","name":"airline","nameLocation":"9935:7:0","nodeType":"VariableDeclaration","scope":502,"src":"9927:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":487,"name":"address","nodeType":"ElementaryTypeName","src":"9927:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9907:36:0"},"returnParameters":{"id":492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":502,"src":"9994:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9994:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9993:9:0"},"scope":996,"src":"9886:195:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":553,"nodeType":"Block","src":"10329:479:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"30","id":517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10356:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10348:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":515,"name":"address","nodeType":"ElementaryTypeName","src":"10348:7:0","typeDescriptions":{}}},"id":518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10348:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":519,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":505,"src":"10362:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10348:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4169726c696e652061646472657373206d7573742062652076616c6964","id":521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10371:31:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108","typeString":"literal_string \\"Airline address must be valid\\""},"value":"Airline address must be valid"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108","typeString":"literal_string \\"Airline address must be valid\\""}],"id":514,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"10340:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10340:63:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":523,"nodeType":"ExpressionStatement","src":"10340:63:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":524,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"10504:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":525,"name":"STATUS_CODE_LATE_AIRLINE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"10518:24:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10504:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":527,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10503:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":528,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"10561:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":529,"name":"STATUS_CODE_LATE_TECHNICAL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21,"src":"10575:26:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10561:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":531,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10560:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10503:99:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":552,"nodeType":"IfStatement","src":"10485:316:0","trueBody":{"id":551,"nodeType":"Block","src":"10614:187:0","statements":[{"assignments":[534],"declarations":[{"constant":false,"id":534,"mutability":"mutable","name":"flightKey","nameLocation":"10637:9:0","nodeType":"VariableDeclaration","scope":551,"src":"10629:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10629:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":539,"initialValue":{"arguments":[{"id":536,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":509,"src":"10662:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":537,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":505,"src":"10673:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":535,"name":"getFlightKey","nodeType":"Identifier","overloadedDeclarations":[502,861],"referencedDeclaration":502,"src":"10649:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10649:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10629:52:0"},{"expression":{"arguments":[{"id":543,"name":"flightKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":534,"src":"10728:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":540,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"10696:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"creditInsurees","nodeType":"MemberAccess","referencedDeclaration":1421,"src":"10696:31:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32) external"}},"id":544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10696:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":545,"nodeType":"ExpressionStatement","src":"10696:42:0"},{"eventCall":{"arguments":[{"id":547,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":505,"src":"10773:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":548,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":507,"src":"10782:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":546,"name":"CreditInsurees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"10758:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10758:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":550,"nodeType":"EmitStatement","src":"10753:36:0"}]}}]},"documentation":{"id":503,"nodeType":"StructuredDocumentation","src":"10089:79:0","text":" @dev Called after oracle has updated flight status"},"functionSelector":"e7bdde3b","id":554,"implemented":true,"kind":"function","modifiers":[],"name":"processFlightStatus","nameLocation":"10183:19:0","nodeType":"FunctionDefinition","parameters":{"id":512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":505,"mutability":"mutable","name":"airline","nameLocation":"10221:7:0","nodeType":"VariableDeclaration","scope":554,"src":"10213:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":504,"name":"address","nodeType":"ElementaryTypeName","src":"10213:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":507,"mutability":"mutable","name":"flight","nameLocation":"10253:6:0","nodeType":"VariableDeclaration","scope":554,"src":"10239:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":506,"name":"string","nodeType":"ElementaryTypeName","src":"10239:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":509,"mutability":"mutable","name":"timestamp","nameLocation":"10278:9:0","nodeType":"VariableDeclaration","scope":554,"src":"10270:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":508,"name":"uint256","nodeType":"ElementaryTypeName","src":"10270:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":511,"mutability":"mutable","name":"statusCode","nameLocation":"10304:10:0","nodeType":"VariableDeclaration","scope":554,"src":"10298:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":510,"name":"uint8","nodeType":"ElementaryTypeName","src":"10298:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"10202:119:0"},"returnParameters":{"id":513,"nodeType":"ParameterList","parameters":[],"src":"10329:0:0"},"scope":996,"src":"10174:634:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":604,"nodeType":"Block","src":"11011:641:0","statements":[{"assignments":[564],"declarations":[{"constant":false,"id":564,"mutability":"mutable","name":"index","nameLocation":"11028:5:0","nodeType":"VariableDeclaration","scope":604,"src":"11022:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":563,"name":"uint8","nodeType":"ElementaryTypeName","src":"11022:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":569,"initialValue":{"arguments":[{"expression":{"id":566,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"11051:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"11051:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":565,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"11036:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11036:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"11022:40:0"},{"assignments":[571],"declarations":[{"constant":false,"id":571,"mutability":"mutable","name":"key","nameLocation":"11141:3:0","nodeType":"VariableDeclaration","scope":604,"src":"11133:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11133:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":581,"initialValue":{"arguments":[{"arguments":[{"id":575,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":564,"src":"11188:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":576,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":556,"src":"11195:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":577,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"11204:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":578,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"11212:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":573,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"11171:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"11171:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11171:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":572,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"11147:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11147:86:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11133:100:0"},{"expression":{"id":588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":582,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"11490:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":584,"indexExpression":{"id":583,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":571,"src":"11506:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11490:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":585,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"requester","nodeType":"MemberAccess","referencedDeclaration":628,"src":"11490:30:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":586,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"11523:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"11523:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11490:43:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":589,"nodeType":"ExpressionStatement","src":"11490:43:0"},{"expression":{"id":595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":590,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"11544:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":592,"indexExpression":{"id":591,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":571,"src":"11560:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11544:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"isOpen","nodeType":"MemberAccess","referencedDeclaration":630,"src":"11544:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11574:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"11544:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":596,"nodeType":"ExpressionStatement","src":"11544:34:0"},{"eventCall":{"arguments":[{"id":598,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":564,"src":"11610:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":599,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":556,"src":"11617:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":600,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"11626:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":601,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"11634:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":597,"name":"OracleRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":671,"src":"11596:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint8_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (uint8,address,string memory,uint256)"}},"id":602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11596:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":603,"nodeType":"EmitStatement","src":"11591:53:0"}]},"functionSelector":"f83f11c0","id":605,"implemented":true,"kind":"function","modifiers":[],"name":"fetchFlightStatus","nameLocation":"10892:17:0","nodeType":"FunctionDefinition","parameters":{"id":561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":556,"mutability":"mutable","name":"airline","nameLocation":"10928:7:0","nodeType":"VariableDeclaration","scope":605,"src":"10920:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":555,"name":"address","nodeType":"ElementaryTypeName","src":"10920:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":558,"mutability":"mutable","name":"flight","nameLocation":"10960:6:0","nodeType":"VariableDeclaration","scope":605,"src":"10946:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":557,"name":"string","nodeType":"ElementaryTypeName","src":"10946:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":560,"mutability":"mutable","name":"timestamp","nameLocation":"10985:9:0","nodeType":"VariableDeclaration","scope":605,"src":"10977:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":559,"name":"uint256","nodeType":"ElementaryTypeName","src":"10977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10909:92:0"},"returnParameters":{"id":562,"nodeType":"ParameterList","parameters":[],"src":"11011:0:0"},"scope":996,"src":"10883:769:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"constant":false,"id":608,"mutability":"mutable","name":"nonce","nameLocation":"11772:5:0","nodeType":"VariableDeclaration","scope":996,"src":"11758:23:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":606,"name":"uint8","nodeType":"ElementaryTypeName","src":"11758:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"30","id":607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11780:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"functionSelector":"64b4f751","id":611,"mutability":"constant","name":"REGISTRATION_FEE","nameLocation":"11861:16:0","nodeType":"VariableDeclaration","scope":996,"src":"11837:50:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":609,"name":"uint256","nodeType":"ElementaryTypeName","src":"11837:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11880:7:0","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"visibility":"public"},{"constant":true,"id":614,"mutability":"constant","name":"MIN_RESPONSES","nameLocation":"11982:13:0","nodeType":"VariableDeclaration","scope":996,"src":"11957:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":612,"name":"uint256","nodeType":"ElementaryTypeName","src":"11957:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11998:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"private"},{"canonicalName":"FlightSuretyApp.Oracle","id":621,"members":[{"constant":false,"id":616,"mutability":"mutable","name":"isRegistered","nameLocation":"12038:12:0","nodeType":"VariableDeclaration","scope":621,"src":"12033:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":615,"name":"bool","nodeType":"ElementaryTypeName","src":"12033:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":620,"mutability":"mutable","name":"indexes","nameLocation":"12070:7:0","nodeType":"VariableDeclaration","scope":621,"src":"12061:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":617,"name":"uint8","nodeType":"ElementaryTypeName","src":"12061:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":619,"length":{"hexValue":"33","id":618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12067:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"12061:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"name":"Oracle","nameLocation":"12015:6:0","nodeType":"StructDefinition","scope":996,"src":"12008:77:0","visibility":"public"},{"constant":false,"id":626,"mutability":"mutable","name":"oracles","nameLocation":"12165:7:0","nodeType":"VariableDeclaration","scope":996,"src":"12130:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle)"},"typeName":{"id":625,"keyType":{"id":622,"name":"address","nodeType":"ElementaryTypeName","src":"12138:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"12130:26:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle)"},"valueType":{"id":624,"nodeType":"UserDefinedTypeName","pathNode":{"id":623,"name":"Oracle","nodeType":"IdentifierPath","referencedDeclaration":621,"src":"12149:6:0"},"referencedDeclaration":621,"src":"12149:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage_ptr","typeString":"struct FlightSuretyApp.Oracle"}}},"visibility":"private"},{"canonicalName":"FlightSuretyApp.ResponseInfo","id":636,"members":[{"constant":false,"id":628,"mutability":"mutable","name":"requester","nameLocation":"12261:9:0","nodeType":"VariableDeclaration","scope":636,"src":"12253:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":627,"name":"address","nodeType":"ElementaryTypeName","src":"12253:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":630,"mutability":"mutable","name":"isOpen","nameLocation":"12319:6:0","nodeType":"VariableDeclaration","scope":636,"src":"12314:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":629,"name":"bool","nodeType":"ElementaryTypeName","src":"12314:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":635,"mutability":"mutable","name":"responses","nameLocation":"12406:9:0","nodeType":"VariableDeclaration","scope":636,"src":"12378:37:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[])"},"typeName":{"id":634,"keyType":{"id":631,"name":"uint8","nodeType":"ElementaryTypeName","src":"12386:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"12378:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[])"},"valueType":{"baseType":{"id":632,"name":"address","nodeType":"ElementaryTypeName","src":"12395:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":633,"nodeType":"ArrayTypeName","src":"12395:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"internal"}],"name":"ResponseInfo","nameLocation":"12229:12:0","nodeType":"StructDefinition","scope":996,"src":"12222:352:0","visibility":"public"},{"constant":false,"id":641,"mutability":"mutable","name":"oracleResponses","nameLocation":"12703:15:0","nodeType":"VariableDeclaration","scope":996,"src":"12662:56:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"typeName":{"id":640,"keyType":{"id":637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12670:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"12662:32:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"valueType":{"id":639,"nodeType":"UserDefinedTypeName","pathNode":{"id":638,"name":"ResponseInfo","nodeType":"IdentifierPath","referencedDeclaration":636,"src":"12681:12:0"},"referencedDeclaration":636,"src":"12681:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage_ptr","typeString":"struct FlightSuretyApp.ResponseInfo"}}},"visibility":"private"},{"anonymous":false,"id":651,"name":"FlightStatusInfo","nameLocation":"12792:16:0","nodeType":"EventDefinition","parameters":{"id":650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":643,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"12827:7:0","nodeType":"VariableDeclaration","scope":651,"src":"12819:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":642,"name":"address","nodeType":"ElementaryTypeName","src":"12819:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":645,"indexed":false,"mutability":"mutable","name":"flight","nameLocation":"12852:6:0","nodeType":"VariableDeclaration","scope":651,"src":"12845:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":644,"name":"string","nodeType":"ElementaryTypeName","src":"12845:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":647,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"12877:9:0","nodeType":"VariableDeclaration","scope":651,"src":"12869:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":646,"name":"uint256","nodeType":"ElementaryTypeName","src":"12869:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":649,"indexed":false,"mutability":"mutable","name":"status","nameLocation":"12903:6:0","nodeType":"VariableDeclaration","scope":651,"src":"12897:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":648,"name":"uint8","nodeType":"ElementaryTypeName","src":"12897:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"12808:108:0"},"src":"12786:131:0"},{"anonymous":false,"id":661,"name":"OracleReport","nameLocation":"12931:12:0","nodeType":"EventDefinition","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":653,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"12962:7:0","nodeType":"VariableDeclaration","scope":661,"src":"12954:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":652,"name":"address","nodeType":"ElementaryTypeName","src":"12954:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":655,"indexed":false,"mutability":"mutable","name":"flight","nameLocation":"12987:6:0","nodeType":"VariableDeclaration","scope":661,"src":"12980:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":654,"name":"string","nodeType":"ElementaryTypeName","src":"12980:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":657,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"13012:9:0","nodeType":"VariableDeclaration","scope":661,"src":"13004:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":656,"name":"uint256","nodeType":"ElementaryTypeName","src":"13004:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":659,"indexed":false,"mutability":"mutable","name":"status","nameLocation":"13038:6:0","nodeType":"VariableDeclaration","scope":661,"src":"13032:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":658,"name":"uint8","nodeType":"ElementaryTypeName","src":"13032:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"12943:108:0"},"src":"12925:127:0"},{"anonymous":false,"id":671,"name":"OracleRequest","nameLocation":"13233:13:0","nodeType":"EventDefinition","parameters":{"id":670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":663,"indexed":false,"mutability":"mutable","name":"index","nameLocation":"13263:5:0","nodeType":"VariableDeclaration","scope":671,"src":"13257:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":662,"name":"uint8","nodeType":"ElementaryTypeName","src":"13257:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":665,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"13287:7:0","nodeType":"VariableDeclaration","scope":671,"src":"13279:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":664,"name":"address","nodeType":"ElementaryTypeName","src":"13279:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":667,"indexed":false,"mutability":"mutable","name":"flight","nameLocation":"13312:6:0","nodeType":"VariableDeclaration","scope":671,"src":"13305:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":666,"name":"string","nodeType":"ElementaryTypeName","src":"13305:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":669,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"13337:9:0","nodeType":"VariableDeclaration","scope":671,"src":"13329:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":668,"name":"uint256","nodeType":"ElementaryTypeName","src":"13329:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13246:107:0"},"src":"13227:127:0"},{"body":{"id":703,"nodeType":"Block","src":"13450:273:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":675,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13506:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"13506:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":677,"name":"REGISTRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"13519:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13506:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"526567697374726174696f6e20666565206973207265717569726564","id":679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13537:30:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","typeString":"literal_string \\"Registration fee is required\\""},"value":"Registration fee is required"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","typeString":"literal_string \\"Registration fee is required\\""}],"id":674,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"13498:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13498:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":681,"nodeType":"ExpressionStatement","src":"13498:70:0"},{"assignments":[687],"declarations":[{"constant":false,"id":687,"mutability":"mutable","name":"indexes","nameLocation":"13597:7:0","nodeType":"VariableDeclaration","scope":703,"src":"13581:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":685,"name":"uint8","nodeType":"ElementaryTypeName","src":"13581:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":686,"length":{"hexValue":"33","id":684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13587:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"13581:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"id":692,"initialValue":{"arguments":[{"expression":{"id":689,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13623:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13623:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":688,"name":"generateIndexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":948,"src":"13607:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_array$_t_uint8_$3_memory_ptr_$","typeString":"function (address) returns (uint8[3] memory)"}},"id":691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13607:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"nodeType":"VariableDeclarationStatement","src":"13581:53:0"},{"expression":{"id":701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":693,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"13647:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":696,"indexExpression":{"expression":{"id":694,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13655:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13655:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13647:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"74727565","id":698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13691:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":699,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":687,"src":"13706:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}],"id":697,"name":"Oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":621,"src":"13669:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Oracle_$621_storage_ptr_$","typeString":"type(struct FlightSuretyApp.Oracle storage pointer)"}},"id":700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["isRegistered","indexes"],"nodeType":"FunctionCall","src":"13669:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_memory_ptr","typeString":"struct FlightSuretyApp.Oracle memory"}},"src":"13647:68:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":702,"nodeType":"ExpressionStatement","src":"13647:68:0"}]},"functionSelector":"339d2590","id":704,"implemented":true,"kind":"function","modifiers":[],"name":"registerOracle","nameLocation":"13416:14:0","nodeType":"FunctionDefinition","parameters":{"id":672,"nodeType":"ParameterList","parameters":[],"src":"13430:2:0"},"returnParameters":{"id":673,"nodeType":"ParameterList","parameters":[],"src":"13450:0:0"},"scope":996,"src":"13407:316:0","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":726,"nodeType":"Block","src":"13795:175:0","statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":712,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"13828:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":715,"indexExpression":{"expression":{"id":713,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13836:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13836:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13828:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":616,"src":"13828:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f74207265676973746572656420617320616e206f7261636c65","id":717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13875:29:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","typeString":"literal_string \\"Not registered as an oracle\\""},"value":"Not registered as an oracle"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","typeString":"literal_string \\"Not registered as an oracle\\""}],"id":711,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"13806:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13806:109:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":719,"nodeType":"ExpressionStatement","src":"13806:109:0"},{"expression":{"expression":{"baseExpression":{"id":720,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"13935:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":723,"indexExpression":{"expression":{"id":721,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13943:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13943:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13935:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":620,"src":"13935:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"functionReturnParameters":710,"id":725,"nodeType":"Return","src":"13928:34:0"}]},"functionSelector":"5f1cc0e6","id":727,"implemented":true,"kind":"function","modifiers":[],"name":"getMyIndexes","nameLocation":"13740:12:0","nodeType":"FunctionDefinition","parameters":{"id":705,"nodeType":"ParameterList","parameters":[],"src":"13752:2:0"},"returnParameters":{"id":710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":727,"src":"13778:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":706,"name":"uint8","nodeType":"ElementaryTypeName","src":"13778:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":708,"length":{"hexValue":"33","id":707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13784:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"13778:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"src":"13777:17:0"},"scope":996,"src":"13731:239:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":839,"nodeType":"Block","src":"14478:1122:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"baseExpression":{"id":741,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"14512:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":744,"indexExpression":{"expression":{"id":742,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"14520:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"14520:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14512:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":745,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":620,"src":"14512:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":747,"indexExpression":{"hexValue":"30","id":746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14540:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14512:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":748,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"14546:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14512:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":750,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14511:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"baseExpression":{"id":751,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"14574:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":754,"indexExpression":{"expression":{"id":752,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"14582:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"14582:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14574:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":620,"src":"14574:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":757,"indexExpression":{"hexValue":"31","id":756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14602:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14574:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":758,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"14608:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14574:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":760,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14573:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14511:103:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"baseExpression":{"id":762,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"14636:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":765,"indexExpression":{"expression":{"id":763,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"14644:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"14644:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14636:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":620,"src":"14636:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":768,"indexExpression":{"hexValue":"32","id":767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14664:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14636:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":769,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"14670:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14636:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":771,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14635:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14511:165:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e64657820646f6573206e6f74206d61746368206f7261636c652072657175657374","id":773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14691:37:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","typeString":"literal_string \\"Index does not match oracle request\\""},"value":"Index does not match oracle request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","typeString":"literal_string \\"Index does not match oracle request\\""}],"id":740,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"14489:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14489:250:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":775,"nodeType":"ExpressionStatement","src":"14489:250:0"},{"assignments":[777],"declarations":[{"constant":false,"id":777,"mutability":"mutable","name":"key","nameLocation":"14760:3:0","nodeType":"VariableDeclaration","scope":839,"src":"14752:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14752:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":787,"initialValue":{"arguments":[{"arguments":[{"id":781,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"14807:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":782,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"14814:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":783,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":733,"src":"14823:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":784,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":735,"src":"14831:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"14790:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"14790:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14790:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":778,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"14766:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14766:86:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"14752:100:0"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":789,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"14885:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":791,"indexExpression":{"id":790,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"14901:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14885:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isOpen","nodeType":"MemberAccess","referencedDeclaration":630,"src":"14885:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"466c69676874206f722074696d657374616d7020646f206e6f74206d61746368206f7261636c652072657175657374","id":793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14927:49:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","typeString":"literal_string \\"Flight or timestamp do not match oracle request\\""},"value":"Flight or timestamp do not match oracle request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","typeString":"literal_string \\"Flight or timestamp do not match oracle request\\""}],"id":788,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"14863:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14863:124:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":795,"nodeType":"ExpressionStatement","src":"14863:124:0"},{"expression":{"arguments":[{"expression":{"id":803,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"15048:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"15048:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"expression":{"baseExpression":{"id":796,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"15000:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":798,"indexExpression":{"id":797,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"15016:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15000:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":799,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"responses","nodeType":"MemberAccess","referencedDeclaration":635,"src":"15000:30:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[] storage ref)"}},"id":801,"indexExpression":{"id":800,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15031:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15000:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"15000:47:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15000:59:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":806,"nodeType":"ExpressionStatement","src":"15000:59:0"},{"eventCall":{"arguments":[{"id":808,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"15231:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":809,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":733,"src":"15240:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":810,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":735,"src":"15248:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":811,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15259:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":807,"name":"OracleReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":661,"src":"15218:12:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15218:52:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":813,"nodeType":"EmitStatement","src":"15213:57:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":814,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"15299:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":816,"indexExpression":{"id":815,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"15315:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15299:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":817,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"responses","nodeType":"MemberAccess","referencedDeclaration":635,"src":"15299:30:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[] storage ref)"}},"id":819,"indexExpression":{"id":818,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15330:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15299:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15299:49:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":821,"name":"MIN_RESPONSES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":614,"src":"15352:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15299:66:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":838,"nodeType":"IfStatement","src":"15281:312:0","trueBody":{"id":837,"nodeType":"Block","src":"15377:216:0","statements":[{"eventCall":{"arguments":[{"id":824,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"15414:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":825,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":733,"src":"15423:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":826,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":735,"src":"15431:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":827,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15442:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":823,"name":"FlightStatusInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":651,"src":"15397:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15397:56:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":829,"nodeType":"EmitStatement","src":"15392:61:0"},{"expression":{"arguments":[{"id":831,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"15542:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":832,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":733,"src":"15551:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":833,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":735,"src":"15559:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":834,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15570:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":830,"name":"processFlightStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":554,"src":"15522:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15522:59:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":836,"nodeType":"ExpressionStatement","src":"15522:59:0"}]}}]},"functionSelector":"c10f2700","id":840,"implemented":true,"kind":"function","modifiers":[],"name":"submitOracleResponse","nameLocation":"14307:20:0","nodeType":"FunctionDefinition","parameters":{"id":738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":729,"mutability":"mutable","name":"index","nameLocation":"14344:5:0","nodeType":"VariableDeclaration","scope":840,"src":"14338:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":728,"name":"uint8","nodeType":"ElementaryTypeName","src":"14338:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":731,"mutability":"mutable","name":"airline","nameLocation":"14368:7:0","nodeType":"VariableDeclaration","scope":840,"src":"14360:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":730,"name":"address","nodeType":"ElementaryTypeName","src":"14360:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":733,"mutability":"mutable","name":"flight","nameLocation":"14400:6:0","nodeType":"VariableDeclaration","scope":840,"src":"14386:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":732,"name":"string","nodeType":"ElementaryTypeName","src":"14386:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":735,"mutability":"mutable","name":"timestamp","nameLocation":"14425:9:0","nodeType":"VariableDeclaration","scope":840,"src":"14417:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":734,"name":"uint256","nodeType":"ElementaryTypeName","src":"14417:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":737,"mutability":"mutable","name":"statusCode","nameLocation":"14451:10:0","nodeType":"VariableDeclaration","scope":840,"src":"14445:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":736,"name":"uint8","nodeType":"ElementaryTypeName","src":"14445:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"14327:141:0"},"returnParameters":{"id":739,"nodeType":"ParameterList","parameters":[],"src":"14478:0:0"},"scope":996,"src":"14298:1302:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":860,"nodeType":"Block","src":"15754:81:0","statements":[{"expression":{"arguments":[{"arguments":[{"id":854,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":842,"src":"15799:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":855,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":844,"src":"15808:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":856,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":846,"src":"15816:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":852,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"15782:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15782:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15782:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":851,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"15772:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15772:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":850,"id":859,"nodeType":"Return","src":"15765:62:0"}]},"id":861,"implemented":true,"kind":"function","modifiers":[],"name":"getFlightKey","nameLocation":"15617:12:0","nodeType":"FunctionDefinition","parameters":{"id":847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":842,"mutability":"mutable","name":"airline","nameLocation":"15648:7:0","nodeType":"VariableDeclaration","scope":861,"src":"15640:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"15640:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":844,"mutability":"mutable","name":"flight","nameLocation":"15680:6:0","nodeType":"VariableDeclaration","scope":861,"src":"15666:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":843,"name":"string","nodeType":"ElementaryTypeName","src":"15666:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":846,"mutability":"mutable","name":"timestamp","nameLocation":"15705:9:0","nodeType":"VariableDeclaration","scope":861,"src":"15697:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":845,"name":"uint256","nodeType":"ElementaryTypeName","src":"15697:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15629:92:0"},"returnParameters":{"id":850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":861,"src":"15745:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15745:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15744:9:0"},"scope":996,"src":"15608:227:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":947,"nodeType":"Block","src":"16008:432:0","statements":[{"assignments":[875],"declarations":[{"constant":false,"id":875,"mutability":"mutable","name":"indexes","nameLocation":"16035:7:0","nodeType":"VariableDeclaration","scope":947,"src":"16019:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":873,"name":"uint8","nodeType":"ElementaryTypeName","src":"16019:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":874,"length":{"hexValue":"33","id":872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16025:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"16019:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"id":876,"nodeType":"VariableDeclarationStatement","src":"16019:23:0"},{"expression":{"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":877,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16053:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":879,"indexExpression":{"hexValue":"30","id":878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16061:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16053:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":881,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":863,"src":"16081:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":880,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16066:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16053:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":884,"nodeType":"ExpressionStatement","src":"16053:36:0"},{"expression":{"id":891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":885,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16102:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":887,"indexExpression":{"hexValue":"31","id":886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16110:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16102:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":888,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16115:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":890,"indexExpression":{"hexValue":"30","id":889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16123:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16115:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16102:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":892,"nodeType":"ExpressionStatement","src":"16102:23:0"},{"body":{"id":908,"nodeType":"Block","src":"16169:63:0","statements":[{"expression":{"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":900,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16184:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":902,"indexExpression":{"hexValue":"31","id":901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16192:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16184:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":904,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":863,"src":"16212:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":903,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"16197:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16197:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16184:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":907,"nodeType":"ExpressionStatement","src":"16184:36:0"}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":893,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16143:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":895,"indexExpression":{"hexValue":"31","id":894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16151:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16143:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":896,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16157:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":898,"indexExpression":{"hexValue":"30","id":897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16165:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16157:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16143:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":909,"nodeType":"WhileStatement","src":"16136:96:0"},{"expression":{"id":916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":910,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16244:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":912,"indexExpression":{"hexValue":"32","id":911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16252:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16244:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":913,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16257:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":915,"indexExpression":{"hexValue":"31","id":914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16265:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16257:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16244:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":917,"nodeType":"ExpressionStatement","src":"16244:23:0"},{"body":{"id":943,"nodeType":"Block","src":"16343:63:0","statements":[{"expression":{"id":941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":935,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16358:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":937,"indexExpression":{"hexValue":"32","id":936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16366:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16358:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":939,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":863,"src":"16386:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":938,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"16371:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16371:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16358:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":942,"nodeType":"ExpressionStatement","src":"16358:36:0"}]},"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":918,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16286:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":920,"indexExpression":{"hexValue":"32","id":919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16294:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16286:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":921,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16300:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":923,"indexExpression":{"hexValue":"30","id":922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16308:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16300:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16286:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":925,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16285:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":926,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16316:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":928,"indexExpression":{"hexValue":"32","id":927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16324:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16316:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":929,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16330:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":931,"indexExpression":{"hexValue":"31","id":930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16338:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16330:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16316:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":933,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16315:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16285:56:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":944,"nodeType":"WhileStatement","src":"16278:128:0"},{"expression":{"id":945,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16425:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"functionReturnParameters":869,"id":946,"nodeType":"Return","src":"16418:14:0"}]},"id":948,"implemented":true,"kind":"function","modifiers":[],"name":"generateIndexes","nameLocation":"15917:15:0","nodeType":"FunctionDefinition","parameters":{"id":864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":863,"mutability":"mutable","name":"account","nameLocation":"15941:7:0","nodeType":"VariableDeclaration","scope":948,"src":"15933:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":862,"name":"address","nodeType":"ElementaryTypeName","src":"15933:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15932:17:0"},"returnParameters":{"id":869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":868,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":948,"src":"15986:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":865,"name":"uint8","nodeType":"ElementaryTypeName","src":"15986:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":867,"length":{"hexValue":"33","id":866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15992:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"15986:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"src":"15985:17:0"},"scope":996,"src":"15908:532:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":994,"nodeType":"Block","src":"16579:486:0","statements":[{"assignments":[956],"declarations":[{"constant":false,"id":956,"mutability":"mutable","name":"maxValue","nameLocation":"16596:8:0","nodeType":"VariableDeclaration","scope":994,"src":"16590:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":955,"name":"uint8","nodeType":"ElementaryTypeName","src":"16590:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":958,"initialValue":{"hexValue":"3130","id":957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16607:2:0","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"VariableDeclarationStatement","src":"16590:19:0"},{"assignments":[960],"declarations":[{"constant":false,"id":960,"mutability":"mutable","name":"random","nameLocation":"16701:6:0","nodeType":"VariableDeclaration","scope":994,"src":"16695:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":959,"name":"uint8","nodeType":"ElementaryTypeName","src":"16695:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":982,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":969,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967292,"src":"16815:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"16815:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16830:7:0","subExpression":{"id":971,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"16830:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16815:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":968,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967291,"src":"16805:9:0","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16805:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":975,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"16840:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"16788:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"16788:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16788:60:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":965,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"16756:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16756:111:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":963,"name":"uint256","nodeType":"ElementaryTypeName","src":"16730:7:0","typeDescriptions":{}}},"id":978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16730:152:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":979,"name":"maxValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"16885:8:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16730:163:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16710:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":961,"name":"uint8","nodeType":"ElementaryTypeName","src":"16710:5:0","typeDescriptions":{}}},"id":981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16710:194:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"16695:209:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":983,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"16921:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"323530","id":984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16929:3:0","typeDescriptions":{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},"value":"250"},"src":"16921:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":991,"nodeType":"IfStatement","src":"16917:115:0","trueBody":{"id":990,"nodeType":"Block","src":"16934:98:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":986,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"16949:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16957:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16949:9:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":989,"nodeType":"ExpressionStatement","src":"16949:9:0"}]}},{"expression":{"id":992,"name":"random","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":960,"src":"17051:6:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":954,"id":993,"nodeType":"Return","src":"17044:13:0"}]},"id":995,"implemented":true,"kind":"function","modifiers":[],"name":"getRandomIndex","nameLocation":"16522:14:0","nodeType":"FunctionDefinition","parameters":{"id":951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"account","nameLocation":"16545:7:0","nodeType":"VariableDeclaration","scope":995,"src":"16537:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":949,"name":"address","nodeType":"ElementaryTypeName","src":"16537:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16536:17:0"},"returnParameters":{"id":954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":953,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":995,"src":"16572:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":952,"name":"uint8","nodeType":"ElementaryTypeName","src":"16572:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16571:7:0"},"scope":996,"src":"16513:552:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":997,"src":"633:16455:0"}],"src":"33:17057:0"},"legacyAST":{"absolutePath":"project:/contracts/FlightSuretyApp.sol","exportedSymbols":{"FlightSuretyApp":[996],"FlightSuretyData":[1536],"SafeMath":[1885]},"id":997,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".3"],"nodeType":"PragmaDirective","src":"33:23:0"},{"absolutePath":"project:/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol","file":"../node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol","id":2,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":997,"sourceUnit":1886,"src":"354:73:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"project:/contracts/FlightSuretyData.sol","file":"./FlightSuretyData.sol","id":3,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":997,"sourceUnit":1537,"src":"429:32:0","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":996,"linearizedBaseContracts":[996],"name":"FlightSuretyApp","nameLocation":"642:15:0","nodeType":"ContractDefinition","nodes":[{"id":6,"libraryName":{"id":4,"name":"SafeMath","nodeType":"IdentifierPath","referencedDeclaration":1885,"src":"671:8:0"},"nodeType":"UsingForDirective","src":"665:27:0","typeName":{"id":5,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":true,"id":9,"mutability":"constant","name":"STATUS_CODE_UNKNOWN","nameLocation":"1156:19:0","nodeType":"VariableDeclaration","scope":996,"src":"1133:46:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7,"name":"uint8","nodeType":"ElementaryTypeName","src":"1133:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"30","id":8,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1178:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"id":12,"mutability":"constant","name":"STATUS_CODE_ON_TIME","nameLocation":"1209:19:0","nodeType":"VariableDeclaration","scope":996,"src":"1186:47:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":10,"name":"uint8","nodeType":"ElementaryTypeName","src":"1186:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3130","id":11,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1231:2:0","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"private"},{"constant":true,"id":15,"mutability":"constant","name":"STATUS_CODE_LATE_AIRLINE","nameLocation":"1263:24:0","nodeType":"VariableDeclaration","scope":996,"src":"1240:52:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13,"name":"uint8","nodeType":"ElementaryTypeName","src":"1240:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":14,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1290:2:0","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"constant":true,"id":18,"mutability":"constant","name":"STATUS_CODE_LATE_WEATHER","nameLocation":"1322:24:0","nodeType":"VariableDeclaration","scope":996,"src":"1299:52:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":16,"name":"uint8","nodeType":"ElementaryTypeName","src":"1299:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3330","id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1349:2:0","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},"visibility":"private"},{"constant":true,"id":21,"mutability":"constant","name":"STATUS_CODE_LATE_TECHNICAL","nameLocation":"1381:26:0","nodeType":"VariableDeclaration","scope":996,"src":"1358:54:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":19,"name":"uint8","nodeType":"ElementaryTypeName","src":"1358:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3430","id":20,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1410:2:0","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"visibility":"private"},{"constant":true,"id":24,"mutability":"constant","name":"STATUS_CODE_LATE_OTHER","nameLocation":"1442:22:0","nodeType":"VariableDeclaration","scope":996,"src":"1419:50:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":22,"name":"uint8","nodeType":"ElementaryTypeName","src":"1419:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3530","id":23,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1467:2:0","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"private"},{"constant":false,"id":26,"mutability":"mutable","name":"contractOwner","nameLocation":"1494:13:0","nodeType":"VariableDeclaration","scope":996,"src":"1478:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25,"name":"address","nodeType":"ElementaryTypeName","src":"1478:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"constant":false,"functionSelector":"c829e3ef","id":31,"mutability":"mutable","name":"airlinesForRegistration","nameLocation":"1676:23:0","nodeType":"VariableDeclaration","scope":996,"src":"1639:60:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":30,"keyType":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"1647:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1639:29:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueType":{"baseType":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"1658:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29,"nodeType":"ArrayTypeName","src":"1658:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"canonicalName":"FlightSuretyApp.Flight","id":40,"members":[{"constant":false,"id":33,"mutability":"mutable","name":"isRegistered","nameLocation":"1754:12:0","nodeType":"VariableDeclaration","scope":40,"src":"1749:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32,"name":"bool","nodeType":"ElementaryTypeName","src":"1749:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35,"mutability":"mutable","name":"statusCode","nameLocation":"1783:10:0","nodeType":"VariableDeclaration","scope":40,"src":"1777:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":34,"name":"uint8","nodeType":"ElementaryTypeName","src":"1777:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":37,"mutability":"mutable","name":"updatedTimestamp","nameLocation":"1812:16:0","nodeType":"VariableDeclaration","scope":40,"src":"1804:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"1804:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39,"mutability":"mutable","name":"airline","nameLocation":"1847:7:0","nodeType":"VariableDeclaration","scope":40,"src":"1839:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38,"name":"address","nodeType":"ElementaryTypeName","src":"1839:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Flight","nameLocation":"1731:6:0","nodeType":"StructDefinition","scope":996,"src":"1724:138:0","visibility":"public"},{"constant":false,"id":45,"mutability":"mutable","name":"flights","nameLocation":"1903:7:0","nodeType":"VariableDeclaration","scope":996,"src":"1868:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Flight_$40_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.Flight)"},"typeName":{"id":44,"keyType":{"id":41,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1876:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1868:26:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Flight_$40_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.Flight)"},"valueType":{"id":43,"nodeType":"UserDefinedTypeName","pathNode":{"id":42,"name":"Flight","nodeType":"IdentifierPath","referencedDeclaration":40,"src":"1887:6:0"},"referencedDeclaration":40,"src":"1887:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_storage_ptr","typeString":"struct FlightSuretyApp.Flight"}}},"visibility":"private"},{"anonymous":false,"id":51,"name":"AirlineRegistered","nameLocation":"2227:17:0","nodeType":"EventDefinition","parameters":{"id":50,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"2253:7:0","nodeType":"VariableDeclaration","scope":51,"src":"2245:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46,"name":"address","nodeType":"ElementaryTypeName","src":"2245:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49,"indexed":false,"mutability":"mutable","name":"count","nameLocation":"2270:5:0","nodeType":"VariableDeclaration","scope":51,"src":"2262:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48,"name":"uint256","nodeType":"ElementaryTypeName","src":"2262:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2244:32:0"},"src":"2221:56:0"},{"anonymous":false,"id":57,"name":"AirlineFunded","nameLocation":"2289:13:0","nodeType":"EventDefinition","parameters":{"id":56,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"2311:7:0","nodeType":"VariableDeclaration","scope":57,"src":"2303:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52,"name":"address","nodeType":"ElementaryTypeName","src":"2303:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55,"indexed":false,"mutability":"mutable","name":"funds","nameLocation":"2328:5:0","nodeType":"VariableDeclaration","scope":57,"src":"2320:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"2320:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2302:32:0"},"src":"2283:52:0"},{"anonymous":false,"id":67,"name":"InsurancePurchased","nameLocation":"2349:18:0","nodeType":"EventDefinition","parameters":{"id":66,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"2386:9:0","nodeType":"VariableDeclaration","scope":67,"src":"2378:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58,"name":"uint256","nodeType":"ElementaryTypeName","src":"2378:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"2414:7:0","nodeType":"VariableDeclaration","scope":67,"src":"2406:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"2406:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63,"indexed":false,"mutability":"mutable","name":"passenger","nameLocation":"2440:9:0","nodeType":"VariableDeclaration","scope":67,"src":"2432:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62,"name":"address","nodeType":"ElementaryTypeName","src":"2432:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2468:6:0","nodeType":"VariableDeclaration","scope":67,"src":"2460:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64,"name":"uint256","nodeType":"ElementaryTypeName","src":"2460:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2367:114:0"},"src":"2343:139:0"},{"anonymous":false,"id":73,"name":"PassengerCredited","nameLocation":"2494:17:0","nodeType":"EventDefinition","parameters":{"id":72,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"indexed":false,"mutability":"mutable","name":"passenger","nameLocation":"2520:9:0","nodeType":"VariableDeclaration","scope":73,"src":"2512:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68,"name":"address","nodeType":"ElementaryTypeName","src":"2512:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":71,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2539:6:0","nodeType":"VariableDeclaration","scope":73,"src":"2531:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70,"name":"uint256","nodeType":"ElementaryTypeName","src":"2531:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2511:35:0"},"src":"2488:59:0"},{"anonymous":false,"id":79,"name":"CreditInsurees","nameLocation":"2561:14:0","nodeType":"EventDefinition","parameters":{"id":78,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"2584:7:0","nodeType":"VariableDeclaration","scope":79,"src":"2576:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74,"name":"address","nodeType":"ElementaryTypeName","src":"2576:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77,"indexed":false,"mutability":"mutable","name":"flight","nameLocation":"2600:6:0","nodeType":"VariableDeclaration","scope":79,"src":"2593:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":76,"name":"string","nodeType":"ElementaryTypeName","src":"2593:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2575:32:0"},"src":"2555:53:0"},{"body":{"id":88,"nodeType":"Block","src":"3350:221:0","statements":[{"expression":{"arguments":[{"hexValue":"74727565","id":83,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3419:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"436f6e74726163742069732063757272656e746c79206e6f74206f7065726174696f6e616c","id":84,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3425:39:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","typeString":"literal_string \\"Contract is currently not operational\\""},"value":"Contract is currently not operational"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","typeString":"literal_string \\"Contract is currently not operational\\""}],"id":82,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3411:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":85,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3411:54:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":86,"nodeType":"ExpressionStatement","src":"3411:54:0"},{"id":87,"nodeType":"PlaceholderStatement","src":"3476:1:0"}]},"documentation":{"id":80,"nodeType":"StructuredDocumentation","src":"3069:243:0","text":" @dev Modifier that requires the \\"operational\\" boolean variable to be \\"true\\"\\n      This is used on all state changing functions to pause the contract in\\n      the event there is an issue that needs to be fixed"},"id":89,"name":"requireIsOperational","nameLocation":"3327:20:0","nodeType":"ModifierDefinition","parameters":{"id":81,"nodeType":"ParameterList","parameters":[],"src":"3347:2:0"},"src":"3318:253:0","virtual":false,"visibility":"internal"},{"body":{"id":101,"nodeType":"Block","src":"3719:99:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":96,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":93,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"3738:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3738:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":95,"name":"contractOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"3752:13:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3738:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"43616c6c6572206973206e6f7420636f6e7472616374206f776e6572","id":97,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3767:30:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad5b8255218fc9200bf271049bc5472a1a7a8192290eba60272e432e608ceea3","typeString":"literal_string \\"Caller is not contract owner\\""},"value":"Caller is not contract owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ad5b8255218fc9200bf271049bc5472a1a7a8192290eba60272e432e608ceea3","typeString":"literal_string \\"Caller is not contract owner\\""}],"id":92,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3730:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3730:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"3730:68:0"},{"id":100,"nodeType":"PlaceholderStatement","src":"3809:1:0"}]},"documentation":{"id":90,"nodeType":"StructuredDocumentation","src":"3579:102:0","text":" @dev Modifier that requires the \\"ContractOwner\\" account to be the function caller"},"id":102,"name":"requireContractOwner","nameLocation":"3696:20:0","nodeType":"ModifierDefinition","parameters":{"id":91,"nodeType":"ParameterList","parameters":[],"src":"3716:2:0"},"src":"3687:131:0","virtual":false,"visibility":"internal"},{"constant":false,"id":105,"mutability":"mutable","name":"flightSuretyData","nameLocation":"3889:16:0","nodeType":"VariableDeclaration","scope":996,"src":"3872:33:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"},"typeName":{"id":104,"nodeType":"UserDefinedTypeName","pathNode":{"id":103,"name":"FlightSuretyData","nodeType":"IdentifierPath","referencedDeclaration":1536,"src":"3872:16:0"},"referencedDeclaration":1536,"src":"3872:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"visibility":"internal"},{"body":{"id":122,"nodeType":"Block","src":"4329:116:0","statements":[{"expression":{"id":114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":111,"name":"contractOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"4340:13:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":112,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"4356:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4356:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4340:26:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":115,"nodeType":"ExpressionStatement","src":"4340:26:0"},{"expression":{"id":120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":116,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"4377:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":118,"name":"flightSuretyDataAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"4413:23:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":117,"name":"FlightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"4396:16:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FlightSuretyData_$1536_$","typeString":"type(contract FlightSuretyData)"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4396:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"src":"4377:60:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":121,"nodeType":"ExpressionStatement","src":"4377:60:0"}]},"documentation":{"id":106,"nodeType":"StructuredDocumentation","src":"4216:54:0","text":" @dev Contract constructor"},"id":123,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":108,"mutability":"mutable","name":"flightSuretyDataAddress","nameLocation":"4304:23:0","nodeType":"VariableDeclaration","scope":123,"src":"4288:39:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":107,"name":"address","nodeType":"ElementaryTypeName","src":"4288:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"4287:41:0"},"returnParameters":{"id":110,"nodeType":"ParameterList","parameters":[],"src":"4329:0:0"},"scope":996,"src":"4276:169:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":132,"nodeType":"Block","src":"4807:99:0","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":128,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"4825:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isOperational","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"4825:30:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4825:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":127,"id":131,"nodeType":"Return","src":"4818:39:0"}]},"functionSelector":"cd905dff","id":133,"implemented":true,"kind":"function","modifiers":[],"name":"isOperational","nameLocation":"4764:13:0","nodeType":"FunctionDefinition","parameters":{"id":124,"nodeType":"ParameterList","parameters":[],"src":"4777:2:0"},"returnParameters":{"id":127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":133,"src":"4801:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":125,"name":"bool","nodeType":"ElementaryTypeName","src":"4801:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4800:6:0"},"scope":996,"src":"4755:151:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":147,"nodeType":"Block","src":"5013:156:0","statements":[{"expression":{"arguments":[{"id":142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5046:46:0","subExpression":{"arguments":[{"id":140,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"5084:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":138,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"5047:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isAirlineRegistered","nodeType":"MemberAccess","referencedDeclaration":1236,"src":"5047:36:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5047:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4169726c696e6520697320616c72656164792072656769737465726564","id":143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5107:31:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7","typeString":"literal_string \\"Airline is already registered\\""},"value":"Airline is already registered"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cfbf4f94f2f8d20d9596674553f6916e2ddf8f8d2ffd06b5012c94e8768392f7","typeString":"literal_string \\"Airline is already registered\\""}],"id":137,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"5024:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5024:125:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":145,"nodeType":"ExpressionStatement","src":"5024:125:0"},{"id":146,"nodeType":"PlaceholderStatement","src":"5160:1:0"}]},"id":148,"name":"requireNotAlreadyRegistered","nameLocation":"4968:27:0","nodeType":"ModifierDefinition","parameters":{"id":136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135,"mutability":"mutable","name":"airline","nameLocation":"5004:7:0","nodeType":"VariableDeclaration","scope":148,"src":"4996:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134,"name":"address","nodeType":"ElementaryTypeName","src":"4996:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4995:17:0"},"src":"4959:210:0","virtual":false,"visibility":"internal"},{"body":{"id":160,"nodeType":"Block","src":"5779:71:0","statements":[{"expression":{"arguments":[{"id":157,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150,"src":"5834:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":155,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"5797:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isAirlineRegistered","nodeType":"MemberAccess","referencedDeclaration":1236,"src":"5797:36:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5797:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":154,"id":159,"nodeType":"Return","src":"5790:52:0"}]},"functionSelector":"0e248a11","id":161,"implemented":true,"kind":"function","modifiers":[],"name":"isAirline","nameLocation":"5723:9:0","nodeType":"FunctionDefinition","parameters":{"id":151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":150,"mutability":"mutable","name":"airline","nameLocation":"5741:7:0","nodeType":"VariableDeclaration","scope":161,"src":"5733:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":149,"name":"address","nodeType":"ElementaryTypeName","src":"5733:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5732:17:0"},"returnParameters":{"id":154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":161,"src":"5773:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":152,"name":"bool","nodeType":"ElementaryTypeName","src":"5773:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5772:6:0"},"scope":996,"src":"5714:136:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":304,"nodeType":"Block","src":"6141:1795:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":176,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"6156:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getRegisteredAirlinesCount","nodeType":"MemberAccess","referencedDeclaration":1298,"src":"6156:43:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6156:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"34","id":179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6204:1:0","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"6156:49:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":302,"nodeType":"Block","src":"6556:1373:0","statements":[{"assignments":[206],"declarations":[{"constant":false,"id":206,"mutability":"mutable","name":"isVoted","nameLocation":"6700:7:0","nodeType":"VariableDeclaration","scope":302,"src":"6695:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":205,"name":"bool","nodeType":"ElementaryTypeName","src":"6695:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":208,"initialValue":{"hexValue":"66616c7365","id":207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6710:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"6695:20:0"},{"body":{"id":237,"nodeType":"Block","src":"6866:174:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":222,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"6889:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":224,"indexExpression":{"id":223,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6913:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6889:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":226,"indexExpression":{"id":225,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"6922:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6889:35:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":227,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"6928:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6928:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6889:49:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":236,"nodeType":"IfStatement","src":"6885:140:0","trueBody":{"id":235,"nodeType":"Block","src":"6940:85:0","statements":[{"expression":{"id":232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":230,"name":"isVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"6963:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6973:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6963:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":233,"nodeType":"ExpressionStatement","src":"6963:14:0"},{"id":234,"nodeType":"Break","src":"7000:5:0"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":213,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"6785:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":214,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"6789:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":216,"indexExpression":{"id":215,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6813:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6789:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6789:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6785:43:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":238,"initializationExpression":{"assignments":[210],"declarations":[{"constant":false,"id":210,"mutability":"mutable","name":"i","nameLocation":"6761:1:0","nodeType":"VariableDeclaration","scope":238,"src":"6753:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":209,"name":"uint256","nodeType":"ElementaryTypeName","src":"6753:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":212,"initialValue":{"hexValue":"30","id":211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6765:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6753:13:0"},"loopExpression":{"expression":{"id":220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6847:3:0","subExpression":{"id":219,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"6847:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":221,"nodeType":"ExpressionStatement","src":"6847:3:0"},"nodeType":"ForStatement","src":"6730:310:0"},{"expression":{"arguments":[{"id":241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7062:8:0","subExpression":{"id":240,"name":"isVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"7063:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4169726c696e652068617320616c7265616479206265656e20766f74656420666f72","id":242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7072:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582","typeString":"literal_string \\"Airline has already been voted for\\""},"value":"Airline has already been voted for"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b7356dc09e596f41d8276d8ae028ebf33b44e9c18e755d5b00d5ea1cf2d52582","typeString":"literal_string \\"Airline has already been voted for\\""}],"id":239,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"7054:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7054:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":244,"nodeType":"ExpressionStatement","src":"7054:55:0"},{"expression":{"arguments":[{"expression":{"id":249,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"7164:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"7164:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":245,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"7126:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":247,"indexExpression":{"id":246,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7150:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7126:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"7126:37:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7126:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":252,"nodeType":"ExpressionStatement","src":"7126:49:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":261,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7346:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getRegisteredAirlinesCount","nodeType":"MemberAccess","referencedDeclaration":1298,"src":"7346:43:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7346:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":253,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"7273:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":255,"indexExpression":{"id":254,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7297:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7273:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7273:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"313030","id":257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7315:3:0","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"7273:45:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":259,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7272:47:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"div","nodeType":"MemberAccess","referencedDeclaration":1794,"src":"7272:51:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7272:138:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3530","id":265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7414:2:0","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"src":"7272:144:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":294,"nodeType":"IfStatement","src":"7250:598:0","trueBody":{"id":293,"nodeType":"Block","src":"7432:416:0","statements":[{"expression":{"arguments":[{"id":270,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7484:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":267,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7451:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerAirline","nodeType":"MemberAccess","referencedDeclaration":1223,"src":"7451:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7451:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":272,"nodeType":"ExpressionStatement","src":"7451:41:0"},{"condition":{"arguments":[{"id":275,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7554:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":273,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7517:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isAirlineRegistered","nodeType":"MemberAccess","referencedDeclaration":1236,"src":"7517:36:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7517:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":285,"nodeType":"IfStatement","src":"7513:245:0","trueBody":{"id":284,"nodeType":"Block","src":"7564:194:0","statements":[{"eventCall":{"arguments":[{"id":278,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7636:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":279,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7670:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getRegisteredAirlinesCount","nodeType":"MemberAccess","referencedDeclaration":1298,"src":"7670:43:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7670:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":277,"name":"AirlineRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51,"src":"7592:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7592:146:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":283,"nodeType":"EmitStatement","src":"7587:151:0"}]}},{"expression":{"components":[{"hexValue":"74727565","id":286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7786:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"baseExpression":{"id":287,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"7792:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":289,"indexExpression":{"id":288,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7816:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7792:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7792:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":291,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7785:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":175,"id":292,"nodeType":"Return","src":"7778:54:0"}]}},{"expression":{"components":[{"hexValue":"66616c7365","id":295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7870:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"expression":{"baseExpression":{"id":296,"name":"airlinesForRegistration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31,"src":"7877:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":298,"indexExpression":{"id":297,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"7901:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7877:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7877:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":300,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7869:48:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":175,"id":301,"nodeType":"Return","src":"7862:55:0"}]},"id":303,"nodeType":"IfStatement","src":"6152:1777:0","trueBody":{"id":204,"nodeType":"Block","src":"6207:343:0","statements":[{"expression":{"arguments":[{"id":184,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6255:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":181,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"6222:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerAirline","nodeType":"MemberAccess","referencedDeclaration":1223,"src":"6222:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6222:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":186,"nodeType":"ExpressionStatement","src":"6222:41:0"},{"condition":{"arguments":[{"id":189,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6321:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":187,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"6284:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isAirlineRegistered","nodeType":"MemberAccess","referencedDeclaration":1236,"src":"6284:36:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6284:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":199,"nodeType":"IfStatement","src":"6280:225:0","trueBody":{"id":198,"nodeType":"Block","src":"6331:174:0","statements":[{"eventCall":{"arguments":[{"id":192,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6395:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":193,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"6425:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getRegisteredAirlinesCount","nodeType":"MemberAccess","referencedDeclaration":1298,"src":"6425:43:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6425:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":191,"name":"AirlineRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51,"src":"6355:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6355:134:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":197,"nodeType":"EmitStatement","src":"6350:139:0"}]}},{"expression":{"components":[{"hexValue":"74727565","id":200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6529:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"3333","id":201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6535:2:0","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"33"}],"id":202,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6528:10:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_33_by_1_$","typeString":"tuple(bool,int_const 33)"}},"functionReturnParameters":175,"id":203,"nodeType":"Return","src":"6521:17:0"}]}}]},"documentation":{"id":162,"nodeType":"StructuredDocumentation","src":"5858:74:0","text":" @dev Add an airline to the registration queue"},"functionSelector":"bdfd9877","id":305,"implemented":true,"kind":"function","modifiers":[{"id":167,"kind":"modifierInvocation","modifierName":{"id":166,"name":"requireIsOperational","nodeType":"IdentifierPath","referencedDeclaration":89,"src":"6022:20:0"},"nodeType":"ModifierInvocation","src":"6022:20:0"},{"arguments":[{"id":169,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":164,"src":"6080:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":170,"kind":"modifierInvocation","modifierName":{"id":168,"name":"requireNotAlreadyRegistered","nodeType":"IdentifierPath","referencedDeclaration":148,"src":"6052:27:0"},"nodeType":"ModifierInvocation","src":"6052:36:0"}],"name":"registerAirline","nameLocation":"5947:15:0","nodeType":"FunctionDefinition","parameters":{"id":165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":164,"mutability":"mutable","name":"airline","nameLocation":"5971:7:0","nodeType":"VariableDeclaration","scope":305,"src":"5963:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":163,"name":"address","nodeType":"ElementaryTypeName","src":"5963:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5962:17:0"},"returnParameters":{"id":175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":172,"mutability":"mutable","name":"success","nameLocation":"6112:7:0","nodeType":"VariableDeclaration","scope":305,"src":"6107:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":171,"name":"bool","nodeType":"ElementaryTypeName","src":"6107:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":174,"mutability":"mutable","name":"votes","nameLocation":"6129:5:0","nodeType":"VariableDeclaration","scope":305,"src":"6121:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":173,"name":"uint256","nodeType":"ElementaryTypeName","src":"6121:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6106:29:0"},"scope":996,"src":"5938:1998:0","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":334,"nodeType":"Block","src":"7982:263:0","statements":[{"expression":{"arguments":[{"expression":{"id":311,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8015:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8015:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":313,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8027:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8027:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":308,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"7993:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"fund","nodeType":"MemberAccess","referencedDeclaration":1257,"src":"7993:21:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) payable external"}},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7993:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":316,"nodeType":"ExpressionStatement","src":"7993:44:0"},{"condition":{"arguments":[{"expression":{"id":319,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8080:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8080:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":317,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"8054:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isFunded","nodeType":"MemberAccess","referencedDeclaration":1277,"src":"8054:25:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8054:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":333,"nodeType":"IfStatement","src":"8050:188:0","trueBody":{"id":332,"nodeType":"Block","src":"8093:145:0","statements":[{"eventCall":{"arguments":[{"expression":{"id":323,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8145:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8145:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":327,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8200:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8200:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":325,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"8174:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getFunds","nodeType":"MemberAccess","referencedDeclaration":1290,"src":"8174:25:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8174:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":322,"name":"AirlineFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57,"src":"8113:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8113:113:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":331,"nodeType":"EmitStatement","src":"8108:118:0"}]}}]},"functionSelector":"9ed18927","id":335,"implemented":true,"kind":"function","modifiers":[],"name":"fundAirline","nameLocation":"7953:11:0","nodeType":"FunctionDefinition","parameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"7964:2:0"},"returnParameters":{"id":307,"nodeType":"ParameterList","parameters":[],"src":"7982:0:0"},"scope":996,"src":"7944:301:0","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":347,"nodeType":"Block","src":"8317:60:0","statements":[{"expression":{"arguments":[{"id":344,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":337,"src":"8361:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":342,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"8335:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isFunded","nodeType":"MemberAccess","referencedDeclaration":1277,"src":"8335:25:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8335:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":341,"id":346,"nodeType":"Return","src":"8328:41:0"}]},"functionSelector":"5689b249","id":348,"implemented":true,"kind":"function","modifiers":[],"name":"isFunded","nameLocation":"8262:8:0","nodeType":"FunctionDefinition","parameters":{"id":338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":337,"mutability":"mutable","name":"airline","nameLocation":"8279:7:0","nodeType":"VariableDeclaration","scope":348,"src":"8271:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":336,"name":"address","nodeType":"ElementaryTypeName","src":"8271:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8270:17:0"},"returnParameters":{"id":341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":348,"src":"8311:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":339,"name":"bool","nodeType":"ElementaryTypeName","src":"8311:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8310:6:0"},"scope":996,"src":"8253:124:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":399,"nodeType":"Block","src":"8513:459:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":358,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8628:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8628:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8640:7:0","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8628:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":362,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8627:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":363,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8653:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8653:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"31","id":365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8666:7:0","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"src":"8653:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":367,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8652:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8627:47:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e737572616e636520616d6f756e742073686f756c64206265206265747765656e203020616e642031206574686572","id":369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8689:50:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613","typeString":"literal_string \\"Insurance amount should be between 0 and 1 ether\\""},"value":"Insurance amount should be between 0 and 1 ether"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2aa25499d6c28f8dad361ce26b595ea28b7ce4ea69a43d46fef0dd421a19b613","typeString":"literal_string \\"Insurance amount should be between 0 and 1 ether\\""}],"id":357,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"8605:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8605:145:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":371,"nodeType":"ExpressionStatement","src":"8605:145:0"},{"assignments":[373],"declarations":[{"constant":false,"id":373,"mutability":"mutable","name":"flight","nameLocation":"8771:6:0","nodeType":"VariableDeclaration","scope":399,"src":"8763:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8763:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":378,"initialValue":{"arguments":[{"id":375,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":350,"src":"8793:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":376,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"8804:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":374,"name":"getFlightKey","nodeType":"Identifier","overloadedDeclarations":[502,861],"referencedDeclaration":502,"src":"8780:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8780:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8763:49:0"},{"expression":{"arguments":[{"id":382,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":373,"src":"8846:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":383,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"8854:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":384,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8863:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8863:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":386,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8875:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8875:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":379,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"8825:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"buy","nodeType":"MemberAccess","referencedDeclaration":1365,"src":"8825:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (bytes32,address,address,uint256) external"}},"id":388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8825:60:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":389,"nodeType":"ExpressionStatement","src":"8825:60:0"},{"eventCall":{"arguments":[{"id":391,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":350,"src":"8922:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":392,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"8933:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":393,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8942:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8942:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":395,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"8954:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"8954:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":390,"name":"InsurancePurchased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"8903:18:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256)"}},"id":397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8903:61:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":398,"nodeType":"EmitStatement","src":"8898:66:0"}]},"functionSelector":"e938880e","id":400,"implemented":true,"kind":"function","modifiers":[{"id":355,"kind":"modifierInvocation","modifierName":{"id":354,"name":"requireIsOperational","nodeType":"IdentifierPath","referencedDeclaration":89,"src":"8487:20:0"},"nodeType":"ModifierInvocation","src":"8487:20:0"}],"name":"buyInsurance","nameLocation":"8394:12:0","nodeType":"FunctionDefinition","parameters":{"id":353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":350,"mutability":"mutable","name":"timestamp","nameLocation":"8415:9:0","nodeType":"VariableDeclaration","scope":400,"src":"8407:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":349,"name":"uint256","nodeType":"ElementaryTypeName","src":"8407:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":352,"mutability":"mutable","name":"airline","nameLocation":"8434:7:0","nodeType":"VariableDeclaration","scope":400,"src":"8426:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":351,"name":"address","nodeType":"ElementaryTypeName","src":"8426:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8406:36:0"},"returnParameters":{"id":356,"nodeType":"ParameterList","parameters":[],"src":"8513:0:0"},"scope":996,"src":"8385:587:0","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":447,"nodeType":"Block","src":"9177:311:0","statements":[{"assignments":[411],"declarations":[{"constant":false,"id":411,"mutability":"mutable","name":"flight","nameLocation":"9196:6:0","nodeType":"VariableDeclaration","scope":447,"src":"9188:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9188:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":416,"initialValue":{"arguments":[{"id":413,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"9218:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":414,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"9229:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":412,"name":"getFlightKey","nodeType":"Identifier","overloadedDeclarations":[502,861],"referencedDeclaration":502,"src":"9205:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9205:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9188:49:0"},{"assignments":[418],"declarations":[{"constant":false,"id":418,"mutability":"mutable","name":"amount","nameLocation":"9256:6:0","nodeType":"VariableDeclaration","scope":447,"src":"9248:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":417,"name":"uint256","nodeType":"ElementaryTypeName","src":"9248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":425,"initialValue":{"arguments":[{"expression":{"id":421,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"9297:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"9297:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":423,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"9309:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":419,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"9265:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"creditedAmount","nodeType":"MemberAccess","referencedDeclaration":1438,"src":"9265:31:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (address,bytes32) view external returns (uint256)"}},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9265:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9248:68:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":427,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":418,"src":"9335:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9344:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9335:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f2062616c616e636520746f207769746864726177","id":430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9347:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5","typeString":"literal_string \\"No balance to withdraw\\""},"value":"No balance to withdraw"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_af08831b689a6e21ff2a1d61127eae3e817b5eace5682b882b19cef960f308a5","typeString":"literal_string \\"No balance to withdraw\\""}],"id":426,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"9327:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9327:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":432,"nodeType":"ExpressionStatement","src":"9327:45:0"},{"expression":{"arguments":[{"expression":{"id":436,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"9406:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"9406:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":438,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"9418:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":433,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"9385:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pay","nodeType":"MemberAccess","referencedDeclaration":1480,"src":"9385:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32) external"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9385:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":440,"nodeType":"ExpressionStatement","src":"9385:40:0"},{"eventCall":{"arguments":[{"expression":{"id":442,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"9461:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"9461:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":418,"src":"9473:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"PassengerCredited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"9443:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9443:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"EmitStatement","src":"9438:42:0"}]},"documentation":{"id":401,"nodeType":"StructuredDocumentation","src":"8980:77:0","text":"  @dev Transfers eligible payout funds to insuree"},"functionSelector":"5c1e6f3f","id":448,"implemented":true,"kind":"function","modifiers":[{"id":408,"kind":"modifierInvocation","modifierName":{"id":407,"name":"requireIsOperational","nodeType":"IdentifierPath","referencedDeclaration":89,"src":"9151:20:0"},"nodeType":"ModifierInvocation","src":"9151:20:0"}],"name":"creditPassenger","nameLocation":"9072:15:0","nodeType":"FunctionDefinition","parameters":{"id":406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":403,"mutability":"mutable","name":"timestamp","nameLocation":"9096:9:0","nodeType":"VariableDeclaration","scope":448,"src":"9088:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":402,"name":"uint256","nodeType":"ElementaryTypeName","src":"9088:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":405,"mutability":"mutable","name":"airline","nameLocation":"9115:7:0","nodeType":"VariableDeclaration","scope":448,"src":"9107:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":404,"name":"address","nodeType":"ElementaryTypeName","src":"9107:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9087:36:0"},"returnParameters":{"id":409,"nodeType":"ParameterList","parameters":[],"src":"9177:0:0"},"scope":996,"src":"9063:425:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":483,"nodeType":"Block","src":"9643:235:0","statements":[{"assignments":[457],"declarations":[{"constant":false,"id":457,"mutability":"mutable","name":"flight","nameLocation":"9662:6:0","nodeType":"VariableDeclaration","scope":483,"src":"9654:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9654:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":462,"initialValue":{"arguments":[{"id":459,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"9684:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":460,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"9695:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":458,"name":"getFlightKey","nodeType":"Identifier","overloadedDeclarations":[502,861],"referencedDeclaration":502,"src":"9671:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9671:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9654:49:0"},{"expression":{"arguments":[{"id":468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9724:29:0","subExpression":{"expression":{"baseExpression":{"id":464,"name":"flights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"9725:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Flight_$40_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.Flight storage ref)"}},"id":466,"indexExpression":{"id":465,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":457,"src":"9733:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9725:15:0","typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_storage","typeString":"struct FlightSuretyApp.Flight storage ref"}},"id":467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":33,"src":"9725:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"466c6967687420697320616c72656164792072656769737465726564","id":469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9755:30:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc","typeString":"literal_string \\"Flight is already registered\\""},"value":"Flight is already registered"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8394f5d953aa8854fec387bf854929311a20d001e4cb9c750f717f97ad9dc0dc","typeString":"literal_string \\"Flight is already registered\\""}],"id":463,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"9716:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9716:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":471,"nodeType":"ExpressionStatement","src":"9716:70:0"},{"expression":{"id":481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":472,"name":"flights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"9799:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Flight_$40_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.Flight storage ref)"}},"id":474,"indexExpression":{"id":473,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":457,"src":"9807:6:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9799:15:0","typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_storage","typeString":"struct FlightSuretyApp.Flight storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"74727565","id":476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9824:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":477,"name":"STATUS_CODE_UNKNOWN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"9830:19:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":478,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"9851:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":479,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"9862:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":475,"name":"Flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"9817:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Flight_$40_storage_ptr_$","typeString":"type(struct FlightSuretyApp.Flight storage pointer)"}},"id":480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9817:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_memory_ptr","typeString":"struct FlightSuretyApp.Flight memory"}},"src":"9799:71:0","typeDescriptions":{"typeIdentifier":"t_struct$_Flight_$40_storage","typeString":"struct FlightSuretyApp.Flight storage ref"}},"id":482,"nodeType":"ExpressionStatement","src":"9799:71:0"}]},"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"9496:72:0","text":" @dev Register a future flight for insuring."},"functionSelector":"424e8b07","id":484,"implemented":true,"kind":"function","modifiers":[],"name":"registerFlight","nameLocation":"9583:14:0","nodeType":"FunctionDefinition","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"timestamp","nameLocation":"9606:9:0","nodeType":"VariableDeclaration","scope":484,"src":"9598:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"9598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"airline","nameLocation":"9625:7:0","nodeType":"VariableDeclaration","scope":484,"src":"9617:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":452,"name":"address","nodeType":"ElementaryTypeName","src":"9617:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9597:36:0"},"returnParameters":{"id":455,"nodeType":"ParameterList","parameters":[],"src":"9643:0:0"},"scope":996,"src":"9574:304:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":501,"nodeType":"Block","src":"10008:73:0","statements":[{"expression":{"arguments":[{"arguments":[{"id":496,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":486,"src":"10053:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":497,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":488,"src":"10064:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":494,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"10036:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"10036:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10036:36:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":493,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"10026:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10026:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":492,"id":500,"nodeType":"Return","src":"10019:54:0"}]},"id":502,"implemented":true,"kind":"function","modifiers":[],"name":"getFlightKey","nameLocation":"9895:12:0","nodeType":"FunctionDefinition","parameters":{"id":489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":486,"mutability":"mutable","name":"timestamp","nameLocation":"9916:9:0","nodeType":"VariableDeclaration","scope":502,"src":"9908:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":485,"name":"uint256","nodeType":"ElementaryTypeName","src":"9908:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":488,"mutability":"mutable","name":"airline","nameLocation":"9935:7:0","nodeType":"VariableDeclaration","scope":502,"src":"9927:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":487,"name":"address","nodeType":"ElementaryTypeName","src":"9927:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9907:36:0"},"returnParameters":{"id":492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":502,"src":"9994:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9994:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9993:9:0"},"scope":996,"src":"9886:195:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":553,"nodeType":"Block","src":"10329:479:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"30","id":517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10356:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10348:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":515,"name":"address","nodeType":"ElementaryTypeName","src":"10348:7:0","typeDescriptions":{}}},"id":518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10348:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":519,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":505,"src":"10362:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10348:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4169726c696e652061646472657373206d7573742062652076616c6964","id":521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10371:31:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108","typeString":"literal_string \\"Airline address must be valid\\""},"value":"Airline address must be valid"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d4e0eae082fea1a1586c6df8c2c4c072843cd2df081df922393c8a0069794108","typeString":"literal_string \\"Airline address must be valid\\""}],"id":514,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"10340:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10340:63:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":523,"nodeType":"ExpressionStatement","src":"10340:63:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":524,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"10504:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":525,"name":"STATUS_CODE_LATE_AIRLINE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"10518:24:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10504:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":527,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10503:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":528,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"10561:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":529,"name":"STATUS_CODE_LATE_TECHNICAL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21,"src":"10575:26:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10561:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":531,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10560:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10503:99:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":552,"nodeType":"IfStatement","src":"10485:316:0","trueBody":{"id":551,"nodeType":"Block","src":"10614:187:0","statements":[{"assignments":[534],"declarations":[{"constant":false,"id":534,"mutability":"mutable","name":"flightKey","nameLocation":"10637:9:0","nodeType":"VariableDeclaration","scope":551,"src":"10629:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10629:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":539,"initialValue":{"arguments":[{"id":536,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":509,"src":"10662:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":537,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":505,"src":"10673:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":535,"name":"getFlightKey","nodeType":"Identifier","overloadedDeclarations":[502,861],"referencedDeclaration":502,"src":"10649:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10649:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10629:52:0"},{"expression":{"arguments":[{"id":543,"name":"flightKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":534,"src":"10728:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":540,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105,"src":"10696:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1536","typeString":"contract FlightSuretyData"}},"id":542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"creditInsurees","nodeType":"MemberAccess","referencedDeclaration":1421,"src":"10696:31:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32) external"}},"id":544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10696:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":545,"nodeType":"ExpressionStatement","src":"10696:42:0"},{"eventCall":{"arguments":[{"id":547,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":505,"src":"10773:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":548,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":507,"src":"10782:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":546,"name":"CreditInsurees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"10758:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10758:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":550,"nodeType":"EmitStatement","src":"10753:36:0"}]}}]},"documentation":{"id":503,"nodeType":"StructuredDocumentation","src":"10089:79:0","text":" @dev Called after oracle has updated flight status"},"functionSelector":"e7bdde3b","id":554,"implemented":true,"kind":"function","modifiers":[],"name":"processFlightStatus","nameLocation":"10183:19:0","nodeType":"FunctionDefinition","parameters":{"id":512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":505,"mutability":"mutable","name":"airline","nameLocation":"10221:7:0","nodeType":"VariableDeclaration","scope":554,"src":"10213:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":504,"name":"address","nodeType":"ElementaryTypeName","src":"10213:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":507,"mutability":"mutable","name":"flight","nameLocation":"10253:6:0","nodeType":"VariableDeclaration","scope":554,"src":"10239:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":506,"name":"string","nodeType":"ElementaryTypeName","src":"10239:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":509,"mutability":"mutable","name":"timestamp","nameLocation":"10278:9:0","nodeType":"VariableDeclaration","scope":554,"src":"10270:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":508,"name":"uint256","nodeType":"ElementaryTypeName","src":"10270:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":511,"mutability":"mutable","name":"statusCode","nameLocation":"10304:10:0","nodeType":"VariableDeclaration","scope":554,"src":"10298:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":510,"name":"uint8","nodeType":"ElementaryTypeName","src":"10298:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"10202:119:0"},"returnParameters":{"id":513,"nodeType":"ParameterList","parameters":[],"src":"10329:0:0"},"scope":996,"src":"10174:634:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":604,"nodeType":"Block","src":"11011:641:0","statements":[{"assignments":[564],"declarations":[{"constant":false,"id":564,"mutability":"mutable","name":"index","nameLocation":"11028:5:0","nodeType":"VariableDeclaration","scope":604,"src":"11022:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":563,"name":"uint8","nodeType":"ElementaryTypeName","src":"11022:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":569,"initialValue":{"arguments":[{"expression":{"id":566,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"11051:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"11051:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":565,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"11036:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11036:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"11022:40:0"},{"assignments":[571],"declarations":[{"constant":false,"id":571,"mutability":"mutable","name":"key","nameLocation":"11141:3:0","nodeType":"VariableDeclaration","scope":604,"src":"11133:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11133:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":581,"initialValue":{"arguments":[{"arguments":[{"id":575,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":564,"src":"11188:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":576,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":556,"src":"11195:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":577,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"11204:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":578,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"11212:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":573,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"11171:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"11171:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11171:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":572,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"11147:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11147:86:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11133:100:0"},{"expression":{"id":588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":582,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"11490:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":584,"indexExpression":{"id":583,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":571,"src":"11506:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11490:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":585,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"requester","nodeType":"MemberAccess","referencedDeclaration":628,"src":"11490:30:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":586,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"11523:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"11523:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11490:43:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":589,"nodeType":"ExpressionStatement","src":"11490:43:0"},{"expression":{"id":595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":590,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"11544:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":592,"indexExpression":{"id":591,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":571,"src":"11560:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11544:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"isOpen","nodeType":"MemberAccess","referencedDeclaration":630,"src":"11544:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11574:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"11544:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":596,"nodeType":"ExpressionStatement","src":"11544:34:0"},{"eventCall":{"arguments":[{"id":598,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":564,"src":"11610:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":599,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":556,"src":"11617:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":600,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"11626:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":601,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"11634:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":597,"name":"OracleRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":671,"src":"11596:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint8_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (uint8,address,string memory,uint256)"}},"id":602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11596:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":603,"nodeType":"EmitStatement","src":"11591:53:0"}]},"functionSelector":"f83f11c0","id":605,"implemented":true,"kind":"function","modifiers":[],"name":"fetchFlightStatus","nameLocation":"10892:17:0","nodeType":"FunctionDefinition","parameters":{"id":561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":556,"mutability":"mutable","name":"airline","nameLocation":"10928:7:0","nodeType":"VariableDeclaration","scope":605,"src":"10920:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":555,"name":"address","nodeType":"ElementaryTypeName","src":"10920:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":558,"mutability":"mutable","name":"flight","nameLocation":"10960:6:0","nodeType":"VariableDeclaration","scope":605,"src":"10946:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":557,"name":"string","nodeType":"ElementaryTypeName","src":"10946:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":560,"mutability":"mutable","name":"timestamp","nameLocation":"10985:9:0","nodeType":"VariableDeclaration","scope":605,"src":"10977:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":559,"name":"uint256","nodeType":"ElementaryTypeName","src":"10977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10909:92:0"},"returnParameters":{"id":562,"nodeType":"ParameterList","parameters":[],"src":"11011:0:0"},"scope":996,"src":"10883:769:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"constant":false,"id":608,"mutability":"mutable","name":"nonce","nameLocation":"11772:5:0","nodeType":"VariableDeclaration","scope":996,"src":"11758:23:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":606,"name":"uint8","nodeType":"ElementaryTypeName","src":"11758:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"30","id":607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11780:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"functionSelector":"64b4f751","id":611,"mutability":"constant","name":"REGISTRATION_FEE","nameLocation":"11861:16:0","nodeType":"VariableDeclaration","scope":996,"src":"11837:50:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":609,"name":"uint256","nodeType":"ElementaryTypeName","src":"11837:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11880:7:0","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"visibility":"public"},{"constant":true,"id":614,"mutability":"constant","name":"MIN_RESPONSES","nameLocation":"11982:13:0","nodeType":"VariableDeclaration","scope":996,"src":"11957:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":612,"name":"uint256","nodeType":"ElementaryTypeName","src":"11957:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11998:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"private"},{"canonicalName":"FlightSuretyApp.Oracle","id":621,"members":[{"constant":false,"id":616,"mutability":"mutable","name":"isRegistered","nameLocation":"12038:12:0","nodeType":"VariableDeclaration","scope":621,"src":"12033:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":615,"name":"bool","nodeType":"ElementaryTypeName","src":"12033:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":620,"mutability":"mutable","name":"indexes","nameLocation":"12070:7:0","nodeType":"VariableDeclaration","scope":621,"src":"12061:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":617,"name":"uint8","nodeType":"ElementaryTypeName","src":"12061:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":619,"length":{"hexValue":"33","id":618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12067:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"12061:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"name":"Oracle","nameLocation":"12015:6:0","nodeType":"StructDefinition","scope":996,"src":"12008:77:0","visibility":"public"},{"constant":false,"id":626,"mutability":"mutable","name":"oracles","nameLocation":"12165:7:0","nodeType":"VariableDeclaration","scope":996,"src":"12130:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle)"},"typeName":{"id":625,"keyType":{"id":622,"name":"address","nodeType":"ElementaryTypeName","src":"12138:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"12130:26:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle)"},"valueType":{"id":624,"nodeType":"UserDefinedTypeName","pathNode":{"id":623,"name":"Oracle","nodeType":"IdentifierPath","referencedDeclaration":621,"src":"12149:6:0"},"referencedDeclaration":621,"src":"12149:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage_ptr","typeString":"struct FlightSuretyApp.Oracle"}}},"visibility":"private"},{"canonicalName":"FlightSuretyApp.ResponseInfo","id":636,"members":[{"constant":false,"id":628,"mutability":"mutable","name":"requester","nameLocation":"12261:9:0","nodeType":"VariableDeclaration","scope":636,"src":"12253:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":627,"name":"address","nodeType":"ElementaryTypeName","src":"12253:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":630,"mutability":"mutable","name":"isOpen","nameLocation":"12319:6:0","nodeType":"VariableDeclaration","scope":636,"src":"12314:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":629,"name":"bool","nodeType":"ElementaryTypeName","src":"12314:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":635,"mutability":"mutable","name":"responses","nameLocation":"12406:9:0","nodeType":"VariableDeclaration","scope":636,"src":"12378:37:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[])"},"typeName":{"id":634,"keyType":{"id":631,"name":"uint8","nodeType":"ElementaryTypeName","src":"12386:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"12378:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[])"},"valueType":{"baseType":{"id":632,"name":"address","nodeType":"ElementaryTypeName","src":"12395:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":633,"nodeType":"ArrayTypeName","src":"12395:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"internal"}],"name":"ResponseInfo","nameLocation":"12229:12:0","nodeType":"StructDefinition","scope":996,"src":"12222:352:0","visibility":"public"},{"constant":false,"id":641,"mutability":"mutable","name":"oracleResponses","nameLocation":"12703:15:0","nodeType":"VariableDeclaration","scope":996,"src":"12662:56:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"typeName":{"id":640,"keyType":{"id":637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12670:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"12662:32:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"valueType":{"id":639,"nodeType":"UserDefinedTypeName","pathNode":{"id":638,"name":"ResponseInfo","nodeType":"IdentifierPath","referencedDeclaration":636,"src":"12681:12:0"},"referencedDeclaration":636,"src":"12681:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage_ptr","typeString":"struct FlightSuretyApp.ResponseInfo"}}},"visibility":"private"},{"anonymous":false,"id":651,"name":"FlightStatusInfo","nameLocation":"12792:16:0","nodeType":"EventDefinition","parameters":{"id":650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":643,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"12827:7:0","nodeType":"VariableDeclaration","scope":651,"src":"12819:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":642,"name":"address","nodeType":"ElementaryTypeName","src":"12819:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":645,"indexed":false,"mutability":"mutable","name":"flight","nameLocation":"12852:6:0","nodeType":"VariableDeclaration","scope":651,"src":"12845:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":644,"name":"string","nodeType":"ElementaryTypeName","src":"12845:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":647,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"12877:9:0","nodeType":"VariableDeclaration","scope":651,"src":"12869:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":646,"name":"uint256","nodeType":"ElementaryTypeName","src":"12869:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":649,"indexed":false,"mutability":"mutable","name":"status","nameLocation":"12903:6:0","nodeType":"VariableDeclaration","scope":651,"src":"12897:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":648,"name":"uint8","nodeType":"ElementaryTypeName","src":"12897:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"12808:108:0"},"src":"12786:131:0"},{"anonymous":false,"id":661,"name":"OracleReport","nameLocation":"12931:12:0","nodeType":"EventDefinition","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":653,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"12962:7:0","nodeType":"VariableDeclaration","scope":661,"src":"12954:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":652,"name":"address","nodeType":"ElementaryTypeName","src":"12954:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":655,"indexed":false,"mutability":"mutable","name":"flight","nameLocation":"12987:6:0","nodeType":"VariableDeclaration","scope":661,"src":"12980:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":654,"name":"string","nodeType":"ElementaryTypeName","src":"12980:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":657,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"13012:9:0","nodeType":"VariableDeclaration","scope":661,"src":"13004:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":656,"name":"uint256","nodeType":"ElementaryTypeName","src":"13004:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":659,"indexed":false,"mutability":"mutable","name":"status","nameLocation":"13038:6:0","nodeType":"VariableDeclaration","scope":661,"src":"13032:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":658,"name":"uint8","nodeType":"ElementaryTypeName","src":"13032:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"12943:108:0"},"src":"12925:127:0"},{"anonymous":false,"id":671,"name":"OracleRequest","nameLocation":"13233:13:0","nodeType":"EventDefinition","parameters":{"id":670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":663,"indexed":false,"mutability":"mutable","name":"index","nameLocation":"13263:5:0","nodeType":"VariableDeclaration","scope":671,"src":"13257:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":662,"name":"uint8","nodeType":"ElementaryTypeName","src":"13257:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":665,"indexed":false,"mutability":"mutable","name":"airline","nameLocation":"13287:7:0","nodeType":"VariableDeclaration","scope":671,"src":"13279:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":664,"name":"address","nodeType":"ElementaryTypeName","src":"13279:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":667,"indexed":false,"mutability":"mutable","name":"flight","nameLocation":"13312:6:0","nodeType":"VariableDeclaration","scope":671,"src":"13305:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":666,"name":"string","nodeType":"ElementaryTypeName","src":"13305:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":669,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"13337:9:0","nodeType":"VariableDeclaration","scope":671,"src":"13329:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":668,"name":"uint256","nodeType":"ElementaryTypeName","src":"13329:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13246:107:0"},"src":"13227:127:0"},{"body":{"id":703,"nodeType":"Block","src":"13450:273:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":675,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13506:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"13506:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":677,"name":"REGISTRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"13519:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13506:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"526567697374726174696f6e20666565206973207265717569726564","id":679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13537:30:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","typeString":"literal_string \\"Registration fee is required\\""},"value":"Registration fee is required"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","typeString":"literal_string \\"Registration fee is required\\""}],"id":674,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"13498:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13498:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":681,"nodeType":"ExpressionStatement","src":"13498:70:0"},{"assignments":[687],"declarations":[{"constant":false,"id":687,"mutability":"mutable","name":"indexes","nameLocation":"13597:7:0","nodeType":"VariableDeclaration","scope":703,"src":"13581:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":685,"name":"uint8","nodeType":"ElementaryTypeName","src":"13581:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":686,"length":{"hexValue":"33","id":684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13587:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"13581:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"id":692,"initialValue":{"arguments":[{"expression":{"id":689,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13623:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13623:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":688,"name":"generateIndexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":948,"src":"13607:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_array$_t_uint8_$3_memory_ptr_$","typeString":"function (address) returns (uint8[3] memory)"}},"id":691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13607:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"nodeType":"VariableDeclarationStatement","src":"13581:53:0"},{"expression":{"id":701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":693,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"13647:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":696,"indexExpression":{"expression":{"id":694,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13655:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13655:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13647:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"74727565","id":698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13691:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":699,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":687,"src":"13706:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}],"id":697,"name":"Oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":621,"src":"13669:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Oracle_$621_storage_ptr_$","typeString":"type(struct FlightSuretyApp.Oracle storage pointer)"}},"id":700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["isRegistered","indexes"],"nodeType":"FunctionCall","src":"13669:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_memory_ptr","typeString":"struct FlightSuretyApp.Oracle memory"}},"src":"13647:68:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":702,"nodeType":"ExpressionStatement","src":"13647:68:0"}]},"functionSelector":"339d2590","id":704,"implemented":true,"kind":"function","modifiers":[],"name":"registerOracle","nameLocation":"13416:14:0","nodeType":"FunctionDefinition","parameters":{"id":672,"nodeType":"ParameterList","parameters":[],"src":"13430:2:0"},"returnParameters":{"id":673,"nodeType":"ParameterList","parameters":[],"src":"13450:0:0"},"scope":996,"src":"13407:316:0","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":726,"nodeType":"Block","src":"13795:175:0","statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":712,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"13828:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":715,"indexExpression":{"expression":{"id":713,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13836:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13836:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13828:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":716,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":616,"src":"13828:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f74207265676973746572656420617320616e206f7261636c65","id":717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13875:29:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","typeString":"literal_string \\"Not registered as an oracle\\""},"value":"Not registered as an oracle"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","typeString":"literal_string \\"Not registered as an oracle\\""}],"id":711,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"13806:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13806:109:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":719,"nodeType":"ExpressionStatement","src":"13806:109:0"},{"expression":{"expression":{"baseExpression":{"id":720,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"13935:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":723,"indexExpression":{"expression":{"id":721,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"13943:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"13943:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13935:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":620,"src":"13935:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"functionReturnParameters":710,"id":725,"nodeType":"Return","src":"13928:34:0"}]},"functionSelector":"5f1cc0e6","id":727,"implemented":true,"kind":"function","modifiers":[],"name":"getMyIndexes","nameLocation":"13740:12:0","nodeType":"FunctionDefinition","parameters":{"id":705,"nodeType":"ParameterList","parameters":[],"src":"13752:2:0"},"returnParameters":{"id":710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":727,"src":"13778:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":706,"name":"uint8","nodeType":"ElementaryTypeName","src":"13778:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":708,"length":{"hexValue":"33","id":707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13784:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"13778:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"src":"13777:17:0"},"scope":996,"src":"13731:239:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":839,"nodeType":"Block","src":"14478:1122:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"baseExpression":{"id":741,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"14512:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":744,"indexExpression":{"expression":{"id":742,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"14520:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"14520:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14512:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":745,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":620,"src":"14512:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":747,"indexExpression":{"hexValue":"30","id":746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14540:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14512:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":748,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"14546:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14512:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":750,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14511:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"baseExpression":{"id":751,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"14574:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":754,"indexExpression":{"expression":{"id":752,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"14582:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"14582:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14574:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":620,"src":"14574:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":757,"indexExpression":{"hexValue":"31","id":756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14602:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14574:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":758,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"14608:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14574:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":760,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14573:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14511:103:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"baseExpression":{"id":762,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"14636:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$621_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":765,"indexExpression":{"expression":{"id":763,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"14644:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"14644:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14636:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$621_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":620,"src":"14636:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":768,"indexExpression":{"hexValue":"32","id":767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14664:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14636:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":769,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"14670:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"14636:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":771,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14635:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14511:165:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e64657820646f6573206e6f74206d61746368206f7261636c652072657175657374","id":773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14691:37:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","typeString":"literal_string \\"Index does not match oracle request\\""},"value":"Index does not match oracle request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","typeString":"literal_string \\"Index does not match oracle request\\""}],"id":740,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"14489:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14489:250:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":775,"nodeType":"ExpressionStatement","src":"14489:250:0"},{"assignments":[777],"declarations":[{"constant":false,"id":777,"mutability":"mutable","name":"key","nameLocation":"14760:3:0","nodeType":"VariableDeclaration","scope":839,"src":"14752:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14752:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":787,"initialValue":{"arguments":[{"arguments":[{"id":781,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"14807:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":782,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"14814:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":783,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":733,"src":"14823:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":784,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":735,"src":"14831:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"14790:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"14790:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14790:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":778,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"14766:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14766:86:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"14752:100:0"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":789,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"14885:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":791,"indexExpression":{"id":790,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"14901:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14885:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isOpen","nodeType":"MemberAccess","referencedDeclaration":630,"src":"14885:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"466c69676874206f722074696d657374616d7020646f206e6f74206d61746368206f7261636c652072657175657374","id":793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14927:49:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","typeString":"literal_string \\"Flight or timestamp do not match oracle request\\""},"value":"Flight or timestamp do not match oracle request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","typeString":"literal_string \\"Flight or timestamp do not match oracle request\\""}],"id":788,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"14863:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14863:124:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":795,"nodeType":"ExpressionStatement","src":"14863:124:0"},{"expression":{"arguments":[{"expression":{"id":803,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"15048:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"15048:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"expression":{"baseExpression":{"id":796,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"15000:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":798,"indexExpression":{"id":797,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"15016:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15000:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":799,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"responses","nodeType":"MemberAccess","referencedDeclaration":635,"src":"15000:30:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[] storage ref)"}},"id":801,"indexExpression":{"id":800,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15031:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15000:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"15000:47:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15000:59:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":806,"nodeType":"ExpressionStatement","src":"15000:59:0"},{"eventCall":{"arguments":[{"id":808,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"15231:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":809,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":733,"src":"15240:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":810,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":735,"src":"15248:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":811,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15259:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":807,"name":"OracleReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":661,"src":"15218:12:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15218:52:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":813,"nodeType":"EmitStatement","src":"15213:57:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":814,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"15299:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$636_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":816,"indexExpression":{"id":815,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"15315:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15299:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$636_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":817,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"responses","nodeType":"MemberAccess","referencedDeclaration":635,"src":"15299:30:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[] storage ref)"}},"id":819,"indexExpression":{"id":818,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15330:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15299:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15299:49:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":821,"name":"MIN_RESPONSES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":614,"src":"15352:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15299:66:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":838,"nodeType":"IfStatement","src":"15281:312:0","trueBody":{"id":837,"nodeType":"Block","src":"15377:216:0","statements":[{"eventCall":{"arguments":[{"id":824,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"15414:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":825,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":733,"src":"15423:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":826,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":735,"src":"15431:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":827,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15442:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":823,"name":"FlightStatusInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":651,"src":"15397:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15397:56:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":829,"nodeType":"EmitStatement","src":"15392:61:0"},{"expression":{"arguments":[{"id":831,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"15542:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":832,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":733,"src":"15551:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":833,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":735,"src":"15559:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":834,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"15570:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":830,"name":"processFlightStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":554,"src":"15522:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15522:59:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":836,"nodeType":"ExpressionStatement","src":"15522:59:0"}]}}]},"functionSelector":"c10f2700","id":840,"implemented":true,"kind":"function","modifiers":[],"name":"submitOracleResponse","nameLocation":"14307:20:0","nodeType":"FunctionDefinition","parameters":{"id":738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":729,"mutability":"mutable","name":"index","nameLocation":"14344:5:0","nodeType":"VariableDeclaration","scope":840,"src":"14338:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":728,"name":"uint8","nodeType":"ElementaryTypeName","src":"14338:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":731,"mutability":"mutable","name":"airline","nameLocation":"14368:7:0","nodeType":"VariableDeclaration","scope":840,"src":"14360:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":730,"name":"address","nodeType":"ElementaryTypeName","src":"14360:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":733,"mutability":"mutable","name":"flight","nameLocation":"14400:6:0","nodeType":"VariableDeclaration","scope":840,"src":"14386:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":732,"name":"string","nodeType":"ElementaryTypeName","src":"14386:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":735,"mutability":"mutable","name":"timestamp","nameLocation":"14425:9:0","nodeType":"VariableDeclaration","scope":840,"src":"14417:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":734,"name":"uint256","nodeType":"ElementaryTypeName","src":"14417:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":737,"mutability":"mutable","name":"statusCode","nameLocation":"14451:10:0","nodeType":"VariableDeclaration","scope":840,"src":"14445:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":736,"name":"uint8","nodeType":"ElementaryTypeName","src":"14445:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"14327:141:0"},"returnParameters":{"id":739,"nodeType":"ParameterList","parameters":[],"src":"14478:0:0"},"scope":996,"src":"14298:1302:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":860,"nodeType":"Block","src":"15754:81:0","statements":[{"expression":{"arguments":[{"arguments":[{"id":854,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":842,"src":"15799:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":855,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":844,"src":"15808:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":856,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":846,"src":"15816:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":852,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"15782:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15782:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15782:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":851,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"15772:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15772:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":850,"id":859,"nodeType":"Return","src":"15765:62:0"}]},"id":861,"implemented":true,"kind":"function","modifiers":[],"name":"getFlightKey","nameLocation":"15617:12:0","nodeType":"FunctionDefinition","parameters":{"id":847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":842,"mutability":"mutable","name":"airline","nameLocation":"15648:7:0","nodeType":"VariableDeclaration","scope":861,"src":"15640:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"15640:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":844,"mutability":"mutable","name":"flight","nameLocation":"15680:6:0","nodeType":"VariableDeclaration","scope":861,"src":"15666:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":843,"name":"string","nodeType":"ElementaryTypeName","src":"15666:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":846,"mutability":"mutable","name":"timestamp","nameLocation":"15705:9:0","nodeType":"VariableDeclaration","scope":861,"src":"15697:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":845,"name":"uint256","nodeType":"ElementaryTypeName","src":"15697:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15629:92:0"},"returnParameters":{"id":850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":861,"src":"15745:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15745:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15744:9:0"},"scope":996,"src":"15608:227:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":947,"nodeType":"Block","src":"16008:432:0","statements":[{"assignments":[875],"declarations":[{"constant":false,"id":875,"mutability":"mutable","name":"indexes","nameLocation":"16035:7:0","nodeType":"VariableDeclaration","scope":947,"src":"16019:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":873,"name":"uint8","nodeType":"ElementaryTypeName","src":"16019:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":874,"length":{"hexValue":"33","id":872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16025:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"16019:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"id":876,"nodeType":"VariableDeclarationStatement","src":"16019:23:0"},{"expression":{"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":877,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16053:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":879,"indexExpression":{"hexValue":"30","id":878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16061:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16053:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":881,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":863,"src":"16081:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":880,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16066:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16053:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":884,"nodeType":"ExpressionStatement","src":"16053:36:0"},{"expression":{"id":891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":885,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16102:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":887,"indexExpression":{"hexValue":"31","id":886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16110:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16102:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":888,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16115:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":890,"indexExpression":{"hexValue":"30","id":889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16123:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16115:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16102:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":892,"nodeType":"ExpressionStatement","src":"16102:23:0"},{"body":{"id":908,"nodeType":"Block","src":"16169:63:0","statements":[{"expression":{"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":900,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16184:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":902,"indexExpression":{"hexValue":"31","id":901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16192:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16184:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":904,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":863,"src":"16212:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":903,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"16197:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16197:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16184:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":907,"nodeType":"ExpressionStatement","src":"16184:36:0"}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":893,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16143:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":895,"indexExpression":{"hexValue":"31","id":894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16151:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16143:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":896,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16157:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":898,"indexExpression":{"hexValue":"30","id":897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16165:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16157:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16143:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":909,"nodeType":"WhileStatement","src":"16136:96:0"},{"expression":{"id":916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":910,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16244:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":912,"indexExpression":{"hexValue":"32","id":911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16252:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16244:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":913,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16257:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":915,"indexExpression":{"hexValue":"31","id":914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16265:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16257:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16244:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":917,"nodeType":"ExpressionStatement","src":"16244:23:0"},{"body":{"id":943,"nodeType":"Block","src":"16343:63:0","statements":[{"expression":{"id":941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":935,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16358:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":937,"indexExpression":{"hexValue":"32","id":936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16366:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16358:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":939,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":863,"src":"16386:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":938,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"16371:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16371:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16358:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":942,"nodeType":"ExpressionStatement","src":"16358:36:0"}]},"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":918,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16286:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":920,"indexExpression":{"hexValue":"32","id":919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16294:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16286:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":921,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16300:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":923,"indexExpression":{"hexValue":"30","id":922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16308:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16300:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16286:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":925,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16285:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":926,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16316:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":928,"indexExpression":{"hexValue":"32","id":927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16324:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16316:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":929,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16330:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":931,"indexExpression":{"hexValue":"31","id":930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16338:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16330:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16316:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":933,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16315:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16285:56:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":944,"nodeType":"WhileStatement","src":"16278:128:0"},{"expression":{"id":945,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"16425:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"functionReturnParameters":869,"id":946,"nodeType":"Return","src":"16418:14:0"}]},"id":948,"implemented":true,"kind":"function","modifiers":[],"name":"generateIndexes","nameLocation":"15917:15:0","nodeType":"FunctionDefinition","parameters":{"id":864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":863,"mutability":"mutable","name":"account","nameLocation":"15941:7:0","nodeType":"VariableDeclaration","scope":948,"src":"15933:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":862,"name":"address","nodeType":"ElementaryTypeName","src":"15933:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15932:17:0"},"returnParameters":{"id":869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":868,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":948,"src":"15986:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":865,"name":"uint8","nodeType":"ElementaryTypeName","src":"15986:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":867,"length":{"hexValue":"33","id":866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15992:1:0","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"ArrayTypeName","src":"15986:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"visibility":"internal"}],"src":"15985:17:0"},"scope":996,"src":"15908:532:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":994,"nodeType":"Block","src":"16579:486:0","statements":[{"assignments":[956],"declarations":[{"constant":false,"id":956,"mutability":"mutable","name":"maxValue","nameLocation":"16596:8:0","nodeType":"VariableDeclaration","scope":994,"src":"16590:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":955,"name":"uint8","nodeType":"ElementaryTypeName","src":"16590:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":958,"initialValue":{"hexValue":"3130","id":957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16607:2:0","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"VariableDeclarationStatement","src":"16590:19:0"},{"assignments":[960],"declarations":[{"constant":false,"id":960,"mutability":"mutable","name":"random","nameLocation":"16701:6:0","nodeType":"VariableDeclaration","scope":994,"src":"16695:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":959,"name":"uint8","nodeType":"ElementaryTypeName","src":"16695:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":982,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":969,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967292,"src":"16815:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"16815:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16830:7:0","subExpression":{"id":971,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"16830:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16815:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":968,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967291,"src":"16805:9:0","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16805:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":975,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"16840:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967295,"src":"16788:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"16788:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16788:60:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":965,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967288,"src":"16756:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16756:111:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":963,"name":"uint256","nodeType":"ElementaryTypeName","src":"16730:7:0","typeDescriptions":{}}},"id":978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16730:152:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":979,"name":"maxValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"16885:8:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16730:163:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16710:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":961,"name":"uint8","nodeType":"ElementaryTypeName","src":"16710:5:0","typeDescriptions":{}}},"id":981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16710:194:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"16695:209:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":983,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"16921:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"323530","id":984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16929:3:0","typeDescriptions":{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},"value":"250"},"src":"16921:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":991,"nodeType":"IfStatement","src":"16917:115:0","trueBody":{"id":990,"nodeType":"Block","src":"16934:98:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":986,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"16949:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16957:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16949:9:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":989,"nodeType":"ExpressionStatement","src":"16949:9:0"}]}},{"expression":{"id":992,"name":"random","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":960,"src":"17051:6:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":954,"id":993,"nodeType":"Return","src":"17044:13:0"}]},"id":995,"implemented":true,"kind":"function","modifiers":[],"name":"getRandomIndex","nameLocation":"16522:14:0","nodeType":"FunctionDefinition","parameters":{"id":951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"account","nameLocation":"16545:7:0","nodeType":"VariableDeclaration","scope":995,"src":"16537:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":949,"name":"address","nodeType":"ElementaryTypeName","src":"16537:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16536:17:0"},"returnParameters":{"id":954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":953,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":995,"src":"16572:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":952,"name":"uint8","nodeType":"ElementaryTypeName","src":"16572:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16571:7:0"},"scope":996,"src":"16513:552:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":997,"src":"633:16455:0"}],"src":"33:17057:0"},"compiler":{"name":"solc","version":"0.8.3+commit.8d00100c.Emscripten.clang"},"networks":{"5777":{"events":{},"links":{},"address":"0xc9b8648b3b1FB77cFa7316eAde3dEfcF9D1e43E5","transactionHash":"0x233304228662c0907f5be9a3fc52b76937e80815720c551ee4771eee1e4a41c7"}},"schemaVersion":"3.4.3","updatedAt":"2021-11-19T18:19:11.085Z","devdoc":{"kind":"dev","methods":{"constructor":{"details":"Contract constructor"},"creditPassenger(uint256,address)":{"details":"Transfers eligible payout funds to insuree"},"processFlightStatus(address,string,uint256,uint8)":{"details":"Called after oracle has updated flight status"},"registerAirline(address)":{"details":"Add an airline to the registration queue"},"registerFlight(uint256,address)":{"details":"Register a future flight for insuring."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}}')}};